def notification_list(request): """User Detail change on Customer UI **Attributes**: * ``form`` - UserChangeDetailForm, UserChangeDetailExtendForm, PasswordChangeForm, CheckPhoneNumberForm * ``template`` - 'frontend/frontend_notification/user_notification.html' **Logic Description**: * User is able to change his/her detail. """ sort_col_field_list = ['description', 'verb', 'level', 'timestamp'] coltitle = { 'description': _("Description"), 'verb': _("Verb"), 'level': _("Level"), 'timestamp': _("Date"), } pag_vars = get_pagination_vars(request, sort_col_field_list, default_sort_field='id') form = NotificationForm(request.POST or None, initial={'notification_list': NOTICE_TYPE.ALL}) # TODO: rename notification_list to type_filter notification_list = NOTICE_TYPE.ALL post_var_with_page = 0 if form.is_valid(): request.session['session_notification_list'] = '' post_var_with_page = 1 if request.POST.get('notification_list'): notification_list = request.POST.get('notification_list') request.session['session_notification_list'] = notification_list if request.GET.get('page') or request.GET.get('sort_by'): post_var_with_page = 1 notification_list = request.session.get('session_notification_list') form = NotificationForm( initial={'notification_list': notification_list}) notification_list = int(notification_list) if post_var_with_page == 0: # unset session var request.session['session_notification_list'] = '' kwargs = {} # kwargs['sender'] = request.user if notification_list == NOTICE_TYPE.UNREAD: kwargs['unread'] = True if notification_list == NOTICE_TYPE.READ: kwargs['unread'] = False user_notification = Notification.objects.filter(recipient=request.user) if kwargs: user_notification = user_notification.filter(**kwargs) all_user_notification = user_notification.order_by(pag_vars['sort_order']) user_notification = all_user_notification[ pag_vars['start_page']:pag_vars['end_page']] user_notification_count = all_user_notification.count() msg_note = '' if request.GET.get('msg_note') == 'true': msg_note = request.session['msg_note'] # Mark all notification as read if request.GET.get('notification') == 'mark_read_all': notification_list = Notification.objects.filter(unread=True, recipient=request.user) notification_list.update(unread=False) msg_note = _('all notifications are marked as read.') data = { 'coltitle': coltitle, 'form': form, 'msg_note': msg_note, 'all_user_notification': all_user_notification, 'user_notification': user_notification, 'user_notification_count': user_notification_count, 'col_name_with_order': pag_vars['col_name_with_order'], } return render_to_response( 'frontend/frontend_notification/user_notification.html', data, context_instance=RequestContext(request))
def notification_list(request): """User Detail change on Customer UI **Attributes**: * ``form`` - UserChangeDetailForm, UserChangeDetailExtendForm, PasswordChangeForm, CheckPhoneNumberForm * ``template`` - 'frontend/frontend_notification/user_notification.html' **Logic Description**: * User is able to change his/her detail. """ sort_col_field_list = ['description', 'verb', 'level', 'timestamp'] coltitle = { 'description': _("Description"), 'verb': _("Verb"), 'level': _("Level"), 'timestamp': _("Date"), } pag_vars = get_pagination_vars(request, sort_col_field_list, default_sort_field='id') form = NotificationForm(request.POST or None, initial={'notification_list': NOTICE_TYPE.ALL}) # TODO: rename notification_list to type_filter notification_list = NOTICE_TYPE.ALL post_var_with_page = 0 if form.is_valid(): request.session['session_notification_list'] = '' post_var_with_page = 1 if request.POST.get('notification_list'): notification_list = request.POST.get('notification_list') request.session['session_notification_list'] = notification_list if request.GET.get('page') or request.GET.get('sort_by'): post_var_with_page = 1 notification_list = request.session.get('session_notification_list') form = NotificationForm(initial={'notification_list': notification_list}) notification_list = int(notification_list) if post_var_with_page == 0: # unset session var request.session['session_notification_list'] = '' kwargs = {} # kwargs['sender'] = request.user if notification_list == NOTICE_TYPE.UNREAD: kwargs['unread'] = True if notification_list == NOTICE_TYPE.READ: kwargs['unread'] = False user_notification = Notification.objects.filter(recipient=request.user) if kwargs: user_notification = user_notification.filter(**kwargs) all_user_notification = user_notification.order_by(pag_vars['sort_order']) user_notification = all_user_notification[pag_vars['start_page']:pag_vars['end_page']] user_notification_count = all_user_notification.count() msg_note = '' if request.GET.get('msg_note') == 'true': msg_note = request.session['msg_note'] # Mark all notification as read if request.GET.get('notification') == 'mark_read_all': notification_list = Notification.objects.filter(unread=True, recipient=request.user) notification_list.update(unread=False) msg_note = _('all notifications are marked as read.') data = { 'coltitle': coltitle, 'form': form, 'msg_note': msg_note, 'all_user_notification': all_user_notification, 'user_notification': user_notification, 'user_notification_count': user_notification_count, 'col_name_with_order': pag_vars['col_name_with_order'], } return render_to_response( 'frontend/frontend_notification/user_notification.html', data, context_instance=RequestContext(request))