Esempio n. 1
0
<?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());
}
Esempio n. 2
0
<?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());
}
Esempio n. 3
0
<?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]);
        }
Esempio n. 5
0
<?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'));
Esempio n. 6
0
}
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 = '';
Esempio n. 7
0
 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));
 }
Esempio n. 8
0
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';
    }
}
Esempio n. 9
0
        }
    }
}
// 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');