comparison rhodecode/model/user.py @ 4016:cce2d984b001

User create/delete hooks for rcextensions. When a user is created or deleted, the CREATE_USER_HOOK or DELETE_USER_HOOK are called as part of the log_create_user and log_delete_user functions respectively. This is similar to the existing log_create_repository and log_delete_repository functions that already exist as part of the rcextensions module.
author Jonathan Sternberg <jonathansternberg@gmail.com>
date Mon, 17 Jun 2013 18:09:50 -0400
parents 5293d4bbb1ea
children 509923dac48d
comparison
equal deleted inserted replaced
4015:669721d1fe65 4016:cce2d984b001
92 k = 'name' 92 k = 'name'
93 setattr(new_user, k, v) 93 setattr(new_user, k, v)
94 94
95 new_user.api_key = generate_api_key(form_data['username']) 95 new_user.api_key = generate_api_key(form_data['username'])
96 self.sa.add(new_user) 96 self.sa.add(new_user)
97
98 from rhodecode.lib.hooks import log_create_user
99 log_create_user(new_user.get_dict())
97 return new_user 100 return new_user
98 except Exception: 101 except Exception:
99 log.error(traceback.format_exc()) 102 log.error(traceback.format_exc())
100 raise 103 raise
101 104
139 new_user.active = active 142 new_user.active = active
140 new_user.ldap_dn = safe_unicode(ldap_dn) if ldap_dn else None 143 new_user.ldap_dn = safe_unicode(ldap_dn) if ldap_dn else None
141 new_user.name = firstname 144 new_user.name = firstname
142 new_user.lastname = lastname 145 new_user.lastname = lastname
143 self.sa.add(new_user) 146 self.sa.add(new_user)
147
148 if not edit:
149 from rhodecode.lib.hooks import log_create_user
150 log_create_user(new_user.get_dict())
144 return new_user 151 return new_user
145 except (DatabaseError,): 152 except (DatabaseError,):
146 log.error(traceback.format_exc()) 153 log.error(traceback.format_exc())
147 raise 154 raise
148 155
167 new_user.active = attrs.get('active', True) 174 new_user.active = attrs.get('active', True)
168 new_user.name = attrs['name'] or generate_email(username) 175 new_user.name = attrs['name'] or generate_email(username)
169 new_user.lastname = attrs['lastname'] 176 new_user.lastname = attrs['lastname']
170 177
171 self.sa.add(new_user) 178 self.sa.add(new_user)
179
180 from rhodecode.lib.hooks import log_create_user
181 log_create_user(new_user.get_dict())
172 return new_user 182 return new_user
173 except (DatabaseError,): 183 except (DatabaseError,):
174 log.error(traceback.format_exc()) 184 log.error(traceback.format_exc())
175 self.sa.rollback() 185 self.sa.rollback()
176 raise 186 raise
207 new_user.ldap_dn = safe_unicode(user_dn) 217 new_user.ldap_dn = safe_unicode(user_dn)
208 new_user.name = attrs['name'] 218 new_user.name = attrs['name']
209 new_user.lastname = attrs['lastname'] 219 new_user.lastname = attrs['lastname']
210 220
211 self.sa.add(new_user) 221 self.sa.add(new_user)
222
223 from rhodecode.lib.hooks import log_create_user
224 log_create_user(new_user.get_dict())
212 return new_user 225 return new_user
213 except (DatabaseError,): 226 except (DatabaseError,):
214 log.error(traceback.format_exc()) 227 log.error(traceback.format_exc())
215 self.sa.rollback() 228 self.sa.rollback()
216 raise 229 raise
309 _(u'user "%s" still owns %s repositories and cannot be ' 322 _(u'user "%s" still owns %s repositories and cannot be '
310 'removed. Switch owners or remove those repositories. %s') 323 'removed. Switch owners or remove those repositories. %s')
311 % (user.username, len(repos), ', '.join(repos)) 324 % (user.username, len(repos), ', '.join(repos))
312 ) 325 )
313 self.sa.delete(user) 326 self.sa.delete(user)
327
328 from rhodecode.lib.hooks import log_delete_user
329 log_delete_user(user.get_dict())
314 except Exception: 330 except Exception:
315 log.error(traceback.format_exc()) 331 log.error(traceback.format_exc())
316 raise 332 raise
317 333
318 def reset_password_link(self, data): 334 def reset_password_link(self, data):