Revision e7cb4085 snf-astakos-app/astakos/im/management/commands/user-modify.py
b/snf-astakos-app/astakos/im/management/commands/user-modify.py | ||
---|---|---|
31 | 31 |
# interpreted as representing official policies, either expressed |
32 | 32 |
# or implied, of GRNET S.A. |
33 | 33 |
|
34 |
import string |
|
35 |
|
|
34 | 36 |
from optparse import make_option |
35 | 37 |
|
36 | 38 |
from django.core.management.base import BaseCommand, CommandError |
... | ... | |
38 | 40 |
from django.core.exceptions import ValidationError |
39 | 41 |
|
40 | 42 |
from astakos.im.models import AstakosUser |
41 |
from astakos.im.functions import (activate, deactivate) |
|
42 | 43 |
from astakos.im import quotas |
44 |
from astakos.im import activation_backends |
|
43 | 45 |
from ._common import remove_user_permission, add_user_permission, is_uuid |
44 | 46 |
from snf_django.lib.db.transaction import commit_on_success_strict |
45 |
import string |
|
47 |
|
|
48 |
activation_backend = activation_backends.get_backend() |
|
46 | 49 |
|
47 | 50 |
|
48 | 51 |
class Command(BaseCommand): |
... | ... | |
92 | 95 |
dest='inactive', |
93 | 96 |
default=False, |
94 | 97 |
help="Change user's state to inactive"), |
98 |
make_option('--inactive-reason', |
|
99 |
dest='inactive_reason', |
|
100 |
help="Reason user got inactive"), |
|
95 | 101 |
make_option('--add-group', |
96 | 102 |
dest='add-group', |
97 | 103 |
help="Add user group"), |
... | ... | |
104 | 110 |
make_option('--delete-permission', |
105 | 111 |
dest='delete-permission', |
106 | 112 |
help="Delete user permission"), |
113 |
make_option('--accept', |
|
114 |
dest='accept', |
|
115 |
action='store_true', |
|
116 |
help="Accept user"), |
|
117 |
make_option('--reject', |
|
118 |
dest='reject', |
|
119 |
action='store_true', |
|
120 |
help="Reject user"), |
|
121 |
make_option('--reject-reason', |
|
122 |
dest='reject_reason', |
|
123 |
help="Reason user got rejected"), |
|
107 | 124 |
make_option('--set-base-quota', |
108 | 125 |
dest='set_base_quota', |
109 | 126 |
metavar='<resource> <capacity>', |
... | ... | |
140 | 157 |
elif options.get('noadmin'): |
141 | 158 |
user.is_superuser = False |
142 | 159 |
|
160 |
if options.get('reject'): |
|
161 |
reject_reason = options.get('reject_reason', None) |
|
162 |
res = activation_backend.handle_moderation( |
|
163 |
user, |
|
164 |
accept=False, |
|
165 |
reject_reason=reject_reason) |
|
166 |
activation_backend.send_result_notifications(res, user) |
|
167 |
if res.is_error(): |
|
168 |
print "Failed to reject.", res.message |
|
169 |
else: |
|
170 |
print "Account rejected" |
|
171 |
|
|
172 |
if options.get('accept'): |
|
173 |
res = activation_backend.handle_moderation(user, accept=True) |
|
174 |
activation_backend.send_result_notifications(res, user) |
|
175 |
if res.is_error(): |
|
176 |
print "Failed to accept.", res.message |
|
177 |
else: |
|
178 |
print "Account accepted and activated" |
|
179 |
|
|
143 | 180 |
if options.get('active'): |
144 |
activate(user) |
|
181 |
res = activation_backend.activate_user(user) |
|
182 |
if res.is_error(): |
|
183 |
print "Failed to activate.", res.message |
|
184 |
else: |
|
185 |
print "Account %s activated" % user.username |
|
186 |
|
|
145 | 187 |
elif options.get('inactive'): |
146 |
deactivate(user) |
|
188 |
res = activation_backend.deactivate_user( |
|
189 |
user, |
|
190 |
reason=options.get('inactive_reason', None)) |
|
191 |
if res.is_error(): |
|
192 |
print "Failed to deactivate,", res.message |
|
193 |
else: |
|
194 |
print "Account %s deactivated" % user.username |
|
147 | 195 |
|
148 | 196 |
invitations = options.get('invitations') |
149 | 197 |
if invitations is not None: |
Also available in: Unified diff