コード例 #1
0
ファイル: core.py プロジェクト: nyuhuhuu/trachacks
    def _add_step_1(self, req, templateData):
        release = model.Release()
        release.version = req.args.get("selectReleaseVersion")
        if not release.version:
            return 'release_add_1.html', templateData, None
        
        # here a version has already been selected, assume it's name as the release name
        v = data.loadVersion(self, release.version)
        templateData['releaseName'] = v['name']
        release.planned_date = v['time']
        release.description = v['description']
        release.author        = req.authname
        release.creation_date = datefmt.to_timestamp(datefmt.to_datetime(None))

        templateData['releaseAvailableProcedures'] = data.findInstallProcedures(self)

        # Setting tickets according to the selected version"
        templateData['releaseTickets'] = ""
        release.tickets = data.getVersionTickets(self, release.version)
        for ticket in release.tickets:
            templateData['releaseTickets'] = templateData['releaseTickets'] + str(ticket.ticket_id) + ","

        templateData['release'] = release
        
        return ('release_add_2.html', templateData, None)
コード例 #2
0
ファイル: core.py プロジェクト: pombredanne/trachacks
    def _add_step_1(self, req, templateData):
        release = model.Release()
        release.version = req.args.get("selectReleaseVersion")
        if not release.version:
            return 'release_add_1.html', templateData, None

        # here a version has already been selected, assume it's name as the release name
        v = data.loadVersion(self, release.version)
        templateData['releaseName'] = v['name']
        release.planned_date = v['time']
        release.description = v['description']
        release.author = req.authname
        release.creation_date = datefmt.to_timestamp(datefmt.to_datetime(None))

        templateData[
            'releaseAvailableProcedures'] = data.findInstallProcedures(self)

        # Setting tickets according to the selected version"
        templateData['releaseTickets'] = ""
        release.tickets = data.getVersionTickets(self, release.version)
        for ticket in release.tickets:
            templateData['releaseTickets'] = templateData[
                'releaseTickets'] + str(ticket.ticket_id) + ","

        templateData['release'] = release

        return ('release_add_2.html', templateData, None)
コード例 #3
0
ファイル: core.py プロジェクト: nyuhuhuu/trachacks
    def _add_step_2(self, req, templateData):        
        templateData['preview'] = False
        release = model.Release()

        release.author                     = req.authname
        release.creation_date              = datefmt.to_timestamp(datefmt.to_datetime(None))
        release.errors                     = []
        release.version                    = req.args.get("selectReleaseVersion")
        release.description                = req.args.get("txtReleaseDescription")
        release.planned_date               = req.args.get("txtReleasePlannedDate")
        release.author                     = req.authname
        templateData['releaseTickets']     = req.args.get("hiddenReleaseTickets")
        templateData['releaseName']        = req.args.get("txtReleaseName")
        
        templateData['releaseSignatures']  = req.args.get("hiddenReleaseSignatures")
        release.signatures = [model.ReleaseSignee(None, signee.strip(), None) for
                              signee in templateData['releaseSignatures'].split(",") if
                              signee.strip()]
        
        ## load selected install procedures
        procs = data.findInstallProcedures(self)
        templateData['releaseAvailableProcedures'] = procs

        release.install_procedures = []
        for proc in procs:
            proc.checked = False
            sel = req.args.get("releaseProcedure_" + str(proc.id))
            if sel:
                proc.checked = True
                self.log.debug("_add_step_2: InstallProc: %s selected" % str(proc))
                arqs = req.args.get("releaseProcedureFile_" + str(proc.id))
                if arqs:
                    arqs = [arq.strip() for arq in arqs.split(",") if arq.strip()]
                    proc.files = arqs
                else:
                    arqs = None
                    
                release.install_procedures.append(model.ReleaseInstallProcedure(None, proc, arqs))
                
                try:
                    # Find node for the requested path/rev
                    repos = self.env.get_repository(req.authname)
                    self.log.debug("Tag 1.0 existe? " + (repos.has_node("/TracReleasePlugin/tags/1.0") and "sim" or "nao"))
                    if arq:
                        for arq in arqs:
                            self.log.debug("\tArquivo: " + arq)
                            arq = self.getSourcePath(arq)
                            self.log.debug("\t\t\t" + str(arq))
                            self.log.debug("\t\t\t" + (repos.has_node(arq[0]) and "sim" or "nao"))
                except Exception, e:
                    self.log.error(e)
            
            self.log.debug("Proc")
            self.log.debug("\t\t" + str(proc))
            for ip in release.install_procedures:
                self.log.debug("\n\n\t\t\t" + str(ip))
コード例 #4
0
ファイル: core.py プロジェクト: nyuhuhuu/trachacks
    def process_request(self, req):
        self.log.info("process_request: action: %s" % req.args.get('action'))
        
        templateData = {}
        templateData['baseURL'] = req.href.release()
        templateData['ticketURL'] = req.href.ticket()
        
        add_stylesheet(req, 'common/css/ticket.css')
        
        
        if (not 'preview' in req.args) and (not 'save' in req.args) and (req.args['action'] != 'install_proc_add'):
            if 'id' in req.args:
                templateData['release'] = data.loadRelease(self, req.args['id'])
                
            if 'install_proc_id' in req.args:
                templateData['install_proc'] = data.loadInstallProcedure(self, req.args['install_proc_id'])
                
        else:
            if 'preview' in req.args:
                templateData['preview'] = True
                
            if ('install_proc_id' in req.args) or (req.args['action'] == 'install_proc_add'):
                install_proc_id = req.args.get('install_proc_id')
                install_proc_name = req.args.get('txtProcedureName')
                install_proc_description = req.args.get('txtProcedureDescription')
                install_proc_contain_files = req.args.get('chkProcedureContainFiles')
                
                templateData['install_proc'] = model.InstallProcedures(install_proc_id,
                                                                       install_proc_name,
                                                                       install_proc_description,
                                                                       install_proc_contain_files)
            
                if 'save' in req.args:
                    id = data.saveInstallProc(self, templateData['install_proc'])
                    self.log.info("process_request: saved InstallProc: %s (%s)" % (id, templateData['install_proc']))
                    if id:
                        templateData['install_proc'] = data.loadInstallProcedure(self, id)
                        req.args['action'] = 'install_proc_view'
                        preview = False
        
        if 'action' in req.args:
            if req.args['action'] == 'view':
                self.log.debug("VIEW: %s" % str(templateData['release']))
                return 'release_view.html', templateData, None

            if req.args['action'] == 'edit':
                templateData['availableVersions'] = data.findAvailableVersions(self)
                req.send_response(200)
                req.send_header('Content-Type', 'text/plain')
                req.end_headers()
                req.write("You can't edit an existing Release for now")
        
            if req.args['action'] == 'add':
                if req.method == "POST":
                    self.log.debug("Adding: POST")
                    ret = self._add_release(req, templateData)
                    self.log.debug(templateData)
                    self.log.debug(ret)
                    return ret[0], ret[1], ret[2]
                else:
                    self.log.debug("Adding: GET")
                    
                templateData['availableVersions'] = data.findAvailableVersions(self)
                self.log.debug(templateData)
                return 'release_add_1.html', templateData, None

            if req.args['action'] == 'install':
                return 'release_install.html', templateData, None
            
            if req.args['action'] == 'sign':
                return 'release_sign.html', templateData, None

            if req.args['action'] == 'signed':
                data.signRelease(self, req.args['id'], req.authname)
                req.redirect(req.href.release() + '/view/' + req.args['id'])
                
            if req.args['action'] == 'install_proc_list':
                templateData['availableInstallProcs'] = data.findInstallProcedures(self)
                return 'install_proc_list.html', templateData, None
                
            if req.args['action'] == 'install_proc_edit':
                templateData['availableInstallProcs'] = data.findInstallProcedures(self)
                return 'install_proc_edit.html', templateData, None
                
            if req.args['action'] == 'install_proc_add':
                templateData['availableInstallProcs'] = data.findInstallProcedures(self)
                return 'install_proc_add.html', templateData, None
                
            if req.args['action'] == 'install_proc_view':
                return 'install_proc.html', templateData, None
            
        # exibe listagem de releases existentes
        templateData['baseURL'] = req.href.release()
        templateData['releases'] = data.findAvailableReleases(self)
        self.log.debug(templateData['releases'])
        return 'release.html', templateData, None
コード例 #5
0
ファイル: core.py プロジェクト: pombredanne/trachacks
    def _add_step_2(self, req, templateData):
        templateData['preview'] = False
        release = model.Release()

        release.author = req.authname
        release.creation_date = datefmt.to_timestamp(datefmt.to_datetime(None))
        release.errors = []
        release.version = req.args.get("selectReleaseVersion")
        release.description = req.args.get("txtReleaseDescription")
        release.planned_date = req.args.get("txtReleasePlannedDate")
        release.author = req.authname
        templateData['releaseTickets'] = req.args.get("hiddenReleaseTickets")
        templateData['releaseName'] = req.args.get("txtReleaseName")

        templateData['releaseSignatures'] = req.args.get(
            "hiddenReleaseSignatures")
        release.signatures = [
            model.ReleaseSignee(None, signee.strip(), None)
            for signee in templateData['releaseSignatures'].split(",")
            if signee.strip()
        ]

        ## load selected install procedures
        procs = data.findInstallProcedures(self)
        templateData['releaseAvailableProcedures'] = procs

        release.install_procedures = []
        for proc in procs:
            proc.checked = False
            sel = req.args.get("releaseProcedure_" + str(proc.id))
            if sel:
                proc.checked = True
                self.log.debug("_add_step_2: InstallProc: %s selected" %
                               str(proc))
                arqs = req.args.get("releaseProcedureFile_" + str(proc.id))
                if arqs:
                    arqs = [
                        arq.strip() for arq in arqs.split(",") if arq.strip()
                    ]
                    proc.files = arqs
                else:
                    arqs = None

                release.install_procedures.append(
                    model.ReleaseInstallProcedure(None, proc, arqs))

                try:
                    # Find node for the requested path/rev
                    repos = self.env.get_repository(req.authname)
                    self.log.debug("Tag 1.0 existe? " + (repos.has_node(
                        "/TracReleasePlugin/tags/1.0") and "sim" or "nao"))
                    if arq:
                        for arq in arqs:
                            self.log.debug("\tArquivo: " + arq)
                            arq = self.getSourcePath(arq)
                            self.log.debug("\t\t\t" + str(arq))
                            self.log.debug("\t\t\t" + (
                                repos.has_node(arq[0]) and "sim" or "nao"))
                except Exception, e:
                    self.log.error(e)

            self.log.debug("Proc")
            self.log.debug("\t\t" + str(proc))
            for ip in release.install_procedures:
                self.log.debug("\n\n\t\t\t" + str(ip))
コード例 #6
0
ファイル: core.py プロジェクト: pombredanne/trachacks
    def process_request(self, req):
        self.log.info("process_request: action: %s" % req.args.get('action'))

        templateData = {}
        templateData['baseURL'] = req.href.release()
        templateData['ticketURL'] = req.href.ticket()

        add_stylesheet(req, 'common/css/ticket.css')

        if (not 'preview' in req.args) and (not 'save' in req.args) and (
                req.args['action'] != 'install_proc_add'):
            if 'id' in req.args:
                templateData['release'] = data.loadRelease(
                    self, req.args['id'])

            if 'install_proc_id' in req.args:
                templateData['install_proc'] = data.loadInstallProcedure(
                    self, req.args['install_proc_id'])

        else:
            if 'preview' in req.args:
                templateData['preview'] = True

            if ('install_proc_id' in req.args) or (req.args['action']
                                                   == 'install_proc_add'):
                install_proc_id = req.args.get('install_proc_id')
                install_proc_name = req.args.get('txtProcedureName')
                install_proc_description = req.args.get(
                    'txtProcedureDescription')
                install_proc_contain_files = req.args.get(
                    'chkProcedureContainFiles')

                templateData['install_proc'] = model.InstallProcedures(
                    install_proc_id, install_proc_name,
                    install_proc_description, install_proc_contain_files)

                if 'save' in req.args:
                    id = data.saveInstallProc(self,
                                              templateData['install_proc'])
                    self.log.info(
                        "process_request: saved InstallProc: %s (%s)" %
                        (id, templateData['install_proc']))
                    if id:
                        templateData[
                            'install_proc'] = data.loadInstallProcedure(
                                self, id)
                        req.args['action'] = 'install_proc_view'
                        preview = False

        if 'action' in req.args:
            if req.args['action'] == 'view':
                self.log.debug("VIEW: %s" % str(templateData['release']))
                return 'release_view.html', templateData, None

            if req.args['action'] == 'edit':
                templateData['availableVersions'] = data.findAvailableVersions(
                    self)
                req.send_response(200)
                req.send_header('Content-Type', 'text/plain')
                req.end_headers()
                req.write("You can't edit an existing Release for now")

            if req.args['action'] == 'add':
                if req.method == "POST":
                    self.log.debug("Adding: POST")
                    ret = self._add_release(req, templateData)
                    self.log.debug(templateData)
                    self.log.debug(ret)
                    return ret[0], ret[1], ret[2]
                else:
                    self.log.debug("Adding: GET")

                templateData['availableVersions'] = data.findAvailableVersions(
                    self)
                self.log.debug(templateData)
                return 'release_add_1.html', templateData, None

            if req.args['action'] == 'install':
                return 'release_install.html', templateData, None

            if req.args['action'] == 'sign':
                return 'release_sign.html', templateData, None

            if req.args['action'] == 'signed':
                data.signRelease(self, req.args['id'], req.authname)
                req.redirect(req.href.release() + '/view/' + req.args['id'])

            if req.args['action'] == 'install_proc_list':
                templateData[
                    'availableInstallProcs'] = data.findInstallProcedures(self)
                return 'install_proc_list.html', templateData, None

            if req.args['action'] == 'install_proc_edit':
                templateData[
                    'availableInstallProcs'] = data.findInstallProcedures(self)
                return 'install_proc_edit.html', templateData, None

            if req.args['action'] == 'install_proc_add':
                templateData[
                    'availableInstallProcs'] = data.findInstallProcedures(self)
                return 'install_proc_add.html', templateData, None

            if req.args['action'] == 'install_proc_view':
                return 'install_proc.html', templateData, None

        # exibe listagem de releases existentes
        templateData['baseURL'] = req.href.release()
        templateData['releases'] = data.findAvailableReleases(self)
        self.log.debug(templateData['releases'])
        return 'release.html', templateData, None