Revision eb9ff37a snf-astakos-app/astakos/im/management/commands/project-update.py
b/snf-astakos-app/astakos/im/management/commands/project-update.py | ||
---|---|---|
41 | 41 |
from astakos.im.models import ( |
42 | 42 |
ProjectApplication, Project) |
43 | 43 |
|
44 |
@transaction.commit_on_success |
|
44 |
from astakos.im.functions import terminate, suspend |
|
45 |
|
|
46 |
@transaction.commit_manually |
|
45 | 47 |
class Command(BaseCommand): |
46 | 48 |
args = "<project id>" |
47 | 49 |
help = "Update project state" |
... | ... | |
69 | 71 |
raise CommandError('Invalid id') |
70 | 72 |
else: |
71 | 73 |
try: |
72 |
# Is it a project id? |
|
73 |
p = lookup_object(Project, id, None, None) |
|
74 |
except Http404: |
|
75 |
raise CommandError('Invalid id') |
|
74 |
if options['terminate']: |
|
75 |
terminate(id) |
|
76 |
elif options['suspend']: |
|
77 |
suspend(id) |
|
78 |
except BaseException, e: |
|
79 |
transaction.rollback() |
|
80 |
raise CommandError(e) |
|
76 | 81 |
else: |
77 |
try: |
|
78 |
if options['terminate']: |
|
79 |
p.terminate() |
|
80 |
elif options['suspend']: |
|
81 |
p.suspend() |
|
82 |
except BaseException, e: |
|
83 |
raise CommandError(e) |
|
82 |
transaction.commit() |
Also available in: Unified diff