def ureporters(request): access = get_access(request) download_form = DownloadForm(request.POST or None) if request.POST and request.POST.get('download', None): if download_form.is_valid(): download_form.export(request, request.session['queryset'], 'autoreg_join_date') else: return HttpResponse("Some thing went wrong") columns = [ (_('Identifier'), True, 'connection_pk', SimpleSorter()), (_('Age'), True, 'age', SimpleSorter(),), (_('Gender'), True, 'gender', SimpleSorter(),), (_('Language'), True, 'language', SimpleSorter(),), (_('District'), True, 'district', SimpleSorter(),), (_('Group(s)'), True, 'group', SimpleSorter(),), (_('Questions '), True, 'questions', SimpleSorter(),), (_('Responses '), True, 'responses', SimpleSorter(),), (_('Messages Sent'), True, 'incoming', SimpleSorter(),), (_('caregiver'), True, 'is_caregiver', SimpleSorter(),), (_('join date'), True, 'autoreg_join_date', SimpleSorter(),), (_('quit date'), True, 'quit_date', SimpleSorter(),), ] if request.user.is_staff: columns.insert(1, ('Phone', True, 'mobile', SimpleSorter())) queryset = get_contacts2(request=request) if access is not None: groups = list(access.groups.values_list('name', flat=True)) if len(groups) > 0: qset = Q(group__icontains=groups[0]) if len(groups) > 1: for group in groups[1:]: qset = qset | Q(group__icontains=group) queryset = queryset.filter(qset) return generic(request, model=UreportContact, queryset=queryset, download_form=download_form, results_title= _('uReporters'), filter_forms=[UreporterSearchForm, GenderFilterForm, AgeFilterForm, MultipleDistictFilterForm, FilterGroupsForm], action_forms=[MassTextForm, AssignGroupForm, BlacklistForm, AssignToNewPollForm, RemoveGroupForm, TemplateMessage], objects_per_page=25, partial_row='ureport/partials/contacts/contacts_row.html', base_template='ureport/ureporters_base.html', paginator_template='ureport/partials/new_pagination.html', paginator_func=ureport_paginate, columns=columns, )
def ureporters(request): access = get_access(request) print request.method message = '' if request.method == 'POST' and request.FILES: contactsform = ExcelTestUploadForm(request.POST, request.FILES) if contactsform.is_valid() and contactsform.good_file(): new_file = contactsform.cleaned_data fields = [ 'number', 'name', 'province', 'commune', 'colline', 'language', 'county', 'village', 'birthdate', 'group', 'gender', ] message = handle_excel_file_update(new_file['excel_file'], fields) print(message) messages.success(request, message) return HttpResponseRedirect("/reporter") else: return HttpResponse( content='The form is not valid. Resfresh this page') columns = [ ('Identifier', True, 'connection_pk', SimpleSorter()), ('Modile', True, 'mobile', SimpleSorter()), ( 'Age', True, 'age', SimpleSorter(), ), ( 'Gender', True, 'gender', SimpleSorter(), ), ( 'Language', True, 'language', SimpleSorter(), ), ( 'Province', True, 'province', SimpleSorter(), ), ( 'Group(s)', True, 'group', SimpleSorter(), ), ( 'Polls ', True, 'questions', SimpleSorter(), ), ( 'Responses ', True, 'responses', SimpleSorter(), ), ( 'Messages Sent', True, 'incoming', SimpleSorter(), ), # ('caregiver', True, 'is_caregiver', SimpleSorter(),), # ('join date', True, 'autoreg_join_date', SimpleSorter(),), # ('quit date', True, 'quit_date', SimpleSorter(),), ] queryset = get_contacts2(request=request) if access is not None: groups = ",".join(list(access.groups.values_list('name', flat=True))) queryset = queryset.filter(group__icontains=groups) return generic( request, model=UreportContact, queryset=get_contacts2, contactsform=ExcelTestUploadForm, message=message, results_title='uReporters', filter_forms=[ UreporterSearchForm, GenderFilterForm, AgeFilterForm, MultipleDistictFilterForm, FilterGroupsForm, FilterByGroupForm, FilterByLocationForm ], action_forms=[ MassTextForm, AssignGroupForm, BlacklistForm, AssignToNewPollForm, RemoveGroupForm, TemplateMessage, ExportToExcelForm ], objects_per_page=25, base_template='ureport/ureporters_base.html', partial_base='ureport/partials/contacts/partial_base.html', partial_row='ureport/partials/contacts/partial_row.html', paginator_template='ureport/partials/new_pagination.html', paginator_func=ureport_paginate, columns=columns, )
def ureporters(request): access = get_access(request) print request.method message='' if request.method == 'POST' and request.FILES: contactsform = ExcelTestUploadForm(request.POST, request.FILES) if contactsform.is_valid() and contactsform.good_file() : new_file = contactsform.cleaned_data fields = [ 'number', 'name', 'province', 'commune', 'colline', 'language', 'county', 'village', 'birthdate', 'group', 'gender', ] message = handle_excel_file_update(new_file['excel_file'], fields) print(message) messages.success(request, message ) return HttpResponseRedirect("/reporter") else: return HttpResponse(content='The form is not valid. Resfresh this page') columns = [ ('Identifier', True, 'connection_pk', SimpleSorter()), ('Modile', True, 'mobile', SimpleSorter()), ('Age', True, 'age', SimpleSorter(),), ('Gender', True, 'gender', SimpleSorter(),), ('Language', True, 'language',SimpleSorter(),), ('Province', True, 'province', SimpleSorter(),), ('Group(s)', True, 'group', SimpleSorter(),), ('Polls ', True, 'questions', SimpleSorter(),), ('Responses ', True, 'responses', SimpleSorter(),), ('Messages Sent', True, 'incoming', SimpleSorter(),), # ('caregiver', True, 'is_caregiver', SimpleSorter(),), # ('join date', True, 'autoreg_join_date', SimpleSorter(),), # ('quit date', True, 'quit_date', SimpleSorter(),), ] queryset = get_contacts2(request=request) if access is not None: groups = ",".join(list(access.groups.values_list('name', flat=True))) queryset = queryset.filter(group__icontains=groups) return generic(request, model=UreportContact, queryset=get_contacts2, contactsform=ExcelTestUploadForm, message=message, results_title='uReporters', filter_forms=[ UreporterSearchForm, GenderFilterForm, AgeFilterForm, MultipleDistictFilterForm, FilterGroupsForm, FilterByGroupForm, FilterByLocationForm ], action_forms=[MassTextForm, AssignGroupForm, BlacklistForm, AssignToNewPollForm,RemoveGroupForm,TemplateMessage , ExportToExcelForm], objects_per_page=25, base_template='ureport/ureporters_base.html', partial_base='ureport/partials/contacts/partial_base.html', partial_row='ureport/partials/contacts/partial_row.html', paginator_template='ureport/partials/new_pagination.html', paginator_func=ureport_paginate, columns=columns, )
def ureporters(request): access = get_access(request) download_form = DownloadForm(request.POST or None) if request.POST and request.POST.get("download", None): if download_form.is_valid(): download_form.export(request, request.session["queryset"], "autoreg_join_date") else: return HttpResponse("Some thing went wrong") columns = [ (_("Identifier"), True, "connection_pk", SimpleSorter()), (_("Age"), True, "age", SimpleSorter()), (_("Gender"), True, "gender", SimpleSorter()), (_("Language"), True, "language", SimpleSorter()), (_("District"), True, "district", SimpleSorter()), (_("Group(s)"), True, "group", SimpleSorter()), (_("Questions "), True, "questions", SimpleSorter()), (_("Responses "), True, "responses", SimpleSorter()), (_("Messages Sent"), True, "incoming", SimpleSorter()), (_("caregiver"), True, "is_caregiver", SimpleSorter()), (_("join date"), True, "autoreg_join_date", SimpleSorter()), (_("quit date"), True, "quit_date", SimpleSorter()), ] if request.user.is_staff: columns.insert(1, ("Phone", True, "mobile", SimpleSorter())) queryset = get_contacts2(request=request) if access is not None: groups = list(access.groups.values_list("name", flat=True)) if len(groups) > 0: qset = Q(group__icontains=groups[0]) if len(groups) > 1: for group in groups[1:]: qset = qset | Q(group__icontains=group) queryset = queryset.filter(qset) return generic( request, model=UreportContact, queryset=queryset, download_form=download_form, results_title=_("uReporters"), filter_forms=[ UreporterSearchForm, GenderFilterForm, AgeFilterForm, MultipleDistictFilterForm, FilterGroupsForm, ], action_forms=[ MassTextForm, AssignGroupForm, BlacklistForm, AssignToNewPollForm, RemoveGroupForm, TemplateMessage, ], objects_per_page=25, partial_row="ureport/partials/contacts/contacts_row.html", base_template="ureport/ureporters_base.html", paginator_template="ureport/partials/new_pagination.html", paginator_func=ureport_paginate, columns=columns, )