Lines 83-89
def get_computer_class(computer_type):
|
Link Here
|
---|
|
83 |
}.get(computer_type, SchoolComputer) |
83 |
}.get(computer_type, SchoolComputer) |
84 |
|
84 |
|
85 |
|
85 |
|
86 |
def iter_objects_in_request(request): |
86 |
def iter_objects_in_request(request, lo): |
87 |
klass = { |
87 |
klass = { |
88 |
'schoolwizards/schools': School, |
88 |
'schoolwizards/schools': School, |
89 |
'schoolwizards/users': User, |
89 |
'schoolwizards/users': User, |
Lines 106-112
def iter_objects_in_request(request):
|
Link Here
|
---|
|
106 |
if issubclass(klass, SchoolClass): |
106 |
if issubclass(klass, SchoolClass): |
107 |
# workaround to be able to reuse this function everywhere |
107 |
# workaround to be able to reuse this function everywhere |
108 |
obj_props['name'] = '%s-%s' % (obj_props['school'], obj_props['name']) |
108 |
obj_props['name'] = '%s-%s' % (obj_props['school'], obj_props['name']) |
109 |
obj = klass(**obj_props) |
109 |
if dn: |
|
|
110 |
obj = klass.from_dn(dn, obj_props.get('school'), lo) |
111 |
for key, value in obj_props.iteritems(): |
112 |
if key in obj._attributes: |
113 |
setattr(obj, key, value) |
114 |
else: |
115 |
obj = klass(**obj_props) |
110 |
if dn: |
116 |
if dn: |
111 |
obj.old_dn = dn |
117 |
obj.old_dn = dn |
112 |
yield obj |
118 |
yield obj |
Lines 169-175
def share_servers(self, request, ldap_user_read=None):
|
Link Here
|
---|
|
169 |
@LDAP_Connection() |
175 |
@LDAP_Connection() |
170 |
def _get_obj(self, request, ldap_user_read=None): |
176 |
def _get_obj(self, request, ldap_user_read=None): |
171 |
ret = [] |
177 |
ret = [] |
172 |
for obj in iter_objects_in_request(request): |
178 |
for obj in iter_objects_in_request(request, ldap_user_read): |
173 |
MODULE.process('Getting %r' % (obj)) |
179 |
MODULE.process('Getting %r' % (obj)) |
174 |
obj = obj.from_dn(obj.old_dn, obj.school, ldap_user_read) |
180 |
obj = obj.from_dn(obj.old_dn, obj.school, ldap_user_read) |
175 |
ret.append(obj.to_dict()) |
181 |
ret.append(obj.to_dict()) |
Lines 179-185
def _get_obj(self, request, ldap_user_read=None):
|
Link Here
|
---|
|
179 |
@LDAP_Connection(USER_READ, USER_WRITE) |
185 |
@LDAP_Connection(USER_READ, USER_WRITE) |
180 |
def _create_obj(self, request, ldap_user_read=None, ldap_user_write=None): |
186 |
def _create_obj(self, request, ldap_user_read=None, ldap_user_write=None): |
181 |
ret = [] |
187 |
ret = [] |
182 |
for obj in iter_objects_in_request(request): |
188 |
for obj in iter_objects_in_request(request, ldap_user_write): |
183 |
MODULE.process('Creating %r' % (obj,)) |
189 |
MODULE.process('Creating %r' % (obj,)) |
184 |
obj.validate(ldap_user_read) |
190 |
obj.validate(ldap_user_read) |
185 |
if obj.errors: |
191 |
if obj.errors: |
Lines 200-206
def _create_obj(self, request, ldap_user_read=None, ldap_user_write=None):
|
Link Here
|
---|
|
200 |
@LDAP_Connection(USER_READ, USER_WRITE) |
206 |
@LDAP_Connection(USER_READ, USER_WRITE) |
201 |
def _modify_obj(self, request, ldap_user_read=None, ldap_user_write=None): |
207 |
def _modify_obj(self, request, ldap_user_read=None, ldap_user_write=None): |
202 |
ret = [] |
208 |
ret = [] |
203 |
for obj in iter_objects_in_request(request): |
209 |
for obj in iter_objects_in_request(request, ldap_user_write): |
204 |
MODULE.process('Modifying %r' % (obj)) |
210 |
MODULE.process('Modifying %r' % (obj)) |
205 |
obj.validate(ldap_user_read) |
211 |
obj.validate(ldap_user_read) |
206 |
if obj.errors: |
212 |
if obj.errors: |
Lines 218-224
def _modify_obj(self, request, ldap_user_read=None, ldap_user_write=None):
|
Link Here
|
---|
|
218 |
@LDAP_Connection(USER_READ, USER_WRITE) |
224 |
@LDAP_Connection(USER_READ, USER_WRITE) |
219 |
def _delete_obj(self, request, ldap_user_read=None, ldap_user_write=None): |
225 |
def _delete_obj(self, request, ldap_user_read=None, ldap_user_write=None): |
220 |
ret = [] |
226 |
ret = [] |
221 |
for obj in iter_objects_in_request(request): |
227 |
for obj in iter_objects_in_request(request, ldap_user_write): |
222 |
obj.name = obj.get_name_from_dn(obj.old_dn) |
228 |
obj.name = obj.get_name_from_dn(obj.old_dn) |
223 |
MODULE.process('Deleting %r' % (obj)) |
229 |
MODULE.process('Deleting %r' % (obj)) |
224 |
if obj.remove(ldap_user_write): |
230 |
if obj.remove(ldap_user_write): |
Lines 252-258
def get_users(self, request, ldap_user_read=None):
|
Link Here
|
---|
|
252 |
@LDAP_Connection(USER_READ, USER_WRITE) |
258 |
@LDAP_Connection(USER_READ, USER_WRITE) |
253 |
def delete_user(self, request, ldap_user_read=None, ldap_user_write=None): |
259 |
def delete_user(self, request, ldap_user_read=None, ldap_user_write=None): |
254 |
ret = [] |
260 |
ret = [] |
255 |
for i, obj in enumerate(iter_objects_in_request(request)): |
261 |
for i, obj in enumerate(iter_objects_in_request(request, ldap_user_write)): |
256 |
school = request.options[i]['object']['school'] |
262 |
school = request.options[i]['object']['school'] |
257 |
obj = obj.from_dn(obj.old_dn, obj.school, ldap_user_write) |
263 |
obj = obj.from_dn(obj.old_dn, obj.school, ldap_user_write) |
258 |
success = obj.remove_from_school(school, ldap_user_write) |
264 |
success = obj.remove_from_school(school, ldap_user_write) |