def get_context_data(self, **kwargs): context = super(FolderMixin, self).get_context_data(**kwargs) params = {} option = kwargs.get('option') if option: params['option'] = option order_by = get_order_by(self.request.GET) if order_by: params['order_by'] = order_by msgs = getattr(Message.objects, self.folder_name)(self.request.user, **params) viewname = 'postman:' + self.view_name current_instance = self.request.resolver_match.namespace context.update({ 'pm_messages': msgs, # avoid 'messages', already used by contrib.messages 'by_conversation': option is None, 'by_message': option == OPTION_MESSAGES, 'by_conversation_url': reverse(viewname, current_app=current_instance), 'by_message_url': reverse(viewname, args=[OPTION_MESSAGES], current_app=current_instance), 'current_url': self.request.get_full_path(), 'gets': self.request.GET, # useful to postman_order_by template tag }) return context
def _folder(request, folder_name, view_name, option, template_name): """Code common to the folders.""" kwargs = {} if option: kwargs.update(option=option) order_by = get_order_by(request.GET) if order_by: kwargs.update(order_by=order_by) msgs = getattr(Message.objects, folder_name)(request.user, **kwargs) resp_dict = { 'pm_messages': msgs, # avoid 'messages', already used by contrib.messages 'by_conversation': option is None, 'by_message': option == OPTION_MESSAGES, 'by_conversation_url': reverse(view_name), 'by_message_url': reverse(view_name, args=[OPTION_MESSAGES]), 'current_url': request.get_full_path(), 'gets': request.GET, # useful to postman_order_by template tag } if request.is_ajax(): resp_dict['pm_messages'] = list(resp_dict['pm_messages'].values()) # turn objects into dicts for proper serialisation return _json_response(resp_dict) return render_to_response(template_name, resp_dict, context_instance=RequestContext(request))
def _folder(request, folder_name, view_name, option, template_name): """Code common to the folders.""" kwargs = {} if option: kwargs.update(option=option) order_by = get_order_by(request.GET) if order_by: kwargs.update(order_by=order_by) if 'c' in request.GET: category = request.GET['c'] if category: kwargs.update(category=category) msgs = getattr(Message.objects, folder_name)(request.user, **kwargs) return render_to_response( template_name, { 'pm_messages': msgs, # avoid 'messages', already used by contrib.messages 'by_conversation': option is None, 'by_message': option == OPTION_MESSAGES, 'by_conversation_url': reverse(view_name), 'by_message_url': reverse(view_name, args=[OPTION_MESSAGES]), 'current_url': request.get_full_path(), 'gets': request.GET, # useful to postman_order_by template tag }, context_instance=RequestContext(request))
def _folder(request, folder_name, view_name, option, template_name): """Code common to the folders.""" kwargs = {} if option: kwargs.update(option=option) order_by = get_order_by(request.GET) if order_by: kwargs.update(order_by=order_by) if 'c' in request.GET: category = request.GET['c'] if category: kwargs.update(category=category) msgs = getattr(Message.objects, folder_name)(request.user, **kwargs) return render_to_response(template_name, { 'pm_messages': msgs, # avoid 'messages', already used by contrib.messages 'by_conversation': option is None, 'by_message': option == OPTION_MESSAGES, 'by_conversation_url': reverse(view_name), 'by_message_url': reverse(view_name, args=[OPTION_MESSAGES]), 'current_url': request.get_full_path(), 'gets': request.GET, # useful to postman_order_by template tag }, context_instance=RequestContext(request))