Revision 15ca2bea snf-astakos-app/astakos/im/functions.py
b/snf-astakos-app/astakos/im/functions.py | ||
---|---|---|
67 | 67 |
from astakos.im.models import ( |
68 | 68 |
AstakosUser, ProjectMembership, ProjectApplication, Project, |
69 | 69 |
trigger_sync) |
70 |
from astakos.im.models import submit_application as models_submit_application |
|
70 | 71 |
|
71 | 72 |
import astakos.im.messages as astakos_messages |
72 | 73 |
|
... | ... | |
646 | 647 |
return membership |
647 | 648 |
|
648 | 649 |
def submit_application(**kw): |
649 |
precursor_id = kw.pop('precursor_application', None) |
|
650 |
|
|
651 |
precursor_id = kw.get('precursor_application', None) |
|
650 | 652 |
if precursor_id is not None: |
651 |
app = ProjectApplication.objects.get(id=precursor_id) |
|
652 |
app.id = None |
|
653 |
app.precursor_application_id = precursor_id |
|
654 |
else: |
|
655 |
app = ProjectApplication() |
|
653 |
sfu = ProjectApplication.objects.select_for_update() |
|
654 |
precursor = sfu.get(id=precursor_id) |
|
655 |
kw['precursor_application'] = precursor |
|
656 | 656 |
|
657 |
app.state = app.PENDING |
|
658 |
app.issue_date = datetime.now() |
|
659 |
|
|
660 |
resource_policies = kw.pop('resource_policies', None) |
|
661 |
for k, v in kw.iteritems(): |
|
662 |
setattr(app, k, v) |
|
663 |
app.save() |
|
664 |
app.resource_policies = resource_policies |
|
657 |
application = models_submit_application(**kw) |
|
665 | 658 |
|
666 | 659 |
try: |
667 | 660 |
notification = build_notification( |
... | ... | |
673 | 666 |
notification.send() |
674 | 667 |
except NotificationError, e: |
675 | 668 |
logger.error(e) |
676 |
return app.id |
|
669 |
return application.id
|
|
677 | 670 |
|
678 | 671 |
def update_application(app_id, **kw): |
679 | 672 |
app = ProjectApplication.objects.get(id=app_id) |
Also available in: Unified diff