Ejemplo n.º 1
0
def ajout_competence(request):
    POST=request.POST
    if not ('id_parent' in POST and 'tree_parent' in POST and 'graphe_parent' in POST and 'newName' in POST):
        return {'success':False,'msg':u'Clés manquantes.'}
    id=POST['id_parent']
    tree=POST['tree_parent']
    graphe=POST['graphe_parent']
    newName=POST['newName']
    if id=='src' and request.user.has_perm('application.is_admin'):
        # on rajoute une racine
        comp_ajout=Competence.add_root(nom=newName,user_id=request.user.id)
        return {'success':True,'id':comp_ajout.id,'liste':[]}
        
    try:
        comp=Competence.objects.get(id=id)
    except:
        return {'success':False,'msg':u'Compétence %s (%s) inexistante' % (newName,id)}
    if (comp.user==None) or (comp.user==request.user) or request.user.has_perm('application.is_admin'):
        #user=comp.user
        user=request.user
        comp_ajout=comp.add_child(nom=newName,user=user)
        #mise à jour des graphes
        cibles=Graphe_competences.objects.filter(competence__id=id)
        liste=[]
        for comp in cibles:
            c=comp.add_child(competence_id=comp_ajout.id,tree_id=tree,user=user)
            liste.append(comp.id)
        return {'success':True,'id':comp_ajout.id,'liste':liste}
    return {'success':False,'msg':u'Vous n\'avez pas les permissions sur cette compétence.'}
Ejemplo n.º 2
0
 def save_model2(self,request,obj,form):
     ''' sauvegarde du modèle en construisant l'arbre '''
     try:
         parent=Competence.objects.get(id=form.data['parent'])
     except (Competence.DoesNotExist, ValueError):
         competence=Competence.add_root(nom=obj.nom,abbrev=obj.abbrev,description=obj.description)
     else:
         competence=parent.add_child(nom=obj.nom,abbrev=obj.abbrev,description=obj.description)
     return competence