Exemplo n.º 1
0
 def __init__(self, env, **kwargs):
     template_filename = kwargs.get('template_filename') or 'scrum/backlog/templates/agilo_burndown_chart.html'
     self._define_chart_resources(env, template_filename, kwargs)
     kwargs['scripts'] = ('agilo/js/burndown.js',)
     self.super(env, template_filename, **kwargs)
     self.t_controller = TeamController(self.env)
     self.sp_controller = SprintController(self.env)
     self.b_controller = BacklogController(self.env)
     self.burndown_data = dict()
Exemplo n.º 2
0
 def _get_backlog(self, req, name, scope=None, reload=True, filter_by=None):
     """Retrieve the Backlog with the given name and scope, and sets it as
     default in the session of the user"""
     cmd_get_backlog = \
         BacklogController.GetBacklogCommand(self.env, name=name,
                             scope=scope, reload=reload, filter_by=filter_by)
     backlog = BacklogController(self.env).process_command(cmd_get_backlog)
     SessionScope(req).set_scope(scope, backlog.config.type)
     return backlog
Exemplo n.º 3
0
 def do_post(self, req, data):
     name = req.args.get(Key.NAME)
     scope = req.args.get(Key.SCOPE)
     # These should be in the JSON posted data.
     ticket = int(data.get(Key.TICKET))
     to_pos = int(data.get(Key.TO_POS))
     cmd_move = BacklogController.MoveBacklogItemCommand(self.env,
                                                         name=name,
                                                         scope=scope,
                                                         ticket=ticket,
                                                         to_pos=to_pos)
     return BacklogController(self.env).process_command(cmd_move)
Exemplo n.º 4
0
    def send_backlog_list_data(self, req, data):
        """add to the data array the backlog data necessary to show
        the backlog list"""
        def milestone_options(milestones, selected):
            """
            Return three lists of tuple (milestone_name, selected) for
            the milestones which are:
                - Open with a due date
                - Open without a due date
                - Closed
            """
            open_with_due_date = list()
            open_without_due_date = list()
            closed = list()
            for m in milestones:
                m_list = None
                if m.is_completed:
                    m_list = closed
                elif m.due:
                    m_list = open_with_due_date
                else:
                    m_list = open_without_due_date
                # append the milestone to the list
                m_list.append((m.name, m.name == selected))

            return open_with_due_date, open_without_due_date, closed

        # Maximum items in the pulldown, ordered by status and by time
        # The number is the maximum per status, so 5 closed, 5 running
        # and 5 to start
        MAX_ITEMS = 5

        milestone_list = None
        if data is not None and Action.BACKLOG_VIEW in req.perm:
            data['sprint_list'] = self.running_to_start_closed_sprints(req)
            cmd_list = BacklogController.ListBacklogsCommand(self.env)
            data['backlog_list'] = \
                BacklogController(self.env).process_command(cmd_list)
            s_milestone = SessionScope(req).milestone_name()
            open_due, open, closed = \
                milestone_options(AgiloMilestone.select(self.env), s_milestone)
            milestone_list = [{
                Key.LABEL: _('Open (by Due Date)'),
                Key.OPTIONS: open_due
            }, {
                Key.LABEL: _('Open (no Due Date)'),
                Key.OPTIONS: open
            }, {
                Key.LABEL: _('Closed'),
                Key.OPTIONS: closed[-MAX_ITEMS:]
            }]
            data['milestone_list'] = milestone_list
Exemplo n.º 5
0
 def _get_sprint_backlog(self, sprint_name):
     cmd_get = BacklogController.GetBacklogCommand(self.env,
                                                   name=Key.SPRINT_BACKLOG,
                                                   scope=sprint_name)
     cmd_get.native = True
     return BacklogController(self.env).process_command(cmd_get)
Exemplo n.º 6
0
 def _get_backlogs(self):
     select_cmd = BacklogController.ListBacklogsCommand(self.env)
     return BacklogController(self.env).process_command(select_cmd)
Exemplo n.º 7
0
 def setUp(self):
     self.super()
     self.tester.login_as(Usernames.admin)
     self.controller = BacklogController(self.env)
     self.backlog = self.teh.create_backlog('Product Backlog',
                                            num_of_items=20)
Exemplo n.º 8
0
 def setUp(self):
     """Loads a Backlog Controller"""
     self.super()
     self.controller = BacklogController(self.env)
Exemplo n.º 9
0
 def _get_backlog(self, name, scope):
     cmd_get = BacklogController.GetBacklogCommand(self.env,
                                                   name=name,
                                                   scope=scope)
     backlog = BacklogController(self.env).process_command(cmd_get)
     return backlog