Esempio n. 1
0
    def get_stream(self, req, method, filename, stream, original_data):

        chrome = Chrome(self.env)
        data = original_data
        data['components'] = [component.name for component in trac.ticket.model.Component.select(self.env)]
        data['logs'] = WorkLogTable.getByTicketId(self.env, data['ticket'].id)
        template = chrome.load_template('work_log.html')
        content_stream = template.generate(**(chrome.populate_data(req, data)))
        chrome.add_jquery_ui(req)
        add_stylesheet(req, 'trac/css/work-log.css')
        return Transformer('//div[@id="ticket"]').after(content_stream)
Esempio n. 2
0
    def process_request(self, req):
        context = Context.from_request(req)
        db = self.env.get_db_cnx()
        context.cursor = db.cursor()

        if req.args.get('fromDMY') and req.args.get('toDMY'):
            fromDMY = int(time.mktime(time.strptime(req.args.get('fromDMY'), '%d-%m-%Y'))).__str__()
            toDMY = int(time.mktime(time.strptime(req.args.get('toDMY'), '%d-%m-%Y'))).__str__()
            all_tickets_with_worklogs=[]
            tickets_id = self._get_tickets_for_period(fromDMY, toDMY)

            for ticket in tickets_id:
                worked_time=0
                worklogByTicket=WorkLogTable.getByTicketId(self.env, ticket['ticketId'])
                for worklog in worklogByTicket:
                    worked_time+=worklog['time_spent']
                worklog = {
                'ticketId': ticket['ticketId'],
                'summary':ticket['summary'],
                'worked_time':worked_time,
                'worked_time_hours':worked_time/60,
                'worked_time_minutes':worked_time%60,
                'worklogs': worklogByTicket
                }
                if worklog['worklogs']!=[]:
                    all_tickets_with_worklogs.append(worklog)

            total_time=0
            for tickets in all_tickets_with_worklogs:
                total_time+=tickets['worked_time']

            req.data = {
                'fromDMY': req.args.get('fromDMY'),
                'toDMY': req.args.get('toDMY'),
                'tickets_with_worklogs':all_tickets_with_worklogs,
                'total_time_hours':total_time/60,
                'total_time_minutes':total_time%60
            }

            add_stylesheet(req, 'trac/css/tracker.css')
            add_stylesheet(req, 'trac/css/work-log.css')
            return "period_report.html", req.data, None

        else:
            req.data = {}
            add_script(req, 'common/js/jquery-ui.js')
            add_stylesheet(req, 'common/css/jquery-ui/jquery-ui.css')
            add_script(req, 'common/js/jquery-ui-addons.js')
            add_stylesheet(req, 'common/css/jquery-ui-addons.css')
            add_stylesheet(req, 'trac/css/tracker.css')
            return "report_date_picker.html", req.data, None