当前位置: 首页>>代码示例>>PHP>>正文


PHP Workflow::handleAssignmentChange方法代码示例

本文整理汇总了PHP中Workflow::handleAssignmentChange方法的典型用法代码示例。如果您正苦于以下问题:PHP Workflow::handleAssignmentChange方法的具体用法?PHP Workflow::handleAssignmentChange怎么用?PHP Workflow::handleAssignmentChange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Workflow的用法示例。


在下文中一共展示了Workflow::handleAssignmentChange方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: dirname

// | 51 Franklin Street, Suite 330                                          |
// | Boston, MA 02110-1301, USA.                                          |
// +----------------------------------------------------------------------+
// | Authors: João Prado Maia <jpm@mysql.com>                             |
// +----------------------------------------------------------------------+
require_once dirname(__FILE__) . '/../init.php';
$tpl = new Template_Helper();
$tpl->setTemplate('self_assign.tpl.html');
Auth::checkAuthentication(APP_COOKIE, 'index.php?err=5', true);
$usr_id = Auth::getUserID();
$prj_id = Auth::getCurrentProject();
$issue_id = $_REQUEST['iss_id'];
$tpl->assign('issue_id', $issue_id);
// check if issue is assigned to someone else and if so, confirm change.
$assigned_user_ids = Issue::getAssignedUserIDs($issue_id);
if (count($assigned_user_ids) > 0 && empty($_REQUEST['target'])) {
    $tpl->assign(array('prompt_override' => 1, 'assigned_users' => Issue::getAssignedUsers($issue_id)));
} else {
    $issue_details = Issue::getDetails($issue_id);
    // force assignment change
    if (@$_REQUEST['target'] == 'replace') {
        // remove current user(s) first
        Issue::deleteUserAssociations($issue_id, $usr_id);
    }
    $res = Issue::addUserAssociation($usr_id, $issue_id, $usr_id);
    $tpl->assign('self_assign_result', $res);
    Notification::subscribeUser($usr_id, $issue_id, $usr_id, Notification::getDefaultActions($issue_id, User::getEmail($usr_id), 'self_assign'));
    Workflow::handleAssignmentChange($prj_id, $issue_id, $usr_id, $issue_details, Issue::getAssignedUserIDs($issue_id), false);
}
$tpl->assign('current_user_prefs', Prefs::get($usr_id));
$tpl->displayTemplate();
开发者ID:korusdipl,项目名称:eventum,代码行数:31,代码来源:self_assign.php

示例2: setAssignees

 /**
  * Sets the assignees for the issue
  *
  * @param   integer $issue_id
  * @param   array $assignees
  * @return  int 1 if success, -1 if error, 0 if no change was needed.
  */
 public static function setAssignees($issue_id, $assignees)
 {
     if (!is_array($assignees)) {
         $assignees = array();
     }
     // see if there is anything to change
     $old_assignees = self::getAssignedUserIDs($issue_id);
     if (count(array_diff($old_assignees, $assignees)) == 0 && count(array_diff($assignees, $old_assignees)) == 0) {
         return 0;
     }
     $old_assignee_names = self::getAssignedUsers($issue_id);
     Workflow::handleAssignmentChange(self::getProjectID($issue_id), $issue_id, Auth::getUserID(), self::getDetails($issue_id), $assignees, true);
     // clear up the assignments for this issue, and then assign it to the current user
     self::deleteUserAssociations($issue_id);
     $assignee_names = array();
     foreach ($assignees as $assignee) {
         $res = self::addUserAssociation(Auth::getUserID(), $issue_id, $assignee, false);
         if ($res == -1) {
             return -1;
         }
         $assignee_names[] = User::getFullName($assignee);
         Notification::subscribeUser(Auth::getUserID(), $issue_id, $assignee, Notification::getDefaultActions($issue_id, User::getEmail($assignee), 'set_assignees'), false);
     }
     Notification::notifyNewAssignment($assignees, $issue_id);
     $usr_id = Auth::getUserID();
     History::add($issue_id, $usr_id, 'user_associated', 'Issue assignment to changed ({changes}) by {user}', array('changes' => History::formatChanges(implode(', ', $old_assignee_names), implode(', ', $assignee_names)), 'user' => User::getFullName($usr_id)));
     return 1;
 }
开发者ID:dabielkabuto,项目名称:eventum,代码行数:35,代码来源:class.issue.php

示例3: elseif

    $tpl->assign("delete_filter_result", $res);
} elseif (@$HTTP_POST_VARS["cat"] == "remove_support_email") {
    $res = Support::removeAssociation();
    $tpl->assign("remove_association_result", $res);
} elseif (@$HTTP_GET_VARS["cat"] == "delete_attachment") {
    $res = Attachment::remove($HTTP_GET_VARS["id"]);
    $tpl->assign("remove_attachment_result", $res);
} elseif (@$HTTP_GET_VARS["cat"] == "delete_file") {
    $res = Attachment::removeIndividualFile($HTTP_GET_VARS["id"]);
    $tpl->assign("remove_file_result", $res);
} elseif (@$HTTP_POST_VARS["cat"] == "remove_checkin") {
    $res = SCM::remove();
    $tpl->assign("remove_checkin_result", $res);
} elseif (@$HTTP_GET_VARS['cat'] == 'unassign') {
    $res = Issue::deleteUserAssociation($HTTP_GET_VARS["iss_id"], $usr_id);
    Workflow::handleAssignmentChange($prj_id, $HTTP_GET_VARS["iss_id"], Auth::getUserID(), Issue::getDetails($HTTP_GET_VARS["iss_id"]), Issue::getAssignedUserIDs($HTTP_GET_VARS["iss_id"]));
    $tpl->assign('unassign_result', $res);
} elseif (@$HTTP_POST_VARS["cat"] == "remove_email") {
    $res = Support::removeEmails();
    $tpl->assign("remove_email_result", $res);
} elseif (@$HTTP_GET_VARS["cat"] == "clear_duplicate") {
    $res = Issue::clearDuplicateStatus($HTTP_GET_VARS["iss_id"]);
    $tpl->assign("clear_duplicate_result", $res);
} elseif (@$HTTP_GET_VARS["cat"] == "delete_phone") {
    $res = Phone_Support::remove($HTTP_GET_VARS["id"]);
    $tpl->assign("delete_phone_result", $res);
} elseif (@$HTTP_GET_VARS["cat"] == "new_status") {
    // XXX: need to call the workflow api in the following function?
    $res = Issue::setStatus($HTTP_GET_VARS["iss_id"], $HTTP_GET_VARS["new_sta_id"], true);
    if ($res == 1) {
        History::add($HTTP_GET_VARS["iss_id"], $usr_id, History::getTypeID('status_changed'), "Issue manually set to status '" . Status::getStatusTitle($HTTP_GET_VARS["new_sta_id"]) . "' by " . User::getFullName($usr_id));
开发者ID:juliogallardo1326,项目名称:proc,代码行数:31,代码来源:popup.php

示例4: elseif

    $tpl->assign('delete_filter_result', $res);
} elseif ($cat == 'remove_support_email') {
    $res = Support::removeAssociation();
    $tpl->assign('remove_association_result', $res);
} elseif ($cat == 'delete_attachment') {
    $res = Attachment::remove($id);
    $tpl->assign('remove_attachment_result', $res);
} elseif ($cat == 'delete_file') {
    $res = Attachment::removeIndividualFile($id);
    $tpl->assign('remove_file_result', $res);
} elseif ($cat == 'remove_checkin') {
    $res = SCM::remove($items);
    $tpl->assign('remove_checkin_result', $res);
} elseif ($cat == 'unassign') {
    $res = Issue::deleteUserAssociation($iss_id, $usr_id);
    Workflow::handleAssignmentChange($prj_id, $iss_id, Auth::getUserID(), Issue::getDetails($iss_id), Issue::getAssignedUserIDs($iss_id));
    $tpl->assign('unassign_result', $res);
} elseif ($cat == 'remove_email') {
    $res = Support::removeEmails();
    $tpl->assign('remove_email_result', $res);
} elseif ($cat == 'clear_duplicate') {
    $res = Issue::clearDuplicateStatus($iss_id);
    $tpl->assign('clear_duplicate_result', $res);
} elseif ($cat == 'delete_phone') {
    $res = Phone_Support::remove($id);
    $tpl->assign('delete_phone_result', $res);
} elseif ($cat == 'new_status') {
    $res = Issue::setStatus($iss_id, $status_id, true);
    if ($res == 1) {
        History::add($iss_id, $usr_id, 'status_changed', "Issue manually set to status '{status}' by {user}", array('status' => Status::getStatusTitle($status_id), 'user' => User::getFullName($usr_id)));
    }
开发者ID:korusdipl,项目名称:eventum,代码行数:31,代码来源:popup.php

示例5: update


//.........这里部分代码省略.........
     if (@$HTTP_POST_VARS["keep"] == "no") {
         $stmt .= "iss_pre_id=" . Misc::escapeInteger($HTTP_POST_VARS["release"]) . ",";
     }
     if (!empty($HTTP_POST_VARS['expected_resolution_date'])) {
         $stmt .= "iss_expected_resolution_date='" . Misc::escapeString($HTTP_POST_VARS['expected_resolution_date']) . "',";
     } else {
         $stmt .= "iss_expected_resolution_date=null,";
     }
     $stmt .= "\n                    iss_pre_id=" . Misc::escapeInteger($HTTP_POST_VARS["release"]) . ",\n                    iss_pri_id=" . Misc::escapeInteger($HTTP_POST_VARS["priority"]) . ",\n                    iss_sta_id=" . Misc::escapeInteger($HTTP_POST_VARS["status"]) . ",\n                    iss_res_id=" . Misc::escapeInteger($HTTP_POST_VARS["resolution"]) . ",\n                    iss_summary='" . Misc::escapeString($HTTP_POST_VARS["summary"]) . "',\n                    iss_description='" . Misc::escapeString($HTTP_POST_VARS["description"]) . "',\n                    iss_dev_time='" . Misc::escapeString($HTTP_POST_VARS["estimated_dev_time"]) . "',\n                    iss_percent_complete= '" . Misc::escapeString($HTTP_POST_VARS["percent_complete"]) . "',\n                    iss_trigger_reminders=" . Misc::escapeInteger($HTTP_POST_VARS["trigger_reminders"]) . ",\n                    iss_grp_id ='" . Misc::escapeInteger($HTTP_POST_VARS["group"]) . "'";
     if (isset($HTTP_POST_VARS['private'])) {
         $stmt .= ",\n                    iss_private = " . Misc::escapeInteger($HTTP_POST_VARS['private']);
     }
     $stmt .= "\n                 WHERE\n                    iss_id={$issue_id}";
     $res = $GLOBALS["db_api"]->dbh->query($stmt);
     if (PEAR::isError($res)) {
         Error_Handler::logError(array($res->getMessage(), $res->getDebugInfo()), __FILE__, __LINE__);
         return -1;
     } else {
         // add change to the history (only for changes on specific fields?)
         $updated_fields = array();
         if ($current["iss_expected_resolution_date"] != $HTTP_POST_VARS['expected_resolution_date']) {
             $updated_fields["Expected Resolution Date"] = History::formatChanges($current["iss_expected_resolution_date"], $HTTP_POST_VARS['expected_resolution_date']);
         }
         if ($current["iss_prc_id"] != $HTTP_POST_VARS["category"]) {
             $updated_fields["Category"] = History::formatChanges(Category::getTitle($current["iss_prc_id"]), Category::getTitle($HTTP_POST_VARS["category"]));
         }
         if ($current["iss_pre_id"] != $HTTP_POST_VARS["release"]) {
             $updated_fields["Release"] = History::formatChanges(Release::getTitle($current["iss_pre_id"]), Release::getTitle($HTTP_POST_VARS["release"]));
         }
         if ($current["iss_pri_id"] != $HTTP_POST_VARS["priority"]) {
             $updated_fields["Priority"] = History::formatChanges(Priority::getTitle($current["iss_pri_id"]), Priority::getTitle($HTTP_POST_VARS["priority"]));
             Workflow::handlePriorityChange($prj_id, $issue_id, $usr_id, $current, $HTTP_POST_VARS);
         }
         if ($current["iss_sta_id"] != $HTTP_POST_VARS["status"]) {
             // clear out the last-triggered-reminder flag when changing the status of an issue
             Reminder_Action::clearLastTriggered($issue_id);
             // if old status was closed and new status is not, clear closed data from issue.
             $old_status_details = Status::getDetails($current['iss_sta_id']);
             if ($old_status_details['sta_is_closed'] == 1) {
                 $new_status_details = Status::getDetails($HTTP_POST_VARS["status"]);
                 if ($new_status_details['sta_is_closed'] != 1) {
                     Issue::clearClosed($issue_id);
                 }
             }
             $updated_fields["Status"] = History::formatChanges(Status::getStatusTitle($current["iss_sta_id"]), Status::getStatusTitle($HTTP_POST_VARS["status"]));
         }
         if ($current["iss_res_id"] != $HTTP_POST_VARS["resolution"]) {
             $updated_fields["Resolution"] = History::formatChanges(Resolution::getTitle($current["iss_res_id"]), Resolution::getTitle($HTTP_POST_VARS["resolution"]));
         }
         if ($current["iss_dev_time"] != $HTTP_POST_VARS["estimated_dev_time"]) {
             $updated_fields["Estimated Dev. Time"] = History::formatChanges(Misc::getFormattedTime($current["iss_dev_time"] * 60), Misc::getFormattedTime($HTTP_POST_VARS["estimated_dev_time"] * 60));
         }
         if ($current["iss_summary"] != $HTTP_POST_VARS["summary"]) {
             $updated_fields["Summary"] = '';
         }
         if ($current["iss_description"] != $HTTP_POST_VARS["description"]) {
             $updated_fields["Description"] = '';
         }
         if (count($updated_fields) > 0) {
             // log the changes
             $changes = '';
             $i = 0;
             foreach ($updated_fields as $key => $value) {
                 if ($i > 0) {
                     $changes .= "; ";
                 }
                 if ($key != "Summary" && $key != "Description") {
                     $changes .= "{$key}: {$value}";
                 } else {
                     $changes .= "{$key}";
                 }
                 $i++;
             }
             History::add($issue_id, $usr_id, History::getTypeID('issue_updated'), "Issue updated ({$changes}) by " . User::getFullName($usr_id));
             // send notifications for the issue being updated
             Notification::notifyIssueUpdated($issue_id, $current, $HTTP_POST_VARS);
         }
         // record group change as a seperate change
         if ($current["iss_grp_id"] != $HTTP_POST_VARS["group"]) {
             History::add($issue_id, $usr_id, History::getTypeID('group_changed'), "Group changed (" . History::formatChanges(Group::getName($current["iss_grp_id"]), Group::getName($HTTP_POST_VARS["group"])) . ") by " . User::getFullName($usr_id));
         }
         // now update any duplicates, if any
         $update_dupe = array('Category', 'Release', 'Priority', 'Release', 'Resolution');
         // COMPAT: the following line requires PHP > 4.0.4
         $intersect = array_intersect($update_dupe, array_keys($updated_fields));
         if ($current["duplicates"] != '' && count($intersect) > 0) {
             Issue::updateDuplicates($issue_id);
         }
         // if there is customer integration, mark last customer action
         if (Customer::hasCustomerIntegration($prj_id) && User::getRoleByUser($usr_id, $prj_id) == User::getRoleID('Customer')) {
             Issue::recordLastCustomerAction($issue_id);
         }
         if ($assignments_changed) {
             // XXX: we may want to also send the email notification for those "new" assignees
             Workflow::handleAssignmentChange(Issue::getProjectID($issue_id), $issue_id, $usr_id, Issue::getDetails($issue_id), @$HTTP_POST_VARS['assignments'], false);
         }
         Workflow::handleIssueUpdated($prj_id, $issue_id, $usr_id, $current, $HTTP_POST_VARS);
         return 1;
     }
 }
开发者ID:juliogallardo1326,项目名称:proc,代码行数:101,代码来源:class.issue.php


注:本文中的Workflow::handleAssignmentChange方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。