[ Index ]

PHP Cross Reference of Eventum

title

Body

[close]

/ -> self_assign.php (source)

   1  <?php
   2  /* vim: set expandtab tabstop=4 shiftwidth=4 encoding=utf-8: */
   3  // +----------------------------------------------------------------------+
   4  // | Eventum - Issue Tracking System                                      |
   5  // +----------------------------------------------------------------------+
   6  // | Copyright (c) 2003, 2004, 2005, 2006, 2007 MySQL AB                  |
   7  // |                                                                      |
   8  // | This program is free software; you can redistribute it and/or modify |
   9  // | it under the terms of the GNU General Public License as published by |
  10  // | the Free Software Foundation; either version 2 of the License, or    |
  11  // | (at your option) any later version.                                  |
  12  // |                                                                      |
  13  // | This program is distributed in the hope that it will be useful,      |
  14  // | but WITHOUT ANY WARRANTY; without even the implied warranty of       |
  15  // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        |
  16  // | GNU General Public License for more details.                         |
  17  // |                                                                      |
  18  // | You should have received a copy of the GNU General Public License    |
  19  // | along with this program; if not, write to:                           |
  20  // |                                                                      |
  21  // | Free Software Foundation, Inc.                                       |
  22  // | 59 Temple Place - Suite 330                                          |
  23  // | Boston, MA 02111-1307, USA.                                          |
  24  // +----------------------------------------------------------------------+
  25  // | Authors: João Prado Maia <jpm@mysql.com>                             |
  26  // +----------------------------------------------------------------------+
  27  //
  28  // @(#) $Id: self_assign.php 3258 2007-02-14 23:25:56Z glen $
  29  
  30  require_once(dirname(__FILE__) . "/init.php");
  31  require_once (APP_INC_PATH . "class.template.php");
  32  require_once (APP_INC_PATH . "class.misc.php");
  33  require_once (APP_INC_PATH . "class.auth.php");
  34  require_once (APP_INC_PATH . "class.issue.php");
  35  require_once (APP_INC_PATH . "class.notification.php");
  36  require_once (APP_INC_PATH . "db_access.php");
  37  
  38  $tpl = new Template_API();
  39  $tpl->setTemplate("self_assign.tpl.html");
  40  
  41  Auth::checkAuthentication(APP_COOKIE, 'index.php?err=5', true);
  42  $usr_id = Auth::getUserID();
  43  $prj_id = Auth::getCurrentProject();
  44  $issue_id = $_REQUEST["iss_id"];
  45  $tpl->assign("issue_id", $issue_id);
  46  
  47  // check if issue is assigned to someone else and if so, confirm change.
  48  $assigned_user_ids = Issue::getAssignedUserIDs($issue_id);
  49  if ((count($assigned_user_ids) > 0) && (empty($_REQUEST["target"]))) {
  50      $tpl->assign(array(
  51          "prompt_override"   =>  1,
  52          "assigned_users"    =>  Issue::getAssignedUsers($issue_id)
  53      ));
  54  } else {
  55      // force assignment change
  56      if (@$_REQUEST["target"] == "replace") {
  57          // remove current user(s) first
  58          Issue::deleteUserAssociations($issue_id, $usr_id);
  59      }
  60      $res = Issue::addUserAssociation($usr_id, $issue_id, $usr_id);
  61      $tpl->assign("self_assign_result", $res);
  62      Notification::subscribeUser($usr_id, $issue_id, $usr_id, Notification::getDefaultActions());
  63      Workflow::handleAssignment($prj_id, $issue_id, $usr_id);
  64  }
  65  
  66  
  67  $tpl->assign("current_user_prefs", Prefs::get($usr_id));
  68  
  69  $tpl->displayTemplate();


Generated: Wed Dec 19 21:21:33 2007 Cross-referenced by PHPXref 0.7