Revision ea1e5d9f snf-astakos-app/astakos/im/functions.py
b/snf-astakos-app/astakos/im/functions.py | ||
---|---|---|
440 | 440 |
|
441 | 441 |
def get_project_for_update(project_id): |
442 | 442 |
try: |
443 |
return Project.objects.select_for_update().get(id=project_id)
|
|
443 |
return Project.objects.get_for_update(id=project_id)
|
|
444 | 444 |
except Project.DoesNotExist: |
445 | 445 |
raise IOError( |
446 | 446 |
_(astakos_messages.UNKNOWN_PROJECT_ID) % project_id) |
447 | 447 |
|
448 | 448 |
def get_application_for_update(application_id): |
449 | 449 |
try: |
450 |
objects = ProjectApplication.objects.select_for_update() |
|
451 |
return objects.get(id=application_id) |
|
450 |
return ProjectApplication.objects.get_for_update(id=application_id) |
|
452 | 451 |
except ProjectApplication.DoesNotExist: |
453 | 452 |
m = _(astakos_messages.UNKNOWN_PROJECT_APPLICATION_ID) % application_id |
454 | 453 |
raise IOError(m) |
... | ... | |
488 | 487 |
if isinstance(user, (int, long)): |
489 | 488 |
user = get_user_by_id(user) |
490 | 489 |
try: |
491 |
sfu = ProjectMembership.objects.select_for_update()
|
|
492 |
m = sfu.get(project=project, person=user)
|
|
490 |
objs = ProjectMembership.objects
|
|
491 |
m = objs.get_for_update(project=project, person=user)
|
|
493 | 492 |
if m.is_pending: |
494 | 493 |
raise PendingMembershipError() |
495 | 494 |
return m |
... | ... | |
684 | 683 |
precursor = None |
685 | 684 |
precursor_id = kw.get('precursor_application', None) |
686 | 685 |
if precursor_id is not None: |
687 |
sfu = ProjectApplication.objects.select_for_update()
|
|
688 |
precursor = sfu.get(id=precursor_id)
|
|
686 |
objs = ProjectApplication.objects
|
|
687 |
precursor = objs.get_for_update(id=precursor_id)
|
|
689 | 688 |
kw['precursor_application'] = precursor |
690 | 689 |
|
691 | 690 |
if (request_user and |
... | ... | |
702 | 701 |
else: |
703 | 702 |
chain = precursor.chain |
704 | 703 |
application.chain = chain |
705 |
sfu = ProjectApplication.objects.select_for_update() |
|
706 |
pending = sfu.filter(chain=chain, state=ProjectApplication.PENDING) |
|
704 |
objs = ProjectApplication.objects |
|
705 |
q = objs.filter(chain=chain, state=ProjectApplication.PENDING) |
|
706 |
pending = q.select_for_update() |
|
707 | 707 |
for app in pending: |
708 | 708 |
app.state = ProjectApplication.REPLACED |
709 | 709 |
app.save() |
... | ... | |
749 | 749 |
def approve_application(app_id): |
750 | 750 |
|
751 | 751 |
try: |
752 |
objects = ProjectApplication.objects.select_for_update()
|
|
753 |
application = objects.get(id=app_id) |
|
752 |
objects = ProjectApplication.objects |
|
753 |
application = objects.get_for_update(id=app_id)
|
|
754 | 754 |
except ProjectApplication.DoesNotExist: |
755 | 755 |
m = _(astakos_messages.UNKNOWN_PROJECT_APPLICATION_ID % (app_id,)) |
756 | 756 |
raise PermissionDenied(m) |
Also available in: Unified diff