Ejemplo n.º 1
0
def all_datasenders(request):
    manager = get_database_manager(request)
    if request.method == 'POST':
        error_message, failure_imports, success, success_message = import_module.import_data(request, manager)
        all_data_senders = import_module.load_all_subjects_of_type(request)

        return HttpResponse(json.dumps({'success': success, 'message': success_message, 'error_message': error_message,
                                        'failure_imports': failure_imports, 'all_data': all_data_senders}))
    all_data_senders = import_module.load_all_subjects_of_type(request)
    return render_to_response('entity/all_datasenders.html', {'all_data': all_data_senders},
                              context_instance=RequestContext(request))
Ejemplo n.º 2
0
def _get_all_datasenders(manager, projects, user):
    all_data_senders, fields, labels = import_module.load_all_subjects_of_type(
        manager)
    project_association = _get_project_association(projects)
    for datasender in all_data_senders:
        if datasender["short_code"] == "test":
            index = all_data_senders.index(datasender)
            del all_data_senders[index]
            continue

        org_id = NGOUserProfile.objects.get(user=user).org_id
        user_profile = NGOUserProfile.objects.filter(
            reporter_id=datasender['short_code'], org_id=org_id)

        datasender["is_user"] = False
        if len(user_profile) > 0:
            datasender_user_groups = list(
                user_profile[0].user.groups.values_list('name', flat=True))
            if "NGO Admins" in datasender_user_groups or "Project Managers" in datasender_user_groups \
                or "Read Only Users" in datasender_user_groups:
                datasender["is_user"] = True
            datasender['email'] = user_profile[0].user.email
            datasender['devices'] = "SMS,Web,Smartphone"
        else:
            datasender['email'] = "--"
            datasender['devices'] = "SMS"

        association = project_association.get(datasender['short_code'])
        datasender['projects'] = ' ,'.join(
            association) if association is not None else '--'

    return all_data_senders
Ejemplo n.º 3
0
def registered_datasenders(request, project_id=None):
    manager = get_database_manager(request)
    project, project_links = _get_project_and_project_link(manager, project_id)
    all_data = load_all_subjects_of_type(request)
    return render_to_response('project/registered_datasenders.html', {
        'project': project,
        'project_links': project_links,
        'all_data': all_data
    },
                              context_instance=RequestContext(request))
Ejemplo n.º 4
0
def all_datasenders(request):
    manager = get_database_manager(request)
    if request.method == 'POST':
        error_message, failure_imports, success, success_message = import_module.import_data(
            request, manager)
        all_data_senders = import_module.load_all_subjects_of_type(request)

        return HttpResponse(
            json.dumps({
                'success': success,
                'message': success_message,
                'error_message': error_message,
                'failure_imports': failure_imports,
                'all_data': all_data_senders
            }))
    all_data_senders = import_module.load_all_subjects_of_type(request)
    return render_to_response('entity/all_datasenders.html',
                              {'all_data': all_data_senders},
                              context_instance=RequestContext(request))
Ejemplo n.º 5
0
def export_subject(request):
    entity_type = request.POST["entity_type"]
    entity_list = request.POST.getlist("checked")
    manager = get_database_manager(request.user)
    all_data, fields, labels = load_all_subjects_of_type(
        manager, filter_entities=include_of_type, type=entity_type)
    response = HttpResponse(mimetype='application/vnd.ms-excel')
    response['Content-Disposition'] = 'attachment; filename="%s.xls"' % (
        entity_type, )
    fields, labels, field_codes = import_module.get_entity_type_fields(
        manager, entity_type)

    raw_data = [labels]
    for data in all_data:
        if data['short_code'] in entity_list or len(entity_list) == 0:
            raw_data.append(data['cols'])
    wb = get_excel_sheet(raw_data, entity_type)
    form_model = get_form_model_by_entity_type(manager, [entity_type.lower()])
    add_codes_sheet(wb, form_model.form_code, field_codes)
    wb.save(response)
    return response
Ejemplo n.º 6
0
def registered_datasenders(request, project_id=None):
    manager = get_database_manager(request)
    project, project_links = _get_project_and_project_link(manager, project_id)
    all_data = load_all_subjects_of_type(request)
    return render_to_response('project/registered_datasenders.html', {'project':project, 'project_links':project_links, 'all_data':all_data}, context_instance=RequestContext(request))
Ejemplo n.º 7
0
 def get_data_senders(self, dbm):
     all_data, fields, label = load_all_subjects_of_type(dbm, type=REPORTER)
     return [
         dict(zip(fields, data["cols"])) for data in all_data
         if data['short_code'] in self.data_senders
     ]