def specific_criteria_submission(request): updated_enrollments = None scores_list_encoded = _get_score_encoding_list_with_only_enrollment_modified( request) try: updated_enrollments = score_encoding_list.update_enrollments( scores_encoding_list=scores_list_encoded, user=request.user) except Exception as e: error_msg = e.messages[0] if isinstance(e, ValidationError) else e.args[0] messages.add_message(request, messages.ERROR, _(error_msg)) if messages.get_messages(request): context = _get_specific_criteria_context(request) context = _preserve_encoded_values(request, context) return render(request, "scores_encoding_by_specific_criteria.html", context) else: is_program_manager = mdl.program_manager.is_program_manager( request.user) bulk_send_messages_to_notify_encoding_progress(request, updated_enrollments, is_program_manager) if updated_enrollments: messages.add_message( request, messages.SUCCESS, "%s %s" % (len(updated_enrollments), _('score(s) saved'))) return specific_criteria(request)
def online_encoding_form(request, learning_unit_year_id=None): template_name = "online_encoding_form.html" if request.method == 'POST': updated_enrollments = None encoded_enrollment_ids = _extract_id_from_post_data(request) # Get only encoded from database scores_list_encoded = score_encoding_list.get_scores_encoding_list( user=request.user, learning_unit_year_id=learning_unit_year_id, enrollments_ids=encoded_enrollment_ids) # Append value encoded by user scores_list_encoded.enrollments = _extract_encoded_values_from_post_data( request, scores_list_encoded.enrollments) try: updated_enrollments = score_encoding_list.update_enrollments( scores_encoding_list=scores_list_encoded, user=request.user) except Exception as e: error_msg = e.messages[0] if isinstance( e, ValidationError) else e.args[0] messages.add_message(request, messages.ERROR, _(error_msg)) context = _get_common_encoding_context(request, learning_unit_year_id) if messages.get_messages(request): context = _preserve_encoded_values(request, context) else: template_name = "online_encoding.html" send_messages_to_notify_encoding_progress( context["enrollments"], context["learning_unit_year"], context["is_program_manager"], updated_enrollments) else: context = _get_common_encoding_context(request, learning_unit_year_id) return render(request, template_name, context)
def _update_enrollments(request, scores_list_encoded, updated_enrollments): try: updated_enrollments = score_encoding_list.update_enrollments( scores_encoding_list=scores_list_encoded, user=request.user) except Exception as e: error_msg = e.messages[0] if isinstance(e, ValidationError) else e.args[0] messages.add_message(request, messages.ERROR, _(error_msg)) return updated_enrollments
def online_double_encoding_validation(request, learning_unit_year_id=None): if request.method == 'POST': updated_enrollments = None scores_list_encoded = _get_score_encoding_list_with_only_enrollment_modified(request, learning_unit_year_id) try: updated_enrollments = score_encoding_list.update_enrollments( scores_encoding_list=scores_list_encoded, user=request.user) except Exception as e: error_msg = e.messages[0] if isinstance(e, ValidationError) else e.args[0] messages.add_message(request, messages.ERROR, _(error_msg)) if updated_enrollments: is_program_manager = mdl.program_manager.is_program_manager(request.user) scores_list_encoded = score_encoding_list.get_scores_encoding_list( user=request.user, learning_unit_year_id=learning_unit_year_id) send_messages_to_notify_encoding_progress(scores_list_encoded.enrollments, scores_list_encoded.learning_unit_year, is_program_manager, updated_enrollments) return HttpResponseRedirect(reverse('online_encoding', args=(learning_unit_year_id,)))