예제 #1
0
파일: page.py 프로젝트: xavinsky/tekio
def new_Page(self,init_datas):
    _=self.datas._
    if not check_edit(self.datas,self.socket):
        return

    
    pid=self.id
    lang=get_langue(self.datas,self.config)

    names={}
    proprietes={}

    linkdest=None
    nameslistactu=[]
    for code in self.config.langues:
        url=init_datas[code]['url']
        url=check_char_url(url)
        pathpage=self.glob.objets[self.id]['path'][self.glob.langues[0]]
        name=url
        if name=="":
            if nameslistactu==[]:
                self.socket.send_datas(_("Erreur : Pas de nom d'url"))
                return
            else:
                name=nameslistactu[0]
        if not name in nameslistactu:
            pathfile=pathpage+'/'+name
            while (self.fs_svn.exist(pathfile)):
                (pathfile,name)=new_name_file(pathfile)
            nameslistactu.append(name)
            if not linkdest:
                self.fs_svn.add_folder(pathfile)
                linkdest=pathfile
            else:
                self.fs_svn.add_link(linkdest,pathfile)

        names[code]=name
 
    for code in self.config.langues:
        textnav=init_datas[code]['textnav']
        if textnav=="":
            textnav=nameslistactu[0]
        titre=init_datas[code]['titre']
        titre=titre.replace("'", "'")
        titre=titre.replace('"', '"')
        textnav=textnav.replace("'", "'")
        textnav=textnav.replace('"', '"')
        titre=titre.strip()
        textnav=textnav.strip()
        proprietes['titre_%s' % code]=titre
        proprietes['textnav_%s' % code]=textnav

    obj_id=create_element(self.glob,self.database,2,pid,names,proprietes)
    return obj_id
예제 #2
0
파일: page.py 프로젝트: xavinsky/tekio
def edit_page(self):
    if not check_edit(self.datas,self.socket):
        return

    if self.id!=0:
        pereurl=path_pere(self.path)+'/%s'
        firstname=""
        oldnames=self.glob.objets[self.id]['names']
        newnames={}
        i=0
        for code in self.glob.langues:
            newnames[code]=check_char_idpage(self.socket.input_text_value('urlpage_%s' % code,'').strip())
            
            if i==0:
                if newnames[code]=='':
                    self.socket.send_datas('necessite url pour la page !!!')
                    return
                else:
                    namebase=newnames[code]
            else:
                if newnames[code]=='':
                    newnames[code]=namebase
        names=[]

        flagmodifbase=False
        for code in self.config.langues:
            pathpageold=pereurl % oldnames[code]
            pathpagenew=pereurl % newnames[code]
            if len(names)==0:
                if oldnames[code]!=newnames[code]: 
                    flagmodifbase=True
                    if newnames[code] in oldnames.values():
                        for c in oldnames:
                            if oldnames[c]==newnames[code]:
                                oldnames[c]=None
                                pass
                                #self.fs_svn.trash(pathpagenew)
                    else:
                        while (self.fs_svn.exist(pathpagenew)):
                            (pathpagenew,newnames[code])=new_name_file(pathpagenew)
                    pass
                    #self.fs_svn.move(pathpageold,pathpagenew)
            else:
                if flagmodifbase or oldnames[code]!=newnames[code]:
                    if pathpageold!=None and not oldnames[code] in names:
                        pass
                        #self.fs_svn.trash(pathpageold)
                    if not newnames[code] in names:
                        newlink=pereurl % names[0]
                        while (self.fs_svn.exist(pathpagenew)):
                            (pathpagenew,newnames[code])=new_name_file(pathpagenew)
                        pass
                        #self.fs_svn.add_link(newlink,pathpagenew)
                
            names.append(newnames[code])

        self.rename(newnames)


        newlink=pereurl % names[0]
        

        self.datas.my_session.set_new_url(newlink)
    else:
        self.datas.my_session.set_new_url('')

        
    for code in self.config.langues:
        if self.id!=0:
            textnav=self.socket.input_text_value('textnav_%s' % code,'').strip()
            if textnav=='':
                textnav=newnames[code]
            self.set_propriete('textnav_%s' % code,textnav)
        titre=self.socket.input_text_value('titrepage_%s' % code,'').strip()
        self.set_propriete('titre_%s' % code,titre)

    self.glob.reinit(self.database,self.id)

    redirect_ok(self.socket,self.datas)