Esempio n. 1
0
def get_clearance(result_form, post_data, user, form):
    """Fetch the clearance or build it form the result form and form.

    :param result_form: The form get or create a clearance for.
    :param post_data: The post data to create a clearance form from.
    :param user: The user to assign this clearance to.
    :param form: The form to create a new clearance from.
    """
    clearance = result_form.clearance

    if clearance:
        clearance = ClearanceForm(post_data,
                                  instance=clearance).save(commit=False)

        if groups.CLEARANCE_CLERK in user.groups.values_list('name',
                                                             flat=True):
            clearance.user = user
        else:
            clearance.supervisor = user
    else:
        clearance = form.save(commit=False)
        clearance.result_form = result_form
        clearance.user = user

    if groups.CLEARANCE_CLERK in user.groups.values_list('name', flat=True):
        clearance.date_team_modified = now()
    else:
        clearance.date_supervisor_modified = now()

    return clearance
Esempio n. 2
0
def get_clearance(result_form, post_data, user, form):
    """Fetch the clearance or build it form the result form and form.

    :param result_form: The form get or create a clearance for.
    :param post_data: The post data to create a clearance form from.
    :param user: The user to assign this clearance to.
    :param form: The form to create a new clearance from.
    """
    clearance = result_form.clearance

    if clearance:
        clearance = ClearanceForm(
            post_data, instance=clearance).save(commit=False)

        if groups.CLEARANCE_CLERK in user.groups.values_list(
                'name', flat=True):
            clearance.user = user
        else:
            clearance.supervisor = user
    else:
        clearance = form.save(commit=False)
        clearance.result_form = result_form
        clearance.user = user

    if groups.CLEARANCE_CLERK in user.groups.values_list('name', flat=True):
        clearance.date_team_modified = now()
    else:
        clearance.date_supervisor_modified = now()

    return clearance
Esempio n. 3
0
    def get(self, *args, **kwargs):
        pk = self.request.session['result_form']
        result_form = get_object_or_404(ResultForm, pk=pk)
        form_class = self.get_form_class()
        clearance = result_form.clearance
        form = ClearanceForm(instance=clearance) if clearance\
            else self.get_form(form_class)

        return self.render_to_response(
            self.get_context_data(form=form,
                                  result_form=result_form,
                                  is_clerk=is_clerk(self.request.user)))