Exemplo n.º 1
0
def competence_radar_chart_datas(context, request):
    """
    Return the datas used to show a radar / spider chart of a user's
    competences
    context : CompetenceGrid
    """
    datas = []
    legend = []

    deadlines = CompetenceDeadline.query()
    deadlines = deadlines.filter(
        CompetenceDeadline.order <= context.deadline.order)
    for deadline in deadlines:
        grid = get_competence_grid(request, context.contractor_id, deadline.id)
        datas.append(grid.__radar_datas__())
        legend.append(u"Profil {0}".format(deadline.label))

    datas.append(CompetenceOption.__radar_datas__(context.deadline_id))
    legend.append(u"Profil de référence")

    config = {}
    config['levels'] = CompetenceScale.query().count()
    max_value = request.dbsession.query(func.max(
        CompetenceScale.value)).all()[0][0]

    config['maxValue'] = max_value

    return {'datas': datas, 'legend': legend, "config": config}
Exemplo n.º 2
0
def competence_radar_chart_datas(context, request):
    """
    Return the datas used to show a radar / spider chart of a user's
    competences
    context : CompetenceGrid
    """
    datas = []
    legend = []

    deadlines = CompetenceDeadline.query()
    deadlines = deadlines.filter(
        CompetenceDeadline.order <= context.deadline.order
    )
    for deadline in deadlines:
        grid = get_competence_grid(request, context.contractor_id, deadline.id)
        datas.append(grid.__radar_datas__())
        legend.append(u"Profil {0}".format(deadline.label))

    datas.append(CompetenceOption.__radar_datas__(context.deadline_id))
    legend.append(u"Profil de référence")

    config = {}
    config['levels'] = CompetenceScale.query().count()
    max_value = request.dbsession.query(
        func.max(CompetenceScale.value)
    ).all()[0][0]

    config['maxValue'] = max_value

    return {'datas': datas, 'legend': legend, "config": config}
Exemplo n.º 3
0
    def before(self, form):
        if CompetenceScale.query().count() == 0:
            self.session.flash(
                u"Les barêmes doivent être configurer avant \
la grille de compétences."
            )
            raise HTTPFound(self.request.route_path("admin_competence_scale"))
        main_admin_class.before(self, form)
Exemplo n.º 4
0
    def before(self, form):
        if CompetenceScale.query().count() == 0:
            self.session.flash(u"Les barêmes doivent être configurer avant \
la grille de compétences.")
            raise HTTPFound(self.request.route_path("admin_competence_scale"))
        if CompetenceOption.query().count() == 0:
            self.session.flash(
                u"La grille de compétence doit être configurée avant les \
barêmes")
            raise HTTPFound(self.request.route_path("admin_competence_option"))
        req_admin_class.before(self, form)
Exemplo n.º 5
0
    def before(self, form):
        if CompetenceScale.query().count() == 0:
            self.session.flash(u"Les barêmes doivent être configurés avant \
la grille de compétences.")
            raise HTTPFound(
                self.request.route_path(
                    os.path.join(COMPETENCE_URL, "competence_scale")))
        if CompetenceOption.query().count() == 0:
            self.session.flash(
                u"La grille de compétence doit être configurée avant les \
barêmes")
            raise HTTPFound(self.request.route_path("admin_competence_option"))
        BaseCompetenceRequirementView.before(self, form)
Exemplo n.º 6
0
def competence_form_options(context, request):
    """
    Returns datas used to build the competence form page
    """
    return dict(
        grid=context,
        grid_edit_url=request.route_path('competence_grid',
                                         id=context.id,
                                         _query=dict(action='edit')),
        item_root_url=request.route_path(
            'competence_grid_items',
            id=context.id,
        ),
        deadlines=CompetenceDeadline.query().all(),
        scales=CompetenceScale.query().all(),
    )
Exemplo n.º 7
0
def competence_form_options(context, request):
    """
    Returns datas used to build the competence form page
    """
    return dict(
        grid=context,
        grid_edit_url=request.route_path(
            'competence_grid',
            id=context.id,
            _query=dict(action='edit')
        ),
        item_root_url=request.route_path(
            'competence_grid_items',
            id=context.id,
        ),
        deadlines=CompetenceDeadline.query().all(),
        scales=CompetenceScale.query().all(),
    )
Exemplo n.º 8
0
    def before(self, form):
        if CompetenceScale.query().count() == 0:
            self.session.flash(
                u"Les barêmes doivent être configurés avant \
la grille de compétences."
            )
            raise HTTPFound(
                self.request.route_path(
                    os.path.join(COMPETENCE_URL, "competence_scale")
                )
            )
        if CompetenceOption.query().count() == 0:
            self.session.flash(
                u"La grille de compétence doit être configurée avant les \
barêmes"
            )
            raise HTTPFound(self.request.route_path("admin_competence_option"))
        BaseCompetenceRequirementView.before(self, form)
Exemplo n.º 9
0
def competence_radar_chart_view(context, request):
    """
    Competence radar chart view

    :param obj context: a user model
    """
    request.actionmenu.add(
        widgets.ViewLink(
            u"Revenir au formulaire",
            "view_competence",
            path="competence_grid",
            id=context.id
        )
    )
    competence_radar_js.need()
    loadurl = request.route_path(
        'competence_grid',
        id=context.id,
        _query=dict(action='radar'),
    )
    title = u"Profil des compétences entrepreneuriales  \
{0}".format(context.deadline.label)

    grids = []
    # On récupère les grilles de compétences précédent la courant
    deadlines = CompetenceDeadline.query()
    deadlines = deadlines.filter(
        CompetenceDeadline.order <= context.deadline.order
    ).all()
    scales = CompetenceScale.query().all()
    for deadline in deadlines:
        grid = get_competence_grid(request, context.contractor_id, deadline.id)
        grids.append(grid)

    return dict(
        title=title,
        loadurl=loadurl,
        grids=grids,
        deadlines=deadlines,
        scales=scales,
    )
Exemplo n.º 10
0
def competence_radar_chart_view(context, request):
    """
    Competence radar chart view

    :param obj context: a user model
    """
    request.actionmenu.add(
        widgets.ViewLink(
            u"Revenir au formulaire",
            "view",
            path="competence_grid",
            id=context.id
        )
    )
    competence_radar_js.need()
    loadurl = request.route_path(
        'competence_grid',
        id=context.id,
        _query=dict(action='radar'),
    )
    title = u"Profil des compétences entrepreneuriale  \
{0}".format(context.deadline.label)

    grids = []
    # On récupère les grilles de compétences précédent la courant
    deadlines = CompetenceDeadline.query()
    deadlines = deadlines.filter(
        CompetenceDeadline.order <= context.deadline.order
    ).all()
    scales = CompetenceScale.query().all()
    for deadline in deadlines:
        grid = get_competence_grid(request, context.contractor_id, deadline.id)
        grids.append(grid)

    return dict(
        title=title,
        loadurl=loadurl,
        grids=grids,
        deadlines=deadlines,
        scales=scales,
    )