private function canUserPrioritizeBacklog(PFUser $user, $group_id)
 {
     $planning_permissions_manager = new PlanningPermissionsManager();
     $root_planning = PlanningFactory::build()->getRootPlanning($user, $group_id);
     if ($root_planning) {
         return $planning_permissions_manager->userHasPermissionOnPlanning($root_planning->getId(), $root_planning->getGroupId(), $user, PlanningPermissionsManager::PERM_PRIORITY_CHANGE);
     }
     return false;
 }
Пример #2
0
 public function tracker_event_redirect_after_artifact_creation_or_update($params)
 {
     $this->updateBacklogs($params);
     $requested_planning = $this->extractPlanningAndArtifactFromRequest($params['request']);
     if ($requested_planning) {
         $planning = PlanningFactory::build()->getPlanning($requested_planning['planning_id']);
         if ($planning && $this->requestCanLeaveTheTracker($params['request'])) {
             $this->redirectToPlanning($params, $requested_planning, $planning);
         }
     }
 }
Пример #3
0
 public function __construct(Cardwall_PaneInfo $info, Planning_Milestone $milestone, Cardwall_OnTop_Config $config, PFUser $user, Planning_MilestoneFactory $milestone_factory)
 {
     $this->info = $info;
     $this->milestone = $milestone;
     $this->config = $config;
     $this->user = $user;
     $this->milestone_factory = $milestone_factory;
     $this->artifact_factory = Tracker_ArtifactFactory::instance();
     $this->tracker_form_element_factory = Tracker_FormElementFactory::instance();
     $this->user_manager = UserManager::instance();
     $this->planning_factory = PlanningFactory::build();
 }
Пример #4
0
 public function activatePlugins()
 {
     $this->activatePlugin('tracker');
     $this->activatePlugin('agiledashboard');
     $this->activatePlugin('cardwall');
     PluginManager::instance()->invalidateCache();
     PluginManager::instance()->loadPlugins();
     $this->tracker_artifact_factory = Tracker_ArtifactFactory::instance();
     $this->tracker_formelement_factory = Tracker_FormElementFactory::instance();
     $this->tracker_factory = TrackerFactory::instance();
     $this->hierarchy_checker = new AgileDashboard_HierarchyChecker(PlanningFactory::build(), new AgileDashboard_KanbanFactory($this->tracker_factory, new AgileDashboard_KanbanDao()), $this->tracker_factory);
     return $this;
 }
 private function getBacklogStrategyFactory()
 {
     return new AgileDashboard_Milestone_Backlog_BacklogStrategyFactory(new AgileDashboard_BacklogItemDao(), $this->getArtifactFactory(), PlanningFactory::build());
 }
Пример #6
0
 private function redirectToAgileDashboard(Tracker_Artifact_Redirect $redirect, array $redirect_params)
 {
     list($planning_id, $artifact_id) = each($redirect_params);
     require_once AGILEDASHBOARD_BASE_DIR . '/Planning/PlanningFactory.class.php';
     $planning = PlanningFactory::build()->getPlanning($planning_id);
     if ($planning) {
         $redirect->base_url = AGILEDASHBOARD_BASE_URL;
         $redirect->query_parameters = array('group_id' => $planning->getGroupId(), 'planning_id' => $planning->getId(), 'action' => 'show', 'aid' => $artifact_id, 'pane' => 'cardwall');
     }
 }
Пример #7
0
 private function redirectToAgileDashboard(array $redirect_params)
 {
     list($planning_id, $artifact_id) = each($redirect_params);
     require_once AGILEDASHBOARD_BASE_DIR . '/Planning/PlanningFactory.class.php';
     $planning = PlanningFactory::build()->getPlanning($planning_id);
     if ($planning) {
         $GLOBALS['Response']->redirect(AGILEDASHBOARD_BASE_URL . '/?' . http_build_query(array('group_id' => $planning->getGroupId(), 'planning_id' => $planning->getId(), 'action' => 'show', 'aid' => $artifact_id, 'pane' => 'cardwall')));
     }
 }
 private function canUserPrioritizeBacklog(Planning_ArtifactMilestone $milestone, PFUser $user)
 {
     $artifact_factory = Tracker_ArtifactFactory::instance();
     $milestone_factory = new Planning_MilestoneFactory(PlanningFactory::build(), $artifact_factory, Tracker_FormElementFactory::instance(), TrackerFactory::instance(), new AgileDashboard_Milestone_MilestoneStatusCounter($this->dao, new Tracker_ArtifactDao(), $artifact_factory), new PlanningPermissionsManager(), new AgileDashboard_Milestone_MilestoneDao());
     return $milestone_factory->userCanChangePrioritiesInMilestone($milestone, $user);
 }
 /**
  * Builds a new PlanningFactory instance.
  *
  * @return PlanningFactory
  */
 private function getPlanningFactory()
 {
     return PlanningFactory::build();
 }
Пример #10
0
 public function process(Codendi_Request $request)
 {
     switch ($request->get('action')) {
         case 'toggle_user_autostack_column':
             $display_preferences_controller = new Cardwall_UserPreferences_UserPreferencesController($request);
             $display_preferences_controller->toggleAutostack();
             break;
         case 'toggle_user_display_avatar':
             $display_preferences_controller = new Cardwall_UserPreferences_UserPreferencesController($request);
             $display_preferences_controller->toggleUserDisplay();
             break;
         case 'get-card':
             try {
                 $single_card_builder = new Cardwall_SingleCardBuilder($this->getConfigFactory(), new Cardwall_CardFields(UserManager::instance(), Tracker_FormElementFactory::instance()), Tracker_ArtifactFactory::instance(), PlanningFactory::build());
                 $controller = new Cardwall_CardController($request, $single_card_builder->getSingleCard($request->getCurrentUser(), $request->getValidated('id', 'uint', 0), $request->getValidated('planning_id', 'uint', 0)));
                 $controller->getCard();
             } catch (Exception $exception) {
                 $GLOBALS['Response']->addFeedback(Feedback::ERROR, $exception->getMessage());
                 $GLOBALS['Response']->sendStatusCode(400);
             }
             break;
         default:
             echo 'Hello !';
     }
 }