예제 #1
0
 def _get_remaining_time_now(self, env, sprint):
     from agilo.scrum import SprintController
     cmd_class = SprintController.GetTotalRemainingTimeCommand
     cmd_tot_rem_time = cmd_class(env, sprint=sprint, day=now(tz=utc), 
                                  tickets=self.tickets)
     commitment = SprintController(env).process_command(cmd_tot_rem_time)
     return commitment
예제 #2
0
파일: web_ui.py 프로젝트: nagyist/agilo
    def _prepare_fields(self, req, ticket, field_changes=None):
        """Set specific renderer for the ticket fields"""
        fields = super(AgiloTicketModule, self)._prepare_fields(req, ticket)
        if not AgiloConfig(self.env).is_agilo_enabled:
            return fields

        from agilo.scrum import SprintController
        sp_controller = SprintController(self.env)

        for field in fields:
            field[Key.RENDERED] = self._rendered_ticket_value(ticket, field)
            # makes the nice Sprint pulldown to emulate the milestone one
            if field[Key.NAME] == Key.SPRINT:
                get_options = SprintController.GetSprintOptionListCommand(
                    self.env, sprint_names=field[Key.OPTIONS])
                closed, running, to_start = sp_controller.process_command(
                    get_options)
                field[Key.OPTIONS] = []
                field[Key.OPTIONS_GROUP] = [
                    {
                        Key.LABEL: _('Running (by Start Date)'),
                        Key.OPTIONS: running
                    },
                    {
                        Key.LABEL: _('To Start (by Start Date)'),
                        Key.OPTIONS: to_start
                    },
                    {
                        Key.LABEL: _('Closed (by Start Date)'),
                        Key.OPTIONS: closed
                    },
                ]
        return fields
예제 #3
0
 def setUp(self):
     self.super()
     self.bmm = BacklogModelManager(self.teh.get_env())
     self.team = self.teh.create_team('FooTeam')
     self.teh.create_member('tester', self.team)
     self.teh.create_member('Foo', self.team)
     self.sprint = self.teh.create_sprint('ResourceLoadSprint',
                                          team=self.team)
     self.build_sprint_backlog_with_tasks(self.sprint)
     self.controller = SprintController(self.env)
     self.metrics = self.sprint.get_team_metrics()
예제 #4
0
    def setUp(self):
        self.super()
        self.controller = SprintController(self.env)

        self.team = self.teh.create_team('Test team')
        # Preventing a RuleValidationException (Owner not Team Member)
        self.teh.create_member(name='tester', team=self.team)
        self.sprint = self.teh.create_sprint("Test Sprint", team=self.team)

        self.metrics = TeamMetrics(self.env, self.sprint, self.team)
        self.metrics[Key.RT_USP_RATIO] = 1.5
        self.metrics.save()

        self.bmm = BacklogModelManager(self.env)
        self.smm = SprintModelManager(self.env)

        self.sprint_backlog, self.story1, self.task1, self.task2 = \
            self._build_sprint_backlog_with_tasks(self.sprint)
예제 #5
0
 def setUp(self):
     self.super()
     self.old_sprint = self.teh.create_sprint("Sprint One")
     self.new_sprint = self.teh.create_sprint(
         "New Sprint", milestone=self.old_sprint.milestone)
     self.us1 = self.teh.create_ticket(
         Type.USER_STORY, props={Key.SPRINT: self.old_sprint.name})
     self.t1 = self.teh.create_ticket(Type.TASK,
                                      props={
                                          Key.SPRINT: self.old_sprint.name,
                                          Key.REMAINING_TIME: '12'
                                      })
     self.us1.link_to(self.t1)
     self.t2 = self.teh.create_ticket(Type.TASK,
                                      props={
                                          Key.SPRINT: self.old_sprint.name,
                                          Key.REMAINING_TIME: '12'
                                      })
     self.us1.link_to(self.t2)
     self.teh.move_changetime_to_the_past([self.us1, self.t1, self.t2])
     # build a sprint controller
     self.controller = SprintController(self.env)
     self.bmm = BacklogModelManager(self.env)
예제 #6
0
파일: web_ui.py 프로젝트: nagyist/agilo
 def do_get(self, req):
     from agilo.scrum import SprintController
     
     get_team = TeamController.GetTeamCommand(self.env, team=req.args['team'])
     team = self.controller.process_command(get_team)
     sprint_controller = SprintController(self.env)
     get_sprint = SprintController.GetSprintCommand(self.env, sprint=req.args['sprint'])
     sprint = sprint_controller.process_command(get_sprint)
     
     req.perm.assert_permission(Action.TEAM_VIEW, team.resource)
     # Why don't we have some kind of SPRINT_VIEW permission?
     
     cmd = SprintController.GetResourceLoadForDevelopersInSprintCommand(self.env, sprint=sprint.name)
     data = sprint_controller.process_command(cmd)
     load_totals = data.load_totals
     developers = data.developers
     for developer in developers:
         self._format_developer_data(req, developer)
     
     net_capacity_cmd = SprintController.GetSprintNetCapacityCommand(self.env, sprint=sprint.name)
     net_capacity = sprint_controller.process_command(net_capacity_cmd)
     team.net_capacity = TimePropertyRenderer(self.env, net_capacity).render()
     
     add_stylesheet(req, "common/css/report.css")
     
     from agilo.scrum.contingent import ContingentWidget
     contingent_widget = ContingentWidget(self.env, sprint=sprint)
     contingent_widget.prepare_rendering(req)
     
     data = dict(team=team, sprint=sprint,
                 edit_all   = req.perm.has_permission(Action.TEAM_CAPACITY_EDIT, team.resource),
                 developers = developers,
                 load_totals = load_totals,
                 contingent_widget = contingent_widget,
                )
     return data
예제 #7
0
 def setUp(self):
     self.super()
     self.sprint = self.create_sprint_with_team('TestSprint')
     self.controller = SprintController(self.env)
     self.bmm = BacklogModelManager(self.env)
     self.team = self.teh.create_team('ControllerTeam')
예제 #8
0
 def _get_sprint(self, req):
     from agilo.scrum import SprintController
     cmd = SprintController.GetSprintCommand(self.env,
                                             sprint=req.args['sprint'])
     sprint = SprintController(self.env).process_command(cmd)
     return sprint
예제 #9
0
파일: controller.py 프로젝트: nagyist/agilo
 def __init__(self):
     self.sprint_controller = SprintController(self.env)