Пример #1
0
 public function handleEvent($handlerType, $entityData)
 {
     $moduleName = $entityData->getModuleName();
     if ($handlerType == 'vtiger.entity.beforesave' && in_array($moduleName, ['Calendar', 'Events', 'Activity'])) {
         $data = $entityData->getData();
         $state = Calendar_Module_Model::getCalendarState($data);
         if ($state) {
             $entityData->set('activitystatus', $state);
         }
     }
 }
Пример #2
0
<?php

/* {[The file is published on the basis of YetiForce Public License that can be found in the following directory: licenses/License.html]} */
require_once 'include/main/WebUI.php';
$user = new Users();
$current_user = $user->retrieveCurrentUserInfoFromFile("1");
$adb = PearDatabase::getInstance();
$statusActivity = Calendar_Module_Model::getComponentActivityStateLabel();
$query = 'SELECT vtiger_activity.`activityid`, vtiger_activity.`due_date`,vtiger_activity.`time_end`,vtiger_activity.`date_start`,vtiger_activity.`time_start`,vtiger_activity.`state` FROM vtiger_activity INNER JOIN vtiger_crmentity AS crm ON crm.crmid = vtiger_activity.`activityid` WHERE vtiger_activity.`status` IN (?,?) AND crm.`deleted` = ?';
$result = $adb->pquery($query, [$statusActivity['not_started'], $statusActivity['in_realization'], 0]);
while ($row = $adb->fetch_array($result)) {
    $state = Calendar_Module_Model::getCalendarState($row);
    if ($state) {
        $recordModel = Vtiger_Record_Model::getInstanceById($row['activityid']);
        $recordModel->set('id', $row['activityid']);
        $recordModel->set('activitystatus', $state);
        $recordModel->set('mode', 'edit');
        $recordModel->save();
    }
}
Пример #3
0
 /** Function to insert values in vtiger_activity_reminder_popup table for the specified module
  * @param $cbmodule -- module:: Type varchar
  */
 function insertIntoActivityReminderPopup($cbmodule)
 {
     $adb = PearDatabase::getInstance();
     $cbrecord = $this->id;
     unset($_SESSION['next_reminder_time']);
     if (isset($cbmodule) && isset($cbrecord)) {
         $cbdate = getValidDBInsertDateValue($this->column_fields['date_start']);
         $cbtime = $this->column_fields['time_start'];
         $reminderQuery = 'SELECT reminderid FROM vtiger_activity_reminder_popup WHERE semodule = ? and recordid = ?';
         $reminderParams = [$cbmodule, $cbrecord];
         $reminderidres = $adb->pquery($reminderQuery, $reminderParams);
         $reminderid = null;
         if ($reminderidres->rowCount() > 0) {
             $reminderid = $adb->query_result($reminderidres, 0, 'reminderid');
         }
         $currentStates = Calendar_Module_Model::getComponentActivityStateLabel('current');
         $state = Calendar_Module_Model::getCalendarState($this->column_fields);
         if (in_array($state, $currentStates)) {
             $status = 0;
         } else {
             $status = 1;
         }
         if (isset($reminderid)) {
             $adb->update('vtiger_activity_reminder_popup', ['date_start' => $cbdate, 'time_start' => $cbtime, 'status' => $status], 'reminderid = ?', [$reminderid]);
         } else {
             $adb->insert('vtiger_activity_reminder_popup', ['recordid' => $cbrecord, 'semodule' => $cbmodule, 'date_start' => $cbdate, 'time_start' => $cbtime, 'status' => $status]);
         }
     }
 }