equal
deleted
inserted
replaced
34 |
34 |
35 we may temporarily loose right access during a commit event, so |
35 we may temporarily loose right access during a commit event, so |
36 no query should be emitted while comitting |
36 no query should be emitted while comitting |
37 """ |
37 """ |
38 rql = 'Any N WHERE G eid %(x)s, G name N' |
38 rql = 'Any N WHERE G eid %(x)s, G name N' |
39 result = session.execute(rql, {'x': kwargs['geid']}, 'x', build_descr=False) |
39 result = session.execute(rql, {'x': kwargs['geid']}, build_descr=False) |
40 hook.Operation.__init__(self, session, *args, **kwargs) |
40 hook.Operation.__init__(self, session, *args, **kwargs) |
41 self.group = result[0][0] |
41 self.group = result[0][0] |
42 |
42 |
43 |
43 |
44 class _DeleteGroupOp(_GroupOperation): |
44 class _DeleteGroupOp(_GroupOperation): |
214 session = self._cw |
214 session = self._cw |
215 eidfrom = self.eidfrom |
215 eidfrom = self.eidfrom |
216 if not session.describe(eidfrom)[0] == 'CWProperty': |
216 if not session.describe(eidfrom)[0] == 'CWProperty': |
217 return |
217 return |
218 key, value = session.execute('Any K,V WHERE P eid %(x)s,P pkey K,P value V', |
218 key, value = session.execute('Any K,V WHERE P eid %(x)s,P pkey K,P value V', |
219 {'x': eidfrom}, 'x')[0] |
219 {'x': eidfrom})[0] |
220 if session.vreg.property_info(key)['sitewide']: |
220 if session.vreg.property_info(key)['sitewide']: |
221 qname = role_name('for_user', 'subject') |
221 qname = role_name('for_user', 'subject') |
222 msg = session._("site-wide property can't be set for user") |
222 msg = session._("site-wide property can't be set for user") |
223 raise ValidationError(eidfrom, |
223 raise ValidationError(eidfrom, |
224 {qname: msg}) |
224 {qname: msg}) |
232 events = ('after_delete_relation',) |
232 events = ('after_delete_relation',) |
233 |
233 |
234 def __call__(self): |
234 def __call__(self): |
235 session = self._cw |
235 session = self._cw |
236 key = session.execute('Any K WHERE P eid %(x)s, P pkey K', |
236 key = session.execute('Any K WHERE P eid %(x)s, P pkey K', |
237 {'x': self.eidfrom}, 'x')[0][0] |
237 {'x': self.eidfrom})[0][0] |
238 session.transaction_data.setdefault('pendingrelations', []).append( |
238 session.transaction_data.setdefault('pendingrelations', []).append( |
239 (self.eidfrom, self.rtype, self.eidto)) |
239 (self.eidfrom, self.rtype, self.eidto)) |
240 for session_ in get_user_sessions(session.repo, self.eidto): |
240 for session_ in get_user_sessions(session.repo, self.eidto): |
241 _DelCWPropertyOp(session, cwpropdict=session_.user.properties, key=key) |
241 _DelCWPropertyOp(session, cwpropdict=session_.user.properties, key=key) |