def generic_multiple_id(request, template_name=None, success_msg=lambda x: _('Success'), ask_msg=lambda x, y: _('Do you want to?'), confirmation=_('Yes'), request_url=None, id_key=None): """ Generic ajax view for handling dialogs working on multiple items. """ if request.method == 'POST': id_list = request.POST.getlist('ids[]') if id_key is None: raise Exception('\'id_key\' not set in urls') if request_url is None: raise Exception("No 'request_url' specified.") response = prep_data((request_url, {id_key: [int(a) for a in id_list]}), request.session) if response is None: return messages_ajax.success(success_msg(request.POST.get('desc'), int(request.POST.get('length')))) return _multiple_id_return(response, id_list, request.POST.get('desc'), success_msg) else: if request.GET.get('length') is None: return messages_ajax.error(_("Bad argument list")) return messages_ajax.success(render_to_string(template_name, {'text': ask_msg(force_escape(request.GET.get('desc')), int(request.GET.get('length'))), 'confirmation': confirmation}, context_instance=RequestContext(request)))
def get_list_generic_id(request, id1, request_url=None, id_key=None): """ Generic ajax view returning a list. """ if request.method == 'GET': if request_url is None: raise Exception("No 'request_url' specified.") args = {} if id1 is not None: if id_key is None: raise Exception('\'id_key\' not set in urls') args[id_key] = int(id1) response = prep_data((request_url, args), request.session) return messages_ajax.success(response) return messages_ajax.error('get_list_generic_id doesn\'t support POST')
def generic_multiple_id(request, template_name=None, success_msg=lambda x: _('Success'), ask_msg=lambda x, y: _('Do you want to?'), confirmation=_('Yes'), request_url=None, id_key=None): """ Generic ajax view for handling dialogs working on multiple items. """ if request.method == 'POST': id_list = request.POST.getlist('ids[]') if id_key is None: raise Exception('\'id_key\' not set in urls') if request_url is None: raise Exception("No 'request_url' specified.") response = prep_data((request_url, { id_key: [int(a) for a in id_list] }), request.session) if response is None: return messages_ajax.success( success_msg(request.POST.get('desc'), int(request.POST.get('length')))) return _multiple_id_return(response, id_list, request.POST.get('desc'), success_msg) else: if request.GET.get('length') is None: return messages_ajax.error(_("Bad argument list")) return messages_ajax.success( render_to_string(template_name, { 'text': ask_msg(force_escape(request.GET.get('desc')), int(request.GET.get('length'))), 'confirmation': confirmation }, context_instance=RequestContext(request)))