comparison rhodecode/model/user.py @ 2479:9225597688f4 beta

Added validation into user email map
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 18 Jun 2012 21:25:49 +0200
parents 8eab81115660
children b5b34d71b23b
comparison
equal deleted inserted replaced
2478:8eab81115660 2479:9225597688f4
27 import traceback 27 import traceback
28 28
29 from pylons import url 29 from pylons import url
30 from pylons.i18n.translation import _ 30 from pylons.i18n.translation import _
31 31
32 from sqlalchemy.exc import DatabaseError
33 from sqlalchemy.orm import joinedload
34
32 from rhodecode.lib.utils2 import safe_unicode, generate_api_key 35 from rhodecode.lib.utils2 import safe_unicode, generate_api_key
33 from rhodecode.lib.caching_query import FromCache 36 from rhodecode.lib.caching_query import FromCache
34
35 from rhodecode.model import BaseModel 37 from rhodecode.model import BaseModel
36 from rhodecode.model.db import User, UserRepoToPerm, Repository, Permission, \ 38 from rhodecode.model.db import User, UserRepoToPerm, Repository, Permission, \
37 UserToPerm, UsersGroupRepoToPerm, UsersGroupToPerm, UsersGroupMember, \ 39 UserToPerm, UsersGroupRepoToPerm, UsersGroupToPerm, UsersGroupMember, \
38 Notification, RepoGroup, UserRepoGroupToPerm, UsersGroupRepoGroupToPerm, \ 40 Notification, RepoGroup, UserRepoGroupToPerm, UsersGroupRepoGroupToPerm, \
39 UserEmailMap 41 UserEmailMap
40 from rhodecode.lib.exceptions import DefaultUserException, \ 42 from rhodecode.lib.exceptions import DefaultUserException, \
41 UserOwnsReposException 43 UserOwnsReposException
42 44
43 from sqlalchemy.exc import DatabaseError
44
45 from sqlalchemy.orm import joinedload
46 45
47 log = logging.getLogger(__name__) 46 log = logging.getLogger(__name__)
48 47
49 48
50 PERM_WEIGHTS = { 49 PERM_WEIGHTS = {
591 Adds email address to UserEmailMap 590 Adds email address to UserEmailMap
592 591
593 :param user: 592 :param user:
594 :param email: 593 :param email:
595 """ 594 """
595 from rhodecode.model import forms
596 form = forms.UserExtraEmailForm()()
597 data = form.to_python(dict(email=email))
596 user = self._get_user(user) 598 user = self._get_user(user)
599
597 obj = UserEmailMap() 600 obj = UserEmailMap()
598 obj.user = user 601 obj.user = user
599 obj.email = email 602 obj.email = data['email']
600 self.sa.add(obj) 603 self.sa.add(obj)
601 return obj 604 return obj
602 605
603 def delete_extra_email(self, user, email_id): 606 def delete_extra_email(self, user, email_id):
604 """ 607 """