def _load_submissions(current_page, manager, questionnaire_code, pagination=True, start_time=None, end_time=None): form_model = get_form_model_by_code(manager, questionnaire_code) questionnaire = (questionnaire_code, form_model.name) fields = form_model.fields if form_model.entity_defaults_to_reporter(): fields = form_model.fields[1:] questions = helper.get_code_and_title(fields) count = get_submission_count_for_form(manager, questionnaire_code, start_time, end_time) results = {'questionnaire': questionnaire, 'questions': questions} if count: submissions, ids = _get_submissions_for_display(current_page - 1, manager, questionnaire_code, copy(questions), pagination, start_time=start_time, end_time=end_time) results.update(submissions=zip(submissions, ids)) return count, results
def questionnaire_preview(request, project_id=None): manager = get_database_manager(request) if request.method == 'GET': previous_link = reverse(subjects_wizard, args=[project_id]) project = models.get_project(project_id, manager) form_model = helper.load_questionnaire(manager, project.qid) fields = form_model.fields if form_model.entity_defaults_to_reporter(): fields = helper.hide_entity_question(form_model.fields) project_links = _make_project_links(project, form_model.form_code) questions = [] for field in fields: question = helper.get_preview_for_field(field) questions.append(question) example_sms = "%s +%s <answer> .... +%s <answer>" % ( form_model.form_code, fields[0].code, fields[len(fields) - 1].code) return render_to_response('project/questionnaire_preview.html', { "questions": questions, 'questionnaire_code': form_model.form_code, "previous": previous_link, 'project': project, 'project_links': project_links, 'example_sms': example_sms }, context_instance=RequestContext(request))
def questionnaire_wizard(request, project_id=None): manager = get_database_manager(request) if request.method == 'GET': previous_link = reverse(subjects_wizard, args=[project_id]) project = models.get_project(project_id, manager) form_model = helper.load_questionnaire(manager, project.qid) fields = form_model.fields if form_model.entity_defaults_to_reporter(): fields = helper.hide_entity_question(form_model.fields) existing_questions = json.dumps(fields, default=field_to_json) return render_to_response('project/questionnaire_wizard.html', {"existing_questions": repr(existing_questions), 'questionnaire_code': form_model.form_code, "previous": previous_link, 'project': project}, context_instance=RequestContext(request))
def _load_submissions(current_page, manager, questionnaire_code, pagination=True, start_time=None, end_time=None): form_model = get_form_model_by_code(manager, questionnaire_code) questionnaire = (questionnaire_code, form_model.name) fields = form_model.fields if form_model.entity_defaults_to_reporter(): fields = form_model.fields[1:] questions = helper.get_code_and_title(fields) count = get_submission_count_for_form(manager, questionnaire_code, start_time, end_time) results = {'questionnaire': questionnaire, 'questions': questions} if count: submissions, ids = _get_submissions_for_display(current_page - 1, manager, questionnaire_code, copy(questions), pagination, start_time=start_time, end_time=end_time) results.update(submissions=zip(submissions, ids)) return count, results
def questionnaire_wizard(request, project_id=None): manager = get_database_manager(request) if request.method == 'GET': previous_link = reverse(subjects_wizard, args=[project_id]) project = models.get_project(project_id, manager) form_model = helper.load_questionnaire(manager, project.qid) fields = form_model.fields if form_model.entity_defaults_to_reporter(): fields = helper.hide_entity_question(form_model.fields) existing_questions = json.dumps(fields, default=field_to_json) return render_to_response( 'project/questionnaire_wizard.html', { "existing_questions": repr(existing_questions), 'questionnaire_code': form_model.form_code, "previous": previous_link, 'project': project }, context_instance=RequestContext(request))
def questionnaire_preview(request, project_id=None): manager = get_database_manager(request) if request.method == 'GET': previous_link = reverse(subjects_wizard, args=[project_id]) project = models.get_project(project_id, manager) form_model = helper.load_questionnaire(manager, project.qid) fields = form_model.fields if form_model.entity_defaults_to_reporter(): fields = helper.hide_entity_question(form_model.fields) project_links = _make_project_links(project, form_model.form_code) questions = [] for field in fields: question = helper.get_preview_for_field(field) questions.append(question) example_sms = "%s +%s <answer> .... +%s <answer>" % (form_model.form_code, fields[0].code, fields[len(fields)-1].code) return render_to_response('project/questionnaire_preview.html', {"questions": questions, 'questionnaire_code': form_model.form_code, "previous": previous_link, 'project': project, 'project_links': project_links, 'example_sms':example_sms}, context_instance=RequestContext(request))
def finish(request, project_id=None): manager = get_database_manager(request) project = models.get_project(project_id, manager) form_model = helper.load_questionnaire(manager, project.qid) if request.method == 'GET': project.to_test_mode(manager) number_of_registered_subjects = get_entity_count_for_type( manager, project.entity_type) number_of_registered_datasenders = get_entity_count_for_type( manager, 'reporter') profile = request.user.get_profile() organization = Organization.objects.get(org_id=profile.org_id) from_number = TEST_REPORTER_MOBILE_NUMBER organization_settings = OrganizationSetting.objects.get( organization=organization) to_number = organization_settings.sms_tel_number previous_link = reverse(datasenders_wizard, args=[project_id]) fields = form_model.fields[ 1:] if form_model.entity_defaults_to_reporter( ) else form_model.fields return render_to_response('project/finish_and_test.html', { 'from_number': from_number, 'to_number': to_number, 'project': project, 'fields': fields, 'project_links': _make_links_for_finish_page(project_id, form_model), 'number_of_datasenders': number_of_registered_datasenders, 'number_of_subjects': number_of_registered_subjects, "previous": previous_link }, context_instance=RequestContext(request)) if request.method == 'POST': return HttpResponseRedirect( reverse(project_overview, args=[project_id]))
def finish(request, project_id=None): manager = get_database_manager(request) project = models.get_project(project_id, manager) form_model = helper.load_questionnaire(manager, project.qid) if request.method == 'GET': project.to_test_mode(manager) number_of_registered_subjects = get_entity_count_for_type(manager, project.entity_type) number_of_registered_datasenders = get_entity_count_for_type(manager, 'reporter') profile = request.user.get_profile() organization = Organization.objects.get(org_id=profile.org_id) from_number = TEST_REPORTER_MOBILE_NUMBER organization_settings = OrganizationSetting.objects.get(organization=organization) to_number = organization_settings.sms_tel_number previous_link = reverse(datasenders_wizard, args=[project_id]) fields = form_model.fields[1:] if form_model.entity_defaults_to_reporter() else form_model.fields return render_to_response('project/finish_and_test.html', {'from_number':from_number, 'to_number':to_number, 'project':project, 'fields': fields, 'project_links': _make_links_for_finish_page(project_id, form_model), 'number_of_datasenders': number_of_registered_datasenders, 'number_of_subjects': number_of_registered_subjects, "previous": previous_link}, context_instance=RequestContext(request)) if request.method == 'POST': return HttpResponseRedirect(reverse(project_overview, args=[project_id]))