Пример #1
0
def competence_index_view(context, request):
    """
    Index view to go to a competence grid

    Both admin and user view

    :param obj request: The pyramid request
    """
    competence_js.need()
    # Don't return list of users to the template if we come here through the
    # user menu
    if not request.has_permission('admin_competences'):
        user_options = []
    else:
        user_options = get_users_options(roles=['contractor'])

    deadlines = CompetenceDeadline.query().all()
    if 'deadline' in request.POST:
        logger.debug(request.POST)
        appstruct = validate_competence_grid_query(request)
        if appstruct is not None:
            return redirect_to_competence_grid(request, appstruct)

    return {
        'title': u'Évaluation des compétences',
        'user_options': user_options,
        'deadlines': deadlines,
    }
Пример #2
0
def competence_index_view(context, request):
    """
    Index view to go to a competence grid

    Both admin and user view

    :param obj request: The pyramid request
    """
    competence_js.need()
    # Don't return list of users to the template if we come here through the
    # user menu
    if not request.has_permission('admin_competences'):
        user_options = []
    else:
        user_options = get_users_options(roles=['contractor'])

    deadlines = CompetenceDeadline.query().all()
    if 'deadline' in request.POST:
        logger.debug(request.POST)
        appstruct = validate_competence_grid_query(request)
        if appstruct is not None:
            return redirect_to_competence_grid(request, appstruct)

    return {
        'title': u'Évaluation des compétences',
        'user_options': user_options,
        'deadlines': deadlines,
    }
Пример #3
0
def competence_index_view(request):
    """
    Index view to go to a competence grid
    """
    competence_js.need()
    user_options = get_users_options(roles=['contractor'])
    deadlines = CompetenceDeadline.query().all()
    if 'deadline' in request.POST or 'sheet' in request.POST:
        logger.debug(request.POST)
        schema = CompetenceGridQuerySchema.bind(request=request)
        try:
            appstruct = schema.deserialize(request.POST)
        except colander.Invalid:
            logger.exception(u"Erreur dans le routage de la page de \
compétences : POSSIBLE BREAK IN ATTEMPT")
        else:
            # On récupère l'id du user pour l'évaluation
            contractor_id = appstruct['contractor_id']
            # L'id de la période d'évaluation
            deadline_id = appstruct['deadline']

            # On redirige vers la page appropriée
            grid = get_competence_grid(
                request,
                contractor_id,
                deadline_id
            )
            url = request.route_path("competence_grid", id=grid.id)
            return HTTPFound(url)

    return {
        'title': u'Évaluation des compétences',
        'user_options': user_options,
        'deadlines': deadlines,
    }
Пример #4
0
def competence_index_view(request):
    """
    Index view to go to a competence grid
    """
    competence_js.need()
    user_options = get_users_options(roles=['contractor'])
    deadlines = CompetenceDeadline.query().all()
    if 'deadline' in request.POST or 'sheet' in request.POST:
        logger.debug(request.POST)
        schema = CompetenceGridQuerySchema.bind(request=request)
        try:
            appstruct = schema.deserialize(request.POST)
        except colander.Invalid:
            logger.exception(u"Erreur dans le routage de la page de \
compétences : POSSIBLE BREAK IN ATTEMPT")
        else:
            # On récupère l'id du user pour l'évaluation
            contractor_id = appstruct['contractor_id']
            # L'id de la période d'évaluation
            deadline_id = appstruct['deadline']

            # On redirige vers la page appropriée
            grid = get_competence_grid(
                request,
                contractor_id,
                deadline_id
            )
            url = request.route_path("competence_grid", id=grid.id)
            return HTTPFound(url)

    return {
        'title': u'Évaluation des compétences',
        'user_options': user_options,
        'deadlines': deadlines,
    }