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,

    )
Пример #2
0
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,
    )
Пример #3
0
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,
        )
Пример #4
0
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,
    )