Example #1
0
def check_action_workflow(datas,glob,log,workflow,path_r,piece,id_user_p=-10):
    listworkflow=[]
    for (name_group,obj) in workflow.items():
        if name_group in ['all','user','myuser'] or name_group in glob.groupes.keys():
            validsp=False
            interditsp=False
            id_group=False
            if name_group=='all':
                validsp=True
            elif name_group=='user':
                if datas.my_session.id_user!=-1:
                    validsp=True
            elif name_group=='myuser':
                log.debug('myuser')
                log.debug(id_user_p)
                if datas.my_session.id_user!=id_user_p:
                    interditsp=True
                else:
                    validsp=True
                    log.debug("validmyuser")
            else:
                id_group=glob.groupes.get(name_groupe,0)

            if not interditsp and (validsp or (
                    id_group and id_group in datas.my_session.groupes)):
                for (nivel,obj2) in obj.items():
                    for (methode,url) in obj2.items():
                        listworkflow.append((int(nivel),methode,url))

    listworkflow.sort()
    listea4u=[]
    for (nivel,astr,u) in listworkflow:
        amet=getattr(piece,astr)
        listea4u.append((amet,u))
    log.debug(str(listea4u))
    action_for_url(datas,listea4u,path_r,log)
Example #2
0
def check_action(datas,cl_f,path_r,log):
    listea4u=get_info_id_class(cl_f,'a4u',[])
    action_for_url(datas,listea4u,path_r,log)