當前位置: 首頁>>代碼示例>>PHP>>正文


PHP VTWorkflowManager::save方法代碼示例

本文整理匯總了PHP中VTWorkflowManager::save方法的典型用法代碼示例。如果您正苦於以下問題:PHP VTWorkflowManager::save方法的具體用法?PHP VTWorkflowManager::save怎麽用?PHP VTWorkflowManager::save使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在VTWorkflowManager的用法示例。


在下文中一共展示了VTWorkflowManager::save方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: vtWorkflowSave

function vtWorkflowSave($adb, $request)
{
    $util = new VTWorkflowUtils();
    $module = new VTWorkflowApplication("saveworkflow");
    $mod = return_module_language($current_language, $module->name);
    $request = vtlib_purify($request);
    // this cleans all values of the array
    if (!$util->checkAdminAccess()) {
        $errorUrl = $module->errorPageUrl($mod['LBL_ERROR_NOT_ADMIN']);
        $util->redirectTo($errorUrl, $mod['LBL_ERROR_NOT_ADMIN']);
        return;
    }
    $description = from_html($request["description"]);
    $moduleName = $request["module_name"];
    $conditions = $request["conditions"];
    $taskId = $request["task_id"];
    $saveType = $request["save_type"];
    $executionCondition = $request['execution_condition'];
    $wm = new VTWorkflowManager($adb);
    if ($saveType == 'new') {
        $wf = $wm->newWorkflow($moduleName);
        $wf->description = $description;
        $wf->test = $conditions;
        $wf->taskId = $taskId;
        $wf->executionConditionAsLabel($executionCondition);
        $wm->save($wf);
    } else {
        if ($saveType == 'edit') {
            $wf = $wm->retrieve($request["workflow_id"]);
            $wf->description = $description;
            $wf->test = $conditions;
            $wf->taskId = $taskId;
            $wf->executionConditionAsLabel($executionCondition);
            $wm->save($wf);
        } else {
            throw new Exception();
        }
    }
    if (isset($request["return_url"])) {
        $returnUrl = $request["return_url"];
    } else {
        $returnUrl = $module->editWorkflowUrl($wf->id);
    }
    ?>
		<script type="text/javascript" charset="utf-8">
			window.location="<?php 
    echo $returnUrl;
    ?>
";
		</script>
		<a href="<?php 
    echo $returnUrl;
    ?>
">Return</a>
		<?php 
}
開發者ID:mslokhat,項目名稱:corebos,代碼行數:56,代碼來源:saveworkflow.php

示例2: applyChange

 function applyChange()
 {
     global $adb;
     if ($this->hasError()) {
         $this->sendError();
     }
     if ($this->isApplied()) {
         $this->sendMsg('Changeset ' . get_class($this) . ' already applied!');
     } else {
         global $adb;
         $chktbl = $adb->query('select 1 from com_vtiger_workflow_tasktypes limit 1');
         if ($chktbl) {
             $moduleInstance = Vtiger_Module::getInstance('Potentials');
             $block = Vtiger_Block::getInstance('LBL_OPPORTUNITY_INFORMATION', $moduleInstance);
             $field = Vtiger_Field::getInstance('forecast_amount', $moduleInstance);
             if ($field) {
                 $this->ExecuteQuery('update vtiger_field set presence=2 where fieldid=' . $field->id);
             } else {
                 $forecast_field = new Vtiger_Field();
                 $forecast_field->name = 'forecast_amount';
                 $forecast_field->label = 'Forecast Amount';
                 $forecast_field->table = 'vtiger_potential';
                 $forecast_field->column = 'forecast_amount';
                 $forecast_field->columntype = 'decimal(25,4)';
                 $forecast_field->typeofdata = 'N~O';
                 $forecast_field->uitype = '71';
                 $forecast_field->masseditable = '0';
                 $block->addField($forecast_field);
             }
             $wfrs = $adb->query("SELECT workflow_id FROM com_vtiger_workflows WHERE summary='Calculate or Update forecast amount'");
             if ($wfrs and $adb->num_rows($wfrs) == 1) {
                 $this->sendMsg('Workfolw already exists!');
             } else {
                 $workflowManager = new VTWorkflowManager($adb);
                 $taskManager = new VTTaskManager($adb);
                 $potentailsWorkFlow = $workflowManager->newWorkFlow("Potentials");
                 $potentailsWorkFlow->test = '';
                 $potentailsWorkFlow->description = "Calculate or Update forecast amount";
                 $potentailsWorkFlow->executionCondition = VTWorkflowManager::$ON_EVERY_SAVE;
                 $potentailsWorkFlow->defaultworkflow = 1;
                 $workflowManager->save($potentailsWorkFlow);
                 $task = $taskManager->createTask('VTUpdateFieldsTask', $potentailsWorkFlow->id);
                 $task->active = true;
                 $task->summary = 'update forecast amount';
                 $task->field_value_mapping = '[{"fieldname":"forecast_amount","valuetype":"expression","value":"amount * probability / 100"}]';
                 $taskManager->saveTask($task);
             }
             $this->sendMsg('Changeset ' . get_class($this) . ' applied!');
             $this->markApplied();
         } else {
             $this->sendMsgError('This changeset could not be applied because it depends on create_workflow_tasktype which probably has not been applied yet. Apply that changeset and try this one again.');
         }
     }
     $this->finishExecution();
 }
開發者ID:casati-dolibarr,項目名稱:corebos,代碼行數:55,代碼來源:PotentialForecastAmount.php

示例3: applyChange

 function applyChange()
 {
     if ($this->hasError()) {
         $this->sendError();
     }
     if ($this->isApplied()) {
         $this->sendMsg('Changeset ' . get_class($this) . ' already applied!');
     } else {
         global $adb;
         $emm = new VTEntityMethodManager($adb);
         // Adding EntityMethod for Updating Products data after updating PurchaseOrder
         $emm->addEntityMethod("PurchaseOrder", "UpdateInventory", "include/InventoryHandler.php", "handleInventoryProductRel");
         // Creating Workflow for Updating Inventory Stock on PO
         $vtWorkFlow = new VTWorkflowManager($adb);
         $invWorkFlow = $vtWorkFlow->newWorkFlow("PurchaseOrder");
         $invWorkFlow->test = '[{"fieldname":"subject","operation":"does not contain","value":"`!`"}]';
         $invWorkFlow->description = "UpdateInventoryProducts On Every Save";
         $invWorkFlow->defaultworkflow = 1;
         $vtWorkFlow->save($invWorkFlow);
         $tm = new VTTaskManager($adb);
         $task = $tm->createTask('VTEntityMethodTask', $invWorkFlow->id);
         $task->active = true;
         $task->methodName = "UpdateInventory";
         $task->summary = "Update product stock";
         $tm->saveTask($task);
         // add Cancel status to Invoice and SO for stock control
         $moduleInstance = Vtiger_Module::getInstance('Invoice');
         $field = Vtiger_Field::getInstance('invoicestatus', $moduleInstance);
         if ($field) {
             $field->setPicklistValues(array('Cancel'));
         }
         $this->sendMsg('Changeset ' . get_class($this) . ' applied! Add Workflow Custom Function complete!');
         $this->markApplied();
     }
     $this->finishExecution();
 }
開發者ID:casati-dolibarr,項目名稱:corebos,代碼行數:36,代碼來源:inventoryproductstockcontrol.php

示例4: populateDefaultWorkflows

function populateDefaultWorkflows($adb)
{
    require_once "modules/com_vtiger_workflow/include.inc";
    require_once "modules/com_vtiger_workflow/tasks/VTEntityMethodTask.inc";
    require_once "modules/com_vtiger_workflow/VTEntityMethodManager.inc";
    // Creating Workflow for Updating Inventory Stock for Invoice
    $vtWorkFlow = new VTWorkflowManager($adb);
    $invWorkFlow = $vtWorkFlow->newWorkFlow("Invoice");
    $invWorkFlow->test = '[{"fieldname":"subject","operation":"does not contain","value":"`!`"}]';
    $invWorkFlow->description = "UpdateInventoryProducts On Every Save";
    $invWorkFlow->defaultworkflow = 1;
    $vtWorkFlow->save($invWorkFlow);
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEntityMethodTask', $invWorkFlow->id);
    $task->active = true;
    $task->methodName = "UpdateInventory";
    $tm->saveTask($task);
    // Creating Workflow for Accounts when Notifyowner is true
    $vtaWorkFlow = new VTWorkflowManager($adb);
    $accWorkFlow = $vtaWorkFlow->newWorkFlow("Accounts");
    $accWorkFlow->test = '[{"fieldname":"notify_owner","operation":"is","value":"true:boolean"}]';
    $accWorkFlow->description = "Send Email to user when Notifyowner is True";
    $accWorkFlow->executionCondition = 2;
    $accWorkFlow->defaultworkflow = 1;
    $vtaWorkFlow->save($accWorkFlow);
    $id1 = $accWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $accWorkFlow->id);
    $task->active = true;
    $task->methodName = "NotifyOwner";
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Account Creation";
    $task->content = "An Account has been assigned to you on vtigerCRM<br>Details of account are :<br><br>" . "AccountId:" . '<b>$account_no</b><br>' . "AccountName:" . '<b>$accountname</b><br>' . "Rating:" . '<b>$rating</b><br>' . "Industry:" . '<b>$industry</b><br>' . "AccountType:" . '<b>$accounttype</b><br>' . "Description:" . '<b>$description</b><br><br><br>' . "Thank You<br>Admin";
    $task->summary = "An account has been created ";
    $tm->saveTask($task);
    $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
    // Creating Workflow for Contacts when Notifyowner is true
    $vtcWorkFlow = new VTWorkflowManager($adb);
    $conWorkFlow = $vtcWorkFlow->newWorkFlow("Contacts");
    $conWorkFlow->summary = "A contact has been created ";
    $conWorkFlow->executionCondition = 2;
    $conWorkFlow->test = '[{"fieldname":"notify_owner","operation":"is","value":"true:boolean"}]';
    $conWorkFlow->description = "Send Email to user when Notifyowner is True";
    $conWorkFlow->defaultworkflow = 1;
    $vtcWorkFlow->save($conWorkFlow);
    $id1 = $conWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $conWorkFlow->id);
    $task->active = true;
    $task->methodName = "NotifyOwner";
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Contact Creation";
    $task->content = "An Contact has been assigned to you on vtigerCRM<br>Details of Contact are :<br><br>" . "Contact Id:" . '<b>$contact_no</b><br>' . "LastName:" . '<b>$lastname</b><br>' . "FirstName:" . '<b>$firstname</b><br>' . "Lead Source:" . '<b>$leadsource</b><br>' . "Department:" . '<b>$department</b><br>' . "Description:" . '<b>$description</b><br><br><br>' . "Thank You<br>Admin";
    $task->summary = "An contact has been created ";
    $tm->saveTask($task);
    $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
    // Creating Workflow for Contacts when PortalUser is true
    $vtcWorkFlow = new VTWorkflowManager($adb);
    $conpuWorkFlow = $vtcWorkFlow->newWorkFlow("Contacts");
    $conpuWorkFlow->test = '[{"fieldname":"portal","operation":"is","value":"true:boolean"}]';
    $conpuWorkFlow->description = "Send Email to user when Portal User is True";
    $conpuWorkFlow->executionCondition = 2;
    $conpuWorkFlow->defaultworkflow = 1;
    $vtcWorkFlow->save($conpuWorkFlow);
    $id1 = $conpuWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $conpuWorkFlow->id);
    $task->active = true;
    $task->methodName = "NotifyOwner";
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Contact Assignment";
    $task->content = "An Contact has been assigned to you on vtigerCRM<br>Details of Contact are :<br><br>" . "Contact Id:" . '<b>$contact_no</b><br>' . "LastName:" . '<b>$lastname</b><br>' . "FirstName:" . '<b>$firstname</b><br>' . "Lead Source:" . '<b>$leadsource</b><br>' . "Department:" . '<b>$department</b><br>' . "Description:" . '<b>$description</b><br><br><br>' . "And <b>CustomerPortal Login Details</b> is sent to the " . "EmailID :-" . '$email<br>' . "<br>Thank You<br>Admin";
    $task->summary = "An contact has been created ";
    $tm->saveTask($task);
    $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
    // Creating Workflow for Potentials
    $vtcWorkFlow = new VTWorkflowManager($adb);
    $potentialWorkFlow = $vtcWorkFlow->newWorkFlow("Potentials");
    $potentialWorkFlow->description = "Send Email to users on Potential creation";
    $potentialWorkFlow->executionCondition = 1;
    $potentialWorkFlow->defaultworkflow = 1;
    $vtcWorkFlow->save($potentialWorkFlow);
    $id1 = $potentialWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $potentialWorkFlow->id);
    $task->active = true;
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Potential Assignment";
    $task->content = "An Potential has been assigned to you on vtigerCRM<br>Details of Potential are :<br><br>" . "Potential No:" . '<b>$potential_no</b><br>' . "Potential Name:" . '<b>$potentialname</b><br>' . "Amount:" . '<b>$amount</b><br>' . "Expected Close Date:" . '<b>$closingdate</b><br>' . "Type:" . '<b>$opportunity_type</b><br><br><br>' . "Description :" . '$description<br>' . "<br>Thank You<br>Admin";
    $task->summary = "An Potential has been created ";
    $tm->saveTask($task);
    $workflowManager = new VTWorkflowManager($adb);
    $taskManager = new VTTaskManager($adb);
    // Contact workflow on creation/modification
    $contactWorkFlow = $workflowManager->newWorkFlow("Contacts");
    $contactWorkFlow->test = '';
    $contactWorkFlow->description = "Workflow for Contact Creation or Modification";
    $contactWorkFlow->executionCondition = VTWorkflowManager::$ON_EVERY_SAVE;
    $contactWorkFlow->defaultworkflow = 1;
    $workflowManager->save($contactWorkFlow);
//.........這裏部分代碼省略.........
開發者ID:nvh3010,項目名稱:quancrm,代碼行數:101,代碼來源:CreateTables.inc.php

示例5: vtWorkflowSave

function vtWorkflowSave($adb, $request)
{
    $util = new VTWorkflowUtils();
    $module = new VTWorkflowApplication("saveworkflow");
    $mod = return_module_language($current_language, $module->name);
    $request = vtlib_purify($request);
    // this cleans all values of the array
    if (!$util->checkAdminAccess()) {
        $errorUrl = $module->errorPageUrl($mod['LBL_ERROR_NOT_ADMIN']);
        $util->redirectTo($errorUrl, $mod['LBL_ERROR_NOT_ADMIN']);
        return;
    }
    $description = from_html($request["description"]);
    $moduleName = $request["module_name"];
    $conditions = $request["conditions"];
    $taskId = $request["task_id"];
    $saveType = $request["save_type"];
    $executionCondition = $request['execution_condition'];
    $schdayofweek = array();
    if (isset($request['sun_flag']) && $_REQUEST['sun_flag'] != null) {
        $schdayofweek[] = 1;
    }
    if (isset($request['mon_flag']) && $_REQUEST['mon_flag'] != null) {
        $schdayofweek[] = 2;
    }
    if (isset($request['tue_flag']) && $_REQUEST['tue_flag'] != null) {
        $schdayofweek[] = 3;
    }
    if (isset($request['wed_flag']) && $_REQUEST['wed_flag'] != null) {
        $schdayofweek[] = 4;
    }
    if (isset($request['thu_flag']) && $_REQUEST['thu_flag'] != null) {
        $schdayofweek[] = 5;
    }
    if (isset($request['fri_flag']) && $_REQUEST['fri_flag'] != null) {
        $schdayofweek[] = 6;
    }
    if (isset($request['sat_flag']) && $_REQUEST['sat_flag'] != null) {
        $schdayofweek[] = 7;
    }
    // internally the code is prepared to launch the same workflow on many dates
    // but the interface only sends one in
    // TODO: change interface to send in many dates for annual scheduling
    $schannualdates = DateTimeField::convertToDBFormat($request['schdate']);
    $schannualdates = json_encode(array($schannualdates));
    $schminuteinterval = $request['schminuteinterval'];
    $wm = new VTWorkflowManager($adb);
    if ($saveType == 'new') {
        $wf = $wm->newWorkflow($moduleName);
        $wf->description = $description;
        $wf->test = $conditions;
        $wf->taskId = $taskId;
        $wf->executionConditionAsLabel($executionCondition);
        $wf->schtypeid = $request['schtypeid'];
        $wf->schtime = VTCreateEventTask::conv12to24hour($request['schtime']);
        $wf->schdayofmonth = json_encode($request['schdayofmonth']);
        $wf->schdayofweek = json_encode($schdayofweek);
        $wf->schannualdates = $schannualdates;
        $wf->schminuteinterval = $schminuteinterval;
        $wm->save($wf);
    } else {
        if ($saveType == 'edit') {
            $wf = $wm->retrieve($request["workflow_id"]);
            $wf->description = $description;
            $wf->test = $conditions;
            $wf->taskId = $taskId;
            $wf->executionConditionAsLabel($executionCondition);
            $wf->schtypeid = $request['schtypeid'];
            $wf->schtime = VTCreateEventTask::conv12to24hour($request['schtime']);
            $wf->schdayofmonth = json_encode($request['schdayofmonth']);
            $wf->schdayofweek = json_encode($schdayofweek);
            $wf->schannualdates = $schannualdates;
            $wf->schminuteinterval = $schminuteinterval;
            $wm->save($wf);
        } else {
            throw new Exception();
        }
    }
    if (isset($request["return_url"])) {
        $returnUrl = $request["return_url"];
    } else {
        $returnUrl = $module->editWorkflowUrl($wf->id);
    }
    ?>
		<script type="text/javascript" charset="utf-8">
			window.location="<?php 
    echo $returnUrl;
    ?>
";
		</script>
		<a href="<?php 
    echo $returnUrl;
    ?>
">Return</a>
		<?php 
}
開發者ID:kduqi,項目名稱:corebos,代碼行數:96,代碼來源:saveworkflow.php

示例6: populateDefaultWorkflows

function populateDefaultWorkflows($adb)
{
    require_once "modules/com_vtiger_workflow/include.inc";
    require_once "modules/com_vtiger_workflow/tasks/VTEntityMethodTask.inc";
    require_once "modules/com_vtiger_workflow/VTEntityMethodManager.inc";
    //added column defaultworkflow
    //For default workflows it sets column defaultworkflow=true
    $column_name = "defaultworkflow";
    $adb->pquery("alter table com_vtiger_workflows add column {$column_name} int(1)", array());
    // Creating Workflow for Accounts when Notifyowner is true
    $vtaWorkFlow = new VTWorkflowManager($adb);
    $accWorkFlow = $vtaWorkFlow->newWorkFlow("Accounts");
    $accWorkFlow->test = '[{"fieldname":"notify_owner","operation":"is","value":"true:boolean"}]';
    $accWorkFlow->description = "Send Email to user when Notifyowner is True";
    $accWorkFlow->executionCondition = 2;
    $vtaWorkFlow->save($accWorkFlow);
    $id1 = $accWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $accWorkFlow->id);
    $task->active = true;
    $task->methodName = "NotifyOwner";
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Account Creation";
    $task->content = "An Account has been assigned to you on vtigerCRM<br>Details of account are :<br><br>" . "AccountId:" . '<b>$account_no</b><br>' . "AccountName:" . '<b>$accountname</b><br>' . "Rating:" . '<b>$rating</b><br>' . "Industry:" . '<b>$industry</b><br>' . "AccountType:" . '<b>$accounttype</b><br>' . "Description:" . '<b>$description</b><br><br><br>' . "Thank You<br>Admin";
    $task->summary = "An account has been created ";
    $tm->saveTask($task);
    $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
    // Creating Workflow for Contacts when Notifyowner is true
    $vtcWorkFlow = new VTWorkflowManager($adb);
    $conWorkFlow = $vtcWorkFlow->newWorkFlow("Contacts");
    $conWorkFlow->summary = "Test accounut";
    $conWorkFlow->executionCondition = 2;
    $conWorkFlow->test = '[{"fieldname":"notify_owner","operation":"is","value":"true:boolean"}]';
    $conWorkFlow->description = "Send Email to user when Notifyowner is True";
    $vtcWorkFlow->save($conWorkFlow);
    $id1 = $conWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $conWorkFlow->id);
    $task->active = true;
    $task->methodName = "NotifyOwner";
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Contact Creation";
    $task->content = "An Contact has been assigned to you on vtigerCRM<br>Details of Contact are :<br><br>" . "Contact Id:" . '<b>$contact_no</b><br>' . "LastName:" . '<b>$lastname</b><br>' . "FirstName:" . '<b>$firstname</b><br>' . "Lead Source:" . '<b>$leadsource</b><br>' . "Department:" . '<b>$department</b><br>' . "Description:" . '<b>$description</b><br><br><br>' . "Thank You<br>Admin";
    $task->summary = "An contact has been created ";
    $tm->saveTask($task);
    $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
    // Creating Workflow for Contacts when PortalUser is true
    $vtcWorkFlow = new VTWorkflowManager($adb);
    $conpuWorkFlow = $vtcWorkFlow->newWorkFlow("Contacts");
    $conpuWorkFlow->test = '[{"fieldname":"portal","operation":"is","value":"true:boolean"}]';
    $conpuWorkFlow->description = "Send Email to user when Portal User is True";
    $conpuWorkFlow->executionCondition = 2;
    $vtcWorkFlow->save($conpuWorkFlow);
    $id1 = $conpuWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $conpuWorkFlow->id);
    $task->active = true;
    $task->methodName = "NotifyOwner";
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Contact Assignment";
    $task->content = "An Contact has been assigned to you on vtigerCRM<br>Details of Contact are :<br><br>" . "Contact Id:" . '<b>$contact_no</b><br>' . "LastName:" . '<b>$lastname</b><br>' . "FirstName:" . '<b>$firstname</b><br>' . "Lead Source:" . '<b>$leadsource</b><br>' . "Department:" . '<b>$department</b><br>' . "Description:" . '<b>$description</b><br><br><br>' . "And <b>CustomerPortal Login Details</b> is sent to the " . "EmailID :-" . '$email<br>' . "<br>Thank You<br>Admin";
    $task->summary = "An contact has been created ";
    $tm->saveTask($task);
    $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
    // Creating Workflow for Potentials
    $vtcWorkFlow = new VTWorkflowManager($adb);
    $potentialWorkFlow = $vtcWorkFlow->newWorkFlow("Potentials");
    $potentialWorkFlow->description = "Send Email to user on Potential creation";
    $potentialWorkFlow->executionCondition = 1;
    $vtcWorkFlow->save($potentialWorkFlow);
    $id1 = $potentialWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $potentialWorkFlow->id);
    $task->active = true;
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Potential Assignment";
    $task->content = "An Potential has been assigned to you on vtigerCRM<br>Details of Potential are :<br><br>" . "Potential No:" . '<b>$potential_no</b><br>' . "Potential Name:" . '<b>$potentialname</b><br>' . "Amount:" . '<b>$amount</b><br>' . "Expected Close Date:" . '<b>$closingdate</b><br>' . "Type:" . '<b>$opportunity_type</b><br><br><br>' . "Description :" . '$description<br>' . "<br>Thank You<br>Admin";
    $task->summary = "An Potential has been created ";
    $tm->saveTask($task);
    $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
}
開發者ID:casati-dolibarr,項目名稱:corebos,代碼行數:81,代碼來源:510_to_520rc.php

示例7: save

 public function save()
 {
     $db = PearDatabase::getInstance();
     $wm = new VTWorkflowManager($db);
     $wf = $this->getWorkflowObject();
     $wf->description = $this->get('summary');
     $wf->test = Zend_Json::encode($this->get('conditions'));
     $wf->moduleName = $this->get('module_name');
     $wf->executionCondition = $this->get('execution_condition');
     $wf->filtersavedinnew = $this->get('filtersavedinnew');
     $wm->save($wf);
     $this->set('workflow_id', $wf->id);
 }
開發者ID:nouphet,項目名稱:vtigercrm-6.0.0-ja,代碼行數:13,代碼來源:Record.php

示例8: addWorkflow

 private function addWorkflow($moduleName)
 {
     vimport('~~modules/com_vtiger_workflow/include.inc');
     vimport('~~modules/com_vtiger_workflow/tasks/VTEntityMethodTask.inc');
     vimport('~~modules/com_vtiger_workflow/VTEntityMethodManager.inc');
     $db = PearDatabase::getInstance();
     $functionName = 'UpdateBalance';
     $emm = new VTEntityMethodManager($db);
     $emm->addEntityMethod($moduleName, $functionName, "modules/PaymentsIn/workflow/UpdateBalance.php", $functionName);
     $workflowManager = new VTWorkflowManager($db);
     $taskManager = new VTTaskManager($db);
     $newWorkflow = $workflowManager->newWorkFlow($moduleName);
     $newWorkflow->test = '[]';
     $newWorkflow->defaultworkflow = 0;
     $newWorkflow->description = "{$moduleName} - UpdateBalance";
     $newWorkflow->executionCondition = 3;
     $workflowManager->save($newWorkflow);
     $task = $taskManager->createTask('VTEntityMethodTask', $newWorkflow->id);
     $task->active = true;
     $task->summary = 'UpdateBalance';
     $task->methodName = $functionName;
     $taskManager->saveTask($task);
 }
開發者ID:rcrrich,項目名稱:UpdatePackages,代碼行數:23,代碼來源:PaymentsIn.php

示例9: array

 /**
  * Invoked when special actions are performed on the module.
  * @param String Module name
  * @param String Event Type (module.postinstall, module.disabled, module.enabled, module.preuninstall)
  */
 function vtlib_handler($modulename, $event_type)
 {
     global $adb;
     require_once 'include/events/include.inc';
     include_once 'vtlib/Vtiger/Module.php';
     if ($event_type == 'module.postinstall') {
         // TODO Handle post installation actions
         $modAccounts = Vtiger_Module::getInstance('Accounts');
         $modContacts = Vtiger_Module::getInstance('Contacts');
         $modInvD = Vtiger_Module::getInstance('InventoryDetails');
         $modIss = Vtiger_Module::getInstance('Issuecards');
         if ($modAccounts) {
             $modAccounts->setRelatedList($modIss, 'Issuecards', array('ADD'), 'get_dependents_list');
         }
         if ($modContacts) {
             $modContacts->setRelatedList($modIss, 'Issuecards', array('ADD'), 'get_dependents_list');
         }
         if ($modInvD) {
             $field = Vtiger_Field::getInstance('related_to', $modInvD);
             $field->setRelatedModules(array('Issuecards'));
             $modIss->setRelatedList($modInvD, 'InventoryDetails', array(''), 'get_dependents_list');
         }
         //Add Gendoc to Issuecards
         if (vtlib_isModuleActive("evvtgendoc")) {
             $modIss->addLink('LISTVIEWBASIC', 'Generate Document', "javascript:showgendoctemplates('\$MODULE\$');");
             $modIss->addLink('DETAILVIEWWIDGET', 'Generate Document', "module=evvtgendoc&action=evvtgendocAjax&file=DetailViewWidget&formodule=\$MODULE\$&forrecord=\$RECORD\$", 'modules/evvtgendoc/evvtgendoc.gif');
         }
         $emm = new VTEntityMethodManager($adb);
         // Adding EntityMethod for Updating Products data after updating PurchaseOrder
         $emm->addEntityMethod("Issuecards", "UpdateInventory", "include/InventoryHandler.php", "handleInventoryProductRel");
         // Creating Workflow for Updating Inventory Stock on Issuecards
         $vtWorkFlow = new VTWorkflowManager($adb);
         $invWorkFlow = $vtWorkFlow->newWorkFlow("Issuecards");
         $invWorkFlow->test = '[{"fieldname":"pslip_no","operation":"does not contain","value":"`!`"}]';
         $invWorkFlow->description = "UpdateInventoryProducts On Every Save";
         $invWorkFlow->defaultworkflow = 1;
         $vtWorkFlow->save($invWorkFlow);
         $tm = new VTTaskManager($adb);
         $task = $tm->createTask('VTEntityMethodTask', $invWorkFlow->id);
         $task->active = true;
         $task->methodName = "UpdateInventory";
         $task->summary = "Update product stock";
         $tm->saveTask($task);
         $this->setModuleSeqNumber('configure', $modulename, 'pslip-', '0000001');
     } else {
         if ($event_type == 'module.disabled') {
             // TODO Handle actions when this module is disabled.
         } else {
             if ($event_type == 'module.enabled') {
                 // TODO Handle actions when this module is enabled.
             } else {
                 if ($event_type == 'module.preuninstall') {
                     // TODO Handle actions when this module is about to be deleted.
                 } else {
                     if ($event_type == 'module.preupdate') {
                         // TODO Handle actions before this module is updated.
                     } else {
                         if ($event_type == 'module.postupdate') {
                             // TODO Handle actions after this module is updated.
                             $modInvD = Vtiger_Module::getInstance('InventoryDetails');
                             $modIss = Vtiger_Module::getInstance('Issuecards');
                             //Add subject field to can import and export
                             $block = Vtiger_Block::getInstance('LBL_ISSUECARDS_INFO', $modIss);
                             $field = Vtiger_Field::getInstance('subject', $modIss);
                             if (!$field) {
                                 $field1 = new Vtiger_Field();
                                 $field1->name = 'subject';
                                 $field1->label = 'subject';
                                 $field1->table = 'vtiger_issuecards';
                                 $field1->column = 'subject';
                                 $field1->columntype = 'VARCHAR(100)';
                                 $field1->sequence = 3;
                                 $field1->uitype = 1;
                                 $field1->typeofdata = 'V~O';
                                 $field1->displaytype = 1;
                                 $field1->presence = 0;
                                 $block->addField($field1);
                             }
                             if ($modInvD) {
                                 $field = Vtiger_Field::getInstance('related_to', $modInvD);
                                 $field->setRelatedModules(array('Issuecards'));
                                 $modIss->setRelatedList($modInvD, 'InventoryDetails', array(''), 'get_dependents_list');
                             }
                             //Add Gendoc to Issuecards
                             if (vtlib_isModuleActive("evvtgendoc")) {
                                 $modIss->addLink('LISTVIEWBASIC', 'Generate Document', "javascript:showgendoctemplates('\$MODULE\$');");
                                 $modIss->addLink('DETAILVIEWWIDGET', 'Generate Document', "module=evvtgendoc&action=evvtgendocAjax&file=DetailViewWidget&formodule=\$MODULE\$&forrecord=\$RECORD\$", 'modules/evvtgendoc/evvtgendoc.gif');
                             }
                             $emm = new VTEntityMethodManager($adb);
                             // Adding EntityMethod for Updating Products data after updating Issuecards
                             $emm->addEntityMethod("Issuecards", "UpdateInventory", "include/InventoryHandler.php", "handleInventoryProductRel");
                             // Creating Workflow for Updating Inventory Stock on Issuecards
                             $vtWorkFlow = new VTWorkflowManager($adb);
                             $invWorkFlow = $vtWorkFlow->newWorkFlow("Issuecards");
                             $invWorkFlow->test = '[{"fieldname":"pslip_no","operation":"does not contain","value":"`!`"}]';
//.........這裏部分代碼省略.........
開發者ID:tsolucio,項目名稱:coreBOSPackingSlip,代碼行數:101,代碼來源:Issuecards.php

示例10: save

 public function save()
 {
     $db = PearDatabase::getInstance();
     $wm = new VTWorkflowManager($db);
     $wf = $this->getWorkflowObject();
     $wf->description = $this->get('summary');
     $wf->test = Zend_Json::encode($this->get('conditions'));
     $wf->moduleName = $this->get('module_name');
     $wf->executionCondition = $this->get('execution_condition');
     $wf->filtersavedinnew = $this->get('filtersavedinnew');
     $wf->schtypeid = $this->get('schtypeid');
     $wf->schtime = $this->get('schtime');
     $wf->schdayofmonth = $this->get('schdayofmonth');
     $wf->schdayofweek = $this->get('schdayofweek');
     $wf->schmonth = $this->get('schmonth');
     $wf->schmonth = $this->get('schmonth');
     $wf->schannualdates = $this->get('schannualdates');
     $wf->nexttrigger_time = $this->get('nexttrigger_time');
     $wm->save($wf);
     $this->set('workflow_id', $wf->id);
 }
開發者ID:artisan4710,項目名稱:YetiForceCRM,代碼行數:21,代碼來源:Record.php

示例11: populateDefaultWorkflows

function populateDefaultWorkflows($adb)
{
    require_once "modules/com_vtiger_workflow/include.inc";
    require_once "modules/com_vtiger_workflow/tasks/VTEntityMethodTask.inc";
    require_once "modules/com_vtiger_workflow/VTEntityMethodManager.inc";
    // Creating Workflow for Updating Inventory Stock for Invoice
    $vtWorkFlow = new VTWorkflowManager($adb);
    $invWorkFlow = $vtWorkFlow->newWorkFlow("Invoice");
    $invWorkFlow->test = '[{"fieldname":"subject","operation":"does not contain","value":"`!`"}]';
    $invWorkFlow->description = "UpdateInventoryProducts On Every Save";
    $vtWorkFlow->save($invWorkFlow);
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEntityMethodTask', $invWorkFlow->id);
    $task->active = true;
    $task->methodName = "UpdateInventory";
    $tm->saveTask($task);
}
開發者ID:vtiger-jp,項目名稱:vtigercrm-5.1.x-ja,代碼行數:17,代碼來源:CreateTables.inc.php

示例12: populateDefaultWorkflows

 /**
  * Function adds default system workflows
  * @param <PearDatabase> $adb
  */
 static function populateDefaultWorkflows($adb)
 {
     vimport("~~modules/com_vtiger_workflow/include.inc");
     vimport("~~modules/com_vtiger_workflow/tasks/VTEntityMethodTask.inc");
     vimport("~~modules/com_vtiger_workflow/VTEntityMethodManager.inc");
     vimport("~~modules/com_vtiger_workflow/VTTaskManager.inc");
     // register the workflow tasks
     $taskTypes = array();
     $defaultModules = array('include' => array(), 'exclude' => array());
     $createToDoModules = array('include' => array("Leads", "Accounts", "Potentials", "Contacts", "HelpDesk", "Campaigns", "Quotes", "PurchaseOrder", "SalesOrder", "Invoice"), 'exclude' => array("Calendar", "FAQ", "Events"));
     $createEventModules = array('include' => array("Leads", "Accounts", "Potentials", "Contacts", "HelpDesk", "Campaigns"), 'exclude' => array("Calendar", "FAQ", "Events"));
     $taskTypes[] = array("name" => "VTEmailTask", "label" => "Send Mail", "classname" => "VTEmailTask", "classpath" => "modules/com_vtiger_workflow/tasks/VTEmailTask.inc", "templatepath" => "com_vtiger_workflow/taskforms/VTEmailTask.tpl", "modules" => $defaultModules, "sourcemodule" => '');
     $taskTypes[] = array("name" => "VTEntityMethodTask", "label" => "Invoke Custom Function", "classname" => "VTEntityMethodTask", "classpath" => "modules/com_vtiger_workflow/tasks/VTEntityMethodTask.inc", "templatepath" => "com_vtiger_workflow/taskforms/VTEntityMethodTask.tpl", "modules" => $defaultModules, "sourcemodule" => '');
     $taskTypes[] = array("name" => "VTCreateTodoTask", "label" => "Create Todo", "classname" => "VTCreateTodoTask", "classpath" => "modules/com_vtiger_workflow/tasks/VTCreateTodoTask.inc", "templatepath" => "com_vtiger_workflow/taskforms/VTCreateTodoTask.tpl", "modules" => $createToDoModules, "sourcemodule" => '');
     $taskTypes[] = array("name" => "VTCreateEventTask", "label" => "Create Event", "classname" => "VTCreateEventTask", "classpath" => "modules/com_vtiger_workflow/tasks/VTCreateEventTask.inc", "templatepath" => "com_vtiger_workflow/taskforms/VTCreateEventTask.tpl", "modules" => $createEventModules, "sourcemodule" => '');
     $taskTypes[] = array("name" => "VTUpdateFieldsTask", "label" => "Update Fields", "classname" => "VTUpdateFieldsTask", "classpath" => "modules/com_vtiger_workflow/tasks/VTUpdateFieldsTask.inc", "templatepath" => "com_vtiger_workflow/taskforms/VTUpdateFieldsTask.tpl", "modules" => $defaultModules, "sourcemodule" => '');
     $taskTypes[] = array("name" => "VTCreateEntityTask", "label" => "Create Entity", "classname" => "VTCreateEntityTask", "classpath" => "modules/com_vtiger_workflow/tasks/VTCreateEntityTask.inc", "templatepath" => "com_vtiger_workflow/taskforms/VTCreateEntityTask.tpl", "modules" => $defaultModules, "sourcemodule" => '');
     $taskTypes[] = array("name" => "VTSMSTask", "label" => "SMS Task", "classname" => "VTSMSTask", "classpath" => "modules/com_vtiger_workflow/tasks/VTSMSTask.inc", "templatepath" => "com_vtiger_workflow/taskforms/VTSMSTask.tpl", "modules" => $defaultModules, "sourcemodule" => 'SMSNotifier');
     foreach ($taskTypes as $taskType) {
         VTTaskType::registerTaskType($taskType);
     }
     // Creating Workflow for Updating Inventory Stock for Invoice
     $vtWorkFlow = new VTWorkflowManager($adb);
     $invWorkFlow = $vtWorkFlow->newWorkFlow("Invoice");
     $invWorkFlow->test = '[{"fieldname":"subject","operation":"does not contain","value":"`!`"}]';
     $invWorkFlow->description = "UpdateInventoryProducts On Every Save";
     $invWorkFlow->defaultworkflow = 1;
     $vtWorkFlow->save($invWorkFlow);
     $tm = new VTTaskManager($adb);
     $task = $tm->createTask('VTEntityMethodTask', $invWorkFlow->id);
     $task->active = true;
     $task->methodName = "UpdateInventory";
     $tm->saveTask($task);
     // Creating Workflow for Accounts when Notifyowner is true
     $vtaWorkFlow = new VTWorkflowManager($adb);
     $accWorkFlow = $vtaWorkFlow->newWorkFlow("Accounts");
     $accWorkFlow->test = '[{"fieldname":"notify_owner","operation":"is","value":"true:boolean"}]';
     // SalesPlatform.ru begin
     $accWorkFlow->description = "Отправить Email пользователю, если указано Уведомлять ответственного";
     //$accWorkFlow->description = "Send Email to user when Notifyowner is True";
     // SalesPlatform.ru end
     $accWorkFlow->executionCondition = 2;
     $accWorkFlow->defaultworkflow = 1;
     $vtaWorkFlow->save($accWorkFlow);
     $id1 = $accWorkFlow->id;
     $tm = new VTTaskManager($adb);
     $task = $tm->createTask('VTEmailTask', $accWorkFlow->id);
     $task->active = true;
     $task->methodName = "NotifyOwner";
     $task->recepient = "\$(assigned_user_id : (Users) email1)";
     // SalesPlatform.ru begin
     $task->subject = "Уведомление о назначении Контрагента";
     $task->content = "В системе vtigerCRM Вам был назначен контрагент<br>Информация о контрагенте :<br><br>" . "Контрагент №:" . '<b>$account_no</b><br>' . "Контрагент:" . '<b>$accountname</b><br>' . "Рейтинг:" . '<b>$rating</b><br>' . "Отрасль:" . '<b>$industry</b><br>' . "Тип:" . '<b>$accounttype</b><br>' . "Описание:" . '<b>$description</b><br><br><br>' . "Спасибо,<br>Admin";
     $task->summary = "Создан Контрагент ";
     //$task->subject = "Regarding Account Creation";
     //$task->content = "An Account has been assigned to you on vtigerCRM<br>Details of account are :<br><br>".
     //		"AccountId:".'<b>$account_no</b><br>'."AccountName:".'<b>$accountname</b><br>'."Rating:".'<b>$rating</b><br>'.
     //		"Industry:".'<b>$industry</b><br>'."AccountType:".'<b>$accounttype</b><br>'.
     //		"Description:".'<b>$description</b><br><br><br>'."Thank You<br>Admin";
     //$task->summary="An account has been created ";
     // SalesPlatform.ru end
     $tm->saveTask($task);
     $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
     // Creating Workflow for Contacts when Notifyowner is true
     $vtcWorkFlow = new VTWorkflowManager($adb);
     $conWorkFlow = $vtcWorkFlow->newWorkFlow("Contacts");
     // SalesPlatform.ru begin
     $conWorkFlow->summary = "Создан Контакт ";
     //$conWorkFlow->summary="A contact has been created ";
     // SalesPlatform.ru end
     $conWorkFlow->executionCondition = 2;
     $conWorkFlow->test = '[{"fieldname":"notify_owner","operation":"is","value":"true:boolean"}]';
     // SalesPlatform.ru begin
     $conWorkFlow->description = "Отправить Email пользователю, если указано Уведомлять ответственного";
     //$conWorkFlow->description = "Send Email to user when Notifyowner is True";
     // SalesPlatform.ru end
     $conWorkFlow->defaultworkflow = 1;
     $vtcWorkFlow->save($conWorkFlow);
     $id1 = $conWorkFlow->id;
     $tm = new VTTaskManager($adb);
     $task = $tm->createTask('VTEmailTask', $conWorkFlow->id);
     $task->active = true;
     $task->methodName = "NotifyOwner";
     $task->recepient = "\$(assigned_user_id : (Users) email1)";
     // SalesPlatform.ru begin
     $task->subject = "Уведомление о назначении Контакта";
     $task->content = "В системе vtigerCRM Вам был назначен контакт<br>Информация о контакте :<br><br>" . "Контакт №:" . '<b>$contact_no</b><br>' . "Фамилия:" . '<b>$lastname</b><br>' . "Имя:" . '<b>$firstname</b><br>' . "Источник:" . '<b>$leadsource</b><br>' . "Отдел:" . '<b>$department</b><br>' . "Описание:" . '<b>$description</b><br><br><br>' . "Спасибо,<br>Admin";
     $task->summary = "Создан Контакт ";
     //$task->subject = "Regarding Contact Creation";
     //$task->content = "An Contact has been assigned to you on vtigerCRM<br>Details of Contact are :<br><br>".
     //		"Contact Id:".'<b>$contact_no</b><br>'."LastName:".'<b>$lastname</b><br>'."FirstName:".'<b>$firstname</b><br>'.
     //		"Lead Source:".'<b>$leadsource</b><br>'.
     //		"Department:".'<b>$department</b><br>'.
     //		"Description:".'<b>$description</b><br><br><br>'."Thank You<br>Admin";
     //$task->summary="An contact has been created ";
     // SalesPlatform.ru end
//.........這裏部分代碼省略.........
開發者ID:gitter-badger,項目名稱:openshift-salesplatform,代碼行數:101,代碼來源:InitSchema.php

示例13: WHERE

/* Duplicates workflows for Calendar and Events */
/* Delete broken worflows and tasks */
$brokenWorkflowsResult = $adb->pquery("SELECT workflow_id FROM com_vtiger_workflows WHERE (module_name=? AND summary IN(?,?)) OR (module_name=? AND summary IN(?,?))", array('Calendar', 'Автоматические обработчики для задач Календаря при выбранной опции Отправить уведомление', 'Workflow for Calendar Todos when Send Notification is True', 'Events', 'Автоматические обработчики для событий при выбранной опции Отправить уведомление', 'Workflow for Events when Send Notification is True'));
while ($brokenWorkflowRow = $adb->fetchByAssoc($brokenWorkflowsResult)) {
    $adb->pquery('DELETE FROM com_vtiger_workflows WHERE workflow_id=?', array($brokenWorkflowRow['workflow_id']));
    $adb->pquery('DELETE FROM com_vtiger_workflowtasks WHERE workflow_id=?', array($brokenWorkflowRow['workflow_id']));
}
/* Recreate normal */
$workflowManager = new VTWorkflowManager($adb);
$taskManager = new VTTaskManager($adb);
$eventsWorkflow = $workflowManager->newWorkFlow("Events");
$eventsWorkflow->test = '[{"fieldname":"sendnotification","operation":"is","value":"true:boolean"}]';
$eventsWorkflow->description = "Автоматические обработчики для событий при выбранной опции Отправить уведомление";
$eventsWorkflow->executionCondition = VTWorkflowManager::$ON_EVERY_SAVE;
$eventsWorkflow->defaultworkflow = 1;
$workflowManager->save($eventsWorkflow);
$task = $taskManager->createTask('VTEmailTask', $eventsWorkflow->id);
$task->active = true;
$task->summary = 'Отправляет письмо с уведомлением приглашенным пользователям';
$task->recepient = "\$(assigned_user_id : (Users) email1)";
$task->subject = "Событие :  \$subject";
$task->content = '$(assigned_user_id : (Users) first_name) $(assigned_user_id : (Users) last_name) ,<br/>' . '<b>Детали события:</b><br/>' . 'Название события       : $subject<br/>' . 'Дата и Время Начала    : $date_start  $time_start ( $(general : (__VtigerMeta__) dbtimezone) ) <br/>' . 'Дата и Время Окончания : $due_date  $time_end ( $(general : (__VtigerMeta__) dbtimezone) ) <br/>' . 'Статус                 : $eventstatus <br/>' . 'Приоритет              : $taskpriority <br/>' . 'Относится к            : $(parent_id : (Leads) lastname) $(parent_id : (Leads) firstname) $(parent_id : (Accounts) accountname) ' . '$(parent_id            : (Potentials) potentialname) $(parent_id : (HelpDesk) ticket_title) <br/>' . 'Контакты               : $(contact_id : (Contacts) lastname) $(contact_id : (Contacts) firstname) <br/>' . 'Место проведения       : $location <br/>' . 'Описание               : $description';
$taskManager->saveTask($task);
/* Calendar workflow when Send Notification is checked */
$calendarWorkflow = $workflowManager->newWorkFlow("Calendar");
$calendarWorkflow->test = '[{"fieldname":"sendnotification","operation":"is","value":"true:boolean"}]';
$calendarWorkflow->description = "Автоматические обработчики для задач Календаря при выбранной опции Отправить уведомление";
$calendarWorkflow->executionCondition = VTWorkflowManager::$ON_EVERY_SAVE;
$calendarWorkflow->defaultworkflow = 1;
$workflowManager->save($calendarWorkflow);
$task = $taskManager->createTask('VTEmailTask', $calendarWorkflow->id);
開發者ID:gitter-badger,項目名稱:openshift-salesplatform,代碼行數:31,代碼來源:630-201507_to_640-201512.php

示例14: populateDefaultWorkflows

function populateDefaultWorkflows($adb)
{
    require_once "modules/com_vtiger_workflow/include.inc";
    require_once "modules/com_vtiger_workflow/tasks/VTEntityMethodTask.inc";
    require_once "modules/com_vtiger_workflow/VTEntityMethodManager.inc";
    // Creating Workflow for Updating Inventory Stock for Invoice
    $vtWorkFlow = new VTWorkflowManager($adb);
    $invWorkFlow = $vtWorkFlow->newWorkFlow("Invoice");
    $invWorkFlow->test = '[{"fieldname":"subject","operation":"does not contain","value":"`!`"}]';
    $invWorkFlow->description = "UpdateInventoryProducts On Every Save";
    $vtWorkFlow->save($invWorkFlow);
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEntityMethodTask', $invWorkFlow->id);
    $task->active = true;
    $task->methodName = "UpdateInventory";
    $tm->saveTask($task);
    // Creating Workflow for Accounts when Notifyowner is true
    $vtaWorkFlow = new VTWorkflowManager($adb);
    $accWorkFlow = $vtaWorkFlow->newWorkFlow("Accounts");
    $accWorkFlow->test = '[{"fieldname":"notify_owner","operation":"is","value":"true:boolean"}]';
    $accWorkFlow->description = "Send Email to user when Notifyowner is True";
    $accWorkFlow->executionCondition = 2;
    $vtaWorkFlow->save($accWorkFlow);
    $id1 = $accWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $accWorkFlow->id);
    $task->active = true;
    $task->methodName = "NotifyOwner";
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Account Creation";
    // JFV - add Japanese localization to email notification
    $task->subject = "顧客企業が作成されました / " . $task->subject;
    // JFV END
    $task->content = "An Account has been assigned to you on vtigerCRM<br>Details of account are :<br><br>" . "AccountId:" . '<b>$account_no</b><br>' . "AccountName:" . '<b>$accountname</b><br>' . "Rating:" . '<b>$rating</b><br>' . "Industry:" . '<b>$industry</b><br>' . "AccountType:" . '<b>$accounttype</b><br>' . "Description:" . '<b>$description</b><br><br><br>' . "Thank You<br>Admin";
    // JFV - add Japanese localization to email notification
    $task->content = "vtigerCRM にて顧客企業があなたに割り當てられました。<br>顧客企業の詳細は次のとおりです:<br><br>" . "顧客企業 No:" . '<b>$account_no</b><br>' . "顧客企業名:" . '<b>$accountname</b><br>' . "各付け:" . '<b>$rating</b><br>' . "業界:" . '<b>$industry</b><br>' . "タイプ:" . '<b>$accounttype</b><br>' . "詳細:" . '<b>$description</b><br><br><br>' . "宜しくお願いします<br>管理者" . "<br><br>---------------<br>" . $task->content;
    // JFV END
    $task->summary = "An account has been created ";
    $tm->saveTask($task);
    $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
    // Creating Workflow for Contacts when Notifyowner is true
    $vtcWorkFlow = new VTWorkflowManager($adb);
    $conWorkFlow = $vtcWorkFlow->newWorkFlow("Contacts");
    $conWorkFlow->summary = "A contact has been created ";
    $conWorkFlow->executionCondition = 2;
    $conWorkFlow->test = '[{"fieldname":"notify_owner","operation":"is","value":"true:boolean"}]';
    $conWorkFlow->description = "Send Email to user when Notifyowner is True";
    $vtcWorkFlow->save($conWorkFlow);
    $id1 = $conWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $conWorkFlow->id);
    $task->active = true;
    $task->methodName = "NotifyOwner";
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Contact Creation";
    // JFV - add Japanese localization to email notification
    $task->subject = "顧客擔當者が作成されました / " . $task->subject;
    // JFV END
    $task->content = "An Contact has been assigned to you on vtigerCRM<br>Details of Contact are :<br><br>" . "Contact Id:" . '<b>$contact_no</b><br>' . "LastName:" . '<b>$lastname</b><br>' . "FirstName:" . '<b>$firstname</b><br>' . "Lead Source:" . '<b>$leadsource</b><br>' . "Department:" . '<b>$department</b><br>' . "Description:" . '<b>$description</b><br><br><br>' . "Thank You<br>Admin";
    // JFV - add Japanese localization to email notification
    $task->content = "vtigerCRM にて顧客擔當者があなたに割り當てられました。<br>詳細は次のとおりです:<br><br>" . "顧客擔當者 ID:" . '<b>$contact_no</b><br>' . "姓:" . '<b>$lastname</b><br>' . "名:" . '<b>$firstname</b><br>' . "紹介元:" . '<b>$leadsource</b><br>' . "部門:" . '<b>$department</b><br>' . "詳細:" . '<b>$description</b><br><br><br>' . "宜しくお願いします<br>管理者" . "<br><br>---------------<br>" . $task->content;
    // JFV END
    $task->summary = "An contact has been created ";
    $tm->saveTask($task);
    $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
    // Creating Workflow for Contacts when PortalUser is true
    $vtcWorkFlow = new VTWorkflowManager($adb);
    $conpuWorkFlow = $vtcWorkFlow->newWorkFlow("Contacts");
    $conpuWorkFlow->test = '[{"fieldname":"portal","operation":"is","value":"true:boolean"}]';
    $conpuWorkFlow->description = "Send Email to user when Portal User is True";
    $conpuWorkFlow->executionCondition = 2;
    $vtcWorkFlow->save($conpuWorkFlow);
    $id1 = $conpuWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $conpuWorkFlow->id);
    $task->active = true;
    $task->methodName = "NotifyOwner";
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
    $task->subject = "Regarding Contact Assignment";
    // JFV - add Japanese localization to email notification
    $task->subject = "顧客擔當者が割り當てられました / " . $task->subject;
    // JFV END
    $task->content = "An Contact has been assigned to you on vtigerCRM<br>Details of Contact are :<br><br>" . "Contact Id:" . '<b>$contact_no</b><br>' . "LastName:" . '<b>$lastname</b><br>' . "FirstName:" . '<b>$firstname</b><br>' . "Lead Source:" . '<b>$leadsource</b><br>' . "Department:" . '<b>$department</b><br>' . "Description:" . '<b>$description</b><br><br><br>' . "And <b>CustomerPortal Login Details</b> is sent to the " . "EmailID :-" . '$email<br>' . "<br>Thank You<br>Admin";
    // JFV - add Japanese localization to email notification
    $task->content = "vtigerCRM にて顧客擔當者があなたに割り當てられました。<br>詳細は次のとおりです<br><br>" . "顧客擔當者 ID:" . '<b>$contact_no</b><br>' . "姓:" . '<b>$lastname</b><br>' . "名:" . '<b>$firstname</b><br>' . "紹介元:" . '<b>$leadsource</b><br>' . "部門:" . '<b>$department</b><br>' . "詳細:" . '<b>$description</b><br><br><br>' . "また、<b>顧客ポータルのログインの詳細は</b>、次に送信しました:" . "電子メール :-" . '$email<br>' . "<br>宜しくお願いします<br>管理者" . "<br><br>---------------<br>" . $task->content;
    // JFV END
    $task->summary = "An contact has been created ";
    $tm->saveTask($task);
    $adb->pquery("update com_vtiger_workflows set defaultworkflow=? where workflow_id=?", array(1, $id1));
    // Creating Workflow for Potentials
    $vtcWorkFlow = new VTWorkflowManager($adb);
    $potentialWorkFlow = $vtcWorkFlow->newWorkFlow("Potentials");
    $potentialWorkFlow->description = "Send Email to users on Potential creation";
    $potentialWorkFlow->executionCondition = 1;
    $vtcWorkFlow->save($potentialWorkFlow);
    $id1 = $potentialWorkFlow->id;
    $tm = new VTTaskManager($adb);
    $task = $tm->createTask('VTEmailTask', $potentialWorkFlow->id);
    $task->active = true;
    $task->recepient = "\$(assigned_user_id : (Users) email1)";
//.........這裏部分代碼省略.........
開發者ID:hbsman,項目名稱:vtigercrm-5.3.0-ja,代碼行數:101,代碼來源:CreateTables.inc.php

示例15: array

             case 'true:boolean':
                 $value = 1;
                 break;
             default:
                 $value;
                 break;
         }
         $oldCondtions[] = array('fieldname' => $fieldName, 'operation' => $condition['operation'], 'value' => $value, 'valuetype' => 'rawtext', 'joincondition' => $joinCondition, 'groupjoin' => $groupCondition, 'groupid' => $groupId);
         $previousConditionGroupId = $groupId;
     }
 }
 $newConditions = array(array('fieldname' => 'from_portal', 'operation' => 'is', 'value' => '1', 'valuetype' => 'rawtext', 'joincondition' => '', 'groupjoin' => 'and', 'groupid' => '0'));
 $newConditions = array_merge($oldCondtions, $newConditions);
 $workflowModel->test = Zend_Json::encode($newConditions);
 $workflowModel->description = 'Ticket Creation From Portal : Send Email to Record Owner and Contact';
 $wfs->save($workflowModel);
 $emailTask->id = '';
 $emailTask->workflowId = $properties['workflowId'];
 $emailTask->summary = 'Notify Record Owner when Ticket is created from Portal';
 $emailTask->fromEmail = '$(contact_id : (Contacts) lastname) $(contact_id : (Contacts) firstname)&lt;$(general : (__VtigerMeta__) supportEmailId)&gt;';
 $emailTask->recepient = ',$(assigned_user_id : (Users) email1)';
 $emailTask->subject = '[From Portal] $ticket_no [ Ticket Id : $(general : (__VtigerMeta__) recordId) ] $ticket_title';
 $emailTask->content = 'Ticket No : $ticket_no<br>
                               Ticket ID : $(general : (__VtigerMeta__) recordId)<br>
                               Ticket Title : $ticket_title<br><br>
                               $description';
 $tm->saveTask($emailTask);
 $emailTask->id = $properties['id'];
 $emailTask->summary = 'Notify Related Contact when Ticket is created from Portal';
 $emailTask->fromEmail = '$(general : (__VtigerMeta__) supportName)&lt;$(general : (__VtigerMeta__) supportEmailId)&gt;';
 $emailTask->recepient = ',$(contact_id : (Contacts) email)';
開發者ID:lsmonki,項目名稱:vtigercrm,代碼行數:31,代碼來源:600_to_610.php


注:本文中的VTWorkflowManager::save方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。