Exemplo n.º 1
0
 public static function ValidateProperties($testProperties = array(), CBPWorkflowTemplateUser $user = null)
 {
     $errors = array();
     $activityData = self::getRestActivityData();
     $properties = isset($activityData['PROPERTIES']) && is_array($activityData['PROPERTIES']) ? $activityData['PROPERTIES'] : array();
     foreach ($properties as $name => $property) {
         $value = isset($property['DEFAULT']) ? $property['DEFAULT'] : null;
         if (isset($testProperties[$name])) {
             $value = $testProperties[$name];
         }
         if (CBPHelper::getBool($property['REQUIRED']) && CBPHelper::isEmptyValue($value)) {
             $errors[] = array('code' => 'NotExist', 'parameter' => $name, 'message' => Loc::getMessage('BPRA_PD_ERROR_EMPTY_PROPERTY', array('#NAME#' => RestActivityTable::getLocalization($property['NAME'], LANGUAGE_ID))));
         }
     }
     if (isset($testProperties['AuthUserId']) && (string) $testProperties['AuthUserId'] !== $activityData['AUTH_USER_ID'] && !static::checkAdminPermissions()) {
         $errors[] = array('code' => 'NotExist', 'parameter' => 'AuthUserId', 'message' => Loc::getMessage('BPRA_PD_ERROR_EMPTY_PROPERTY', array('#NAME#' => Loc::getMessage('BPRA_PD_USER_ID'))));
     }
     return array_merge($errors, parent::ValidateProperties($testProperties, $user));
 }
Exemplo n.º 2
0
 private function makeRestActivityDescription($activity, $lang = false, $documentType = null)
 {
     if ($lang === false) {
         $lang = LANGUAGE_ID;
     }
     $code = static::REST_ACTIVITY_PREFIX . $activity['INTERNAL_CODE'];
     $result = array('NAME' => '[' . RestActivityTable::getLocalization($activity['APP_NAME'], $lang) . '] ' . RestActivityTable::getLocalization($activity['NAME'], $lang), 'DESCRIPTION' => RestActivityTable::getLocalization($activity['DESCRIPTION'], $lang), 'TYPE' => 'activity', 'CLASS' => $code, 'JSCLASS' => 'BizProcActivity', 'CATEGORY' => array('ID' => 'rest'), 'RETURN' => array(), 'PATH_TO_ACTIVITY' => '');
     if (isset($activity['FILTER']) && !$this->checkActivityFilter($activity['FILTER'], $documentType)) {
         $result['EXCLUDED'] = true;
     }
     if (!empty($activity['RETURN_PROPERTIES'])) {
         foreach ($activity['RETURN_PROPERTIES'] as $name => $property) {
             $result['RETURN'][$name] = array('NAME' => RestActivityTable::getLocalization($property['NAME'], $lang), 'TYPE' => isset($property['TYPE']) ? $property['TYPE'] : \Bitrix\Bizproc\FieldType::STRING);
         }
     }
     if ($activity['USE_SUBSCRIPTION'] != 'N') {
         $result['RETURN']['IsTimeout'] = array('NAME' => GetMessage('BPRA_IS_TIMEOUT'), 'TYPE' => \Bitrix\Bizproc\FieldType::INT);
     }
     return $result;
 }
Exemplo n.º 3
0
 /**
  * @param array $params Input params.
  * @param int $n Offset.
  * @param \CRestServer $server Rest server instance.
  * @return array
  * @throws AccessException
  * @throws \Bitrix\Main\ArgumentException
  */
 public static function getActivityList($params, $n, $server)
 {
     self::checkAdminPermissions();
     $iterator = RestActivityTable::getList(array('select' => array('CODE'), 'filter' => array('=APP_ID' => $server->getAppId())));
     $result = array();
     while ($row = $iterator->fetch()) {
         $result[] = $row['CODE'];
     }
     return $result;
 }