# HG changeset patch # User Marcin Lulek # Date 2016-09-01 10:03:44 # Node ID 1eb83256a19e6fcee34c66872c14992ded96589b # Parent 37e604ac673b62e6351445716193f6bb809c0c68 notifications: store notification status in channelstream diff --git a/rhodecode/controllers/admin/my_account.py b/rhodecode/controllers/admin/my_account.py --- a/rhodecode/controllers/admin/my_account.py +++ b/rhodecode/controllers/admin/my_account.py @@ -365,9 +365,7 @@ class MyAccountController(BaseController @jsonify def my_notifications_toggle_visibility(self): user = c.rhodecode_user.get_instance() - user_data = user.user_data - status = user_data.get('notification_status', False) - user_data['notification_status'] = not status - user.user_data = user_data + new_status = not user.user_data.get('notification_status', True) + user.update_userdata(notification_status=new_status) Session().commit() - return user_data['notification_status'] + return user.user_data['notification_status'] diff --git a/rhodecode/lib/channelstream.py b/rhodecode/lib/channelstream.py --- a/rhodecode/lib/channelstream.py +++ b/rhodecode/lib/channelstream.py @@ -84,6 +84,7 @@ def get_user_data(user_id): 'icon_link': h.gravatar_url(user.email, 14), 'display_name': h.person(user, 'username_or_name_or_email'), 'display_link': h.link_to_user(user), + 'notifications': user.user_data.get('notification_status', True) } diff --git a/rhodecode/model/user.py b/rhodecode/model/user.py --- a/rhodecode/model/user.py +++ b/rhodecode/model/user.py @@ -314,6 +314,7 @@ class UserModel(BaseModel): new_user.update_userdata(force_password_change=True) if language: new_user.update_userdata(language=language) + new_user.update_userdata(notification_status=True) self.sa.add(new_user)