<?php //Code to be executed before a switch activity // If we didn't retrieve the instance before if (empty($instance->instance_id)) { // This activity needs an instance to be passed to // be started, so get the instance into $instance. if (isset($_REQUEST['iid'])) { $instance->getInstance($_REQUEST['iid']); } else { // defined in lib/Galaxia/config.php galaxia_show_error(tra("No instance indicated")); die; } } // Set the current user for this activity if (!empty($instance->instance_id) && !empty($activity->activity_id)) { $instance->setActivityUser($activity->activity_id, $gBitUser->getUserId()); }
<?php //Code to be executed before an activity // If we didn't retrieve the instance before if (empty($instance->instance_id)) { // This activity needs an instance to be passed to // be started, so get the instance into $instance. if (isset($_REQUEST['iid'])) { $instance->getInstance($_REQUEST['iid']); } else { // defined in lib/Galaxia/config.php galaxia_show_error(tra("No instance indicated")); die; } } if ($instance->getActivityStatus($_REQUEST['activity_id']) == "completed") { galaxia_show_error(tra("This instance of activity is already complete")); } // Set the current user for this activity if (!empty($instance->instance_id) && !empty($activity->activity_id)) { $instance->setActivityUser($activity->activity_id, $gBitUser->getUserId()); }
<?php // $Header$ // Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al. // All Rights Reserved. See below for details and a complete list of authors. // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See http://www.gnu.org/copyleft/lesser.html for details. require_once '../../kernel/setup_inc.php'; include_once GALAXIA_PKG_PATH . '/ProcessManager.php'; // The galaxia roles manager PHP script. $gBitSystem->verifyPackage('galaxia'); $gBitSystem->verifyPermission('p_galaxia_admin', "Permission denied you cannot admin the workflow"); if (!isset($_REQUEST['pid']) || empty($_REQUEST['pid'])) { galaxia_show_error("No process indicated"); die; } $gBitSmarty->assign('pid', $_REQUEST['pid']); $proc_info = $processManager->get_process($_REQUEST['pid']); $proc_info['graph'] = GALAXIA_PROCESSES_URL . $proc_info['normalized_name'] . "/graph/" . $proc_info['normalized_name'] . ".png"; // Retrieve activity info if we are editing, assign to // default values when creating a new activity if (!isset($_REQUEST['role_id'])) { $_REQUEST['role_id'] = 0; } if ($_REQUEST["role_id"]) { $info = $roleManager->get_role($_REQUEST['pid'], $_REQUEST["role_id"]); } else { $info = array('name' => '', 'description' => '', 'role_id' => 0); } $gBitSmarty->assign('role_id', $_REQUEST['role_id']); $gBitSmarty->assign('info', $info); // Delete roles
// $Header$ // Copyright (c) 2002-2005, Luis Argerich, Garland Foster, Eduardo Polidor, et. al. // All Rights Reserved. See below for details and a complete list of authors. // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See http://www.gnu.org/copyleft/lesser.html for details. // This file was created by Víctor Codocedo on 01/31/2005 require_once '../../kernel/setup_inc.php'; include_once GALAXIA_PKG_PATH . 'ProcessManager.php'; include_once GALAXIA_PKG_PATH . 'API.php'; $gBitSystem->verifyPackage('galaxia'); $gBitSystem->verifyPermission('p_galaxia_admin', "Permission denied you cannot admin the workflow"); if (!isset($_REQUEST['iid'])) { galaxia_show_error(tra("No instance indicated")); die; } if (!isset($_REQUEST['aid'])) { galaxia_show_error(tra("No activity indicated")); } $gBitSmarty->assign('iid', $_REQUEST['iid']); $gBitSmarty->assign('aid', $_REQUEST['aid']); // Get workitems and list the workitems with an option to edit workitems for // this instance if (isset($_REQUEST['save'])) { //status, user $instanceManager->set_instance_status($_REQUEST['iid'], $_REQUEST['status']); $instanceManager->set_instance_name($_REQUEST['iid'], $_REQUEST['name']); $instanceManager->set_instance_user($_REQUEST['iid'], $_REQUEST['user']); //y luego acts[activity_id][user] para reasignar users if (isset($_REQUEST['acts'])) { foreach (array_keys($_REQUEST['acts']) as $act) { $instanceManager->set_instance_user($_REQUEST['iid'], $act, $_REQUEST['acts'][$act]); }
<?php // $Header$ // Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al. // All Rights Reserved. See below for details and a complete list of authors. // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See http://www.gnu.org/copyleft/lesser.html for details. require_once '../kernel/setup_inc.php'; include_once GALAXIA_PKG_PATH . '/ProcessMonitor.php'; $gBitSystem->verifyPackage('galaxia'); $gBitSystem->verifyPermission('p_galaxia_use', "Permission denied you cannot use the workflow"); if (!isset($_REQUEST['item_id'])) { galaxia_show_error("No item indicated"); die; } $wi = $processMonitor->monitor_get_workitem($_REQUEST['item_id']); $gBitSmarty->assign_by_ref('wi', $wi); $gBitSmarty->assign('stats', $processMonitor->monitor_stats()); $sameurl_elements = array('offset', 'sort_mode', 'where', 'find', 'item_id'); $gBitSystem->display('bitpackage:Galaxia/g_view_workitem.tpl', tra("View Workitem"), array('display_mode' => 'display'));
} if (isset($_REQUEST["delete"])) { foreach (array_keys($_REQUEST["process"]) as $item) { $processManager->remove_process($item); } } if (isset($_REQUEST['newminor'])) { $processManager->new_process_version($_REQUEST['newminor']); } if (isset($_REQUEST['newmajor'])) { $processManager->new_process_version($_REQUEST['newmajor'], false); } if (isset($_REQUEST['save'])) { $vars = array('procname' => $_REQUEST['name'], 'description' => $_REQUEST['description'], 'version' => $_REQUEST['version'], 'is_active' => 'n'); if ($processManager->process_name_exists($_REQUEST['name'], $_REQUEST['version']) && $_REQUEST['pid'] == 0) { galaxia_show_error("Process already exists"); die; } if (isset($_REQUEST['is_active']) && $_REQUEST['is_active'] == 'on') { $vars['is_active'] = 'y'; } $pid = $processManager->replace_process($_REQUEST['pid'], $vars); $valid = $activityManager->validate_process_activities($pid); if (!$valid) { $processManager->deactivate_process($pid); } $info = array('procname' => '', 'description' => '', 'version' => '1.0', 'is_active' => 'n', 'p_id' => 0, 'graph' => '#'); $gBitSmarty->assign('info', $info); } $gBitSmarty->assign_by_ref('proc_info', $info); $where = '';
function gui_grab_instance($user_id, $activity_id, $instance_id) { if (!isset($user_id)) { galaxia_show_error("No user id"); } // Grab only if roles are ok if (!$this->mDb->getOne("select count(*)\n from `" . GALAXIA_TABLE_PREFIX . "instance_activities` gia\n INNER JOIN `" . GALAXIA_TABLE_PREFIX . "activity_roles` gar ON gar.`activity_id`=gia.`activity_id`\n INNER JOIN `" . GALAXIA_TABLE_PREFIX . "group_roles` ggr ON gar.`role_id`=ggr.`role_id`\n\t\t INNER JOIN `" . BIT_DB_PREFIX . "users_groups_map` ugm ON ugm.`group_id`=ggr.`group_id`\n where gia.`instance_id`=? and gia.`activity_id`=? and gia.`user_id` is ? and ugm.`user_id`=?", array($instance_id, $activity_id, NULL, $user_id))) { return false; } $query = "update `" . GALAXIA_TABLE_PREFIX . "instance_activities`\n set `user_id`=?\n where `instance_id`=? and `activity_id`=?"; $this->mDb->query($query, array($user_id, $instance_id, $activity_id)); }
if (!isset($_REQUEST['activity_id'])) { galaxia_show_error("No activity indicated"); die; } $activity = $baseActivity->getActivity($_REQUEST['activity_id']); $process->getProcess($activity->getProcessId()); // Get user roles $user_id = $gBitUser->getUserId(); // Get activity roles $act_roles = $activity->getRoles(); $user_roles = $activity->getUserRoles($user_id); // Only check roles if this is an interactive // activity if ($activity->is_interactive() == 'y') { if (!count(array_intersect($act_roles, $user_roles))) { galaxia_show_error("You cant execute this activity"); die; } } $act_role_names = $activity->getActivityRoleNames($user_id); foreach ($act_role_names as $role) { $rolename = str_replace(" ", "_", $role['name']); $name = 'bw-role-' . $rolename; if (in_array($role['role_id'], $user_roles)) { $gBitSmarty->assign("{$name}", 'y'); ${$name} = 'y'; } else { $gBitSmarty->assign("{$name}", 'n'); ${$name} = 'n'; } }
} } } // Delete activities if (isset($_REQUEST["delete_act"])) { foreach (array_keys($_REQUEST["activity"]) as $item) { $activityManager->remove_activity($_REQUEST['pid'], $item); } } // If we are adding an activity then add it! if (isset($_REQUEST['save_act'])) { $is_interactive = isset($_REQUEST['is_interactive']) && $_REQUEST['is_interactive'] == 'on' ? 'y' : 'n'; $is_auto_routed = isset($_REQUEST['is_auto_routed']) && $_REQUEST['is_auto_routed'] == 'on' ? 'y' : 'n'; $vars = array('name' => $_REQUEST['name'], 'description' => $_REQUEST['description'], 'activity_id' => $_REQUEST['activity_id'], 'is_interactive' => $is_interactive, 'is_auto_routed' => $is_auto_routed, 'act_type' => $_REQUEST['act_type'], 'expiration_time' => $_REQUEST['year'] * 535680 + $_REQUEST['month'] * 44640 + $_REQUEST['day'] * 1440 + $_REQUEST['hour'] * 60 + $_REQUEST['minute']); if ($activityManager->activity_name_exists($_REQUEST['pid'], $_REQUEST['name']) && $_REQUEST['activity_id'] == 0) { galaxia_show_error("Activity name already exists"); die; } $newaid = $activityManager->replace_activity($_REQUEST['pid'], $_REQUEST['activity_id'], $vars); $rid = 0; if (isset($_REQUEST['userole']) && $_REQUEST['userole']) { $rid = $_REQUEST['userole']; } if (!empty($_REQUEST['rolename'])) { $vars = array('name' => $_REQUEST['rolename'], 'description' => ''); $rid = $roleManager->replace_role($_REQUEST['pid'], 0, $vars); } if ($rid) { $activityManager->add_activity_role($newaid, $rid); } $info = array('name' => '', 'description' => '', 'activity_id' => 0, 'is_interactive' => 'y', 'is_auto_routed' => 'n', 'act_type' => 'activity');