diff --git a/framework/src/Maveriks/Pattern/Mvc/SmartyView.php b/framework/src/Maveriks/Pattern/Mvc/SmartyView.php index a477ecf94..e1240537c 100644 --- a/framework/src/Maveriks/Pattern/Mvc/SmartyView.php +++ b/framework/src/Maveriks/Pattern/Mvc/SmartyView.php @@ -1,6 +1,8 @@ smarty = new \Smarty(); $this->smarty->compile_dir = defined('PATH_SMARTY_C')? PATH_SMARTY_C : sys_get_temp_dir(); $this->smarty->cache_dir = defined('PATH_SMARTY_CACHE')? PATH_SMARTY_CACHE : sys_get_temp_dir(); - //$this->smarty->config_dir = PATH_THIRDPARTY . 'smarty/configs'; - //$this->smarty->register_function('translate', 'translate'); + + if (! is_dir($this->smarty->compile_dir)) { + Common::mk_dir($this->smarty->compile_dir); + } + if (! is_dir($this->smarty->cache_dir)) { + Common::mk_dir($this->smarty->cache_dir); + } } public function assign($name, $value) diff --git a/framework/src/Maveriks/WebApplication.php b/framework/src/Maveriks/WebApplication.php index f98b25907..1baaa21dc 100644 --- a/framework/src/Maveriks/WebApplication.php +++ b/framework/src/Maveriks/WebApplication.php @@ -96,8 +96,6 @@ class WebApplication */ public function route() { - $this->requestUri = strlen($this->requestUri) > 1? rtrim($this->requestUri, '/'): $this->requestUri; - if ($this->requestUri === "/") { if (file_exists("index.html")) { return self::RUNNING_INDEX; @@ -118,34 +116,49 @@ class WebApplication return self::RUNNING_WORKFLOW; } - /*$workspace = $uriParts[1]; - $class = 'oauth2'; - $action = isset($uriParts[3])? $uriParts[3]: 'index';*/ - $uriTemp = explode('/', $_SERVER['REQUEST_URI']); array_shift($uriTemp); $workspace = array_shift($uriTemp); $_SERVER['REQUEST_URI'] = '/' . implode('/', $uriTemp); $this->loadEnvironment($workspace); - $this->configureRest($workspace, '1.0'); - //var_dump(class_exists('ProcessMaker\\Services\\OAuth2\\Server')); - $this->rest->addAPIClass('\ProcessMaker\\Services\\OAuth2\\Server', 'oauth2'); - $this->rest->handle(); - /* + // $pmOauthClientId - contains PM Local OAuth Id (Web Designer) + $pmOauthClientId = 'x-pm-local-client'; - $this->loadEnvironment($workspace); + // Setting current workspace to Api class + Services\Api::setWorkspace($workspace); + $cacheDir = defined("PATH_C")? PATH_C: sys_get_temp_dir(); - require_once PATH_CONTROLLERS . $class . '.php'; + $sysConfig = \System::getSystemConfiguration(); - if (is_callable(array($class, $action))) { - $controller = new $class(); - $controller->setHttpRequestData($_REQUEST); - $controller->call($action); - } else { - header('location: /errors/error404?url=' . urlencode($this->requestUri)); - }*/ + \Luracast\Restler\Defaults::$cacheDirectory = $cacheDir; + $productionMode = !(isset($sysConfig["service_api_debug"]) && $sysConfig["service_api_debug"]); + + Util\Logger::log("Serving API mode: " . ($productionMode? "production": "development")); + + // create a new Restler instance + //$rest = new \Luracast\Restler\Restler(); + $rest = new \Maveriks\Extension\Restler($productionMode); + $rest->setworkspace($workspace); + + // setting api version to Restler + $rest->setAPIVersion('1.0'); + // adding $authenticationClass to Restler + + // Setting database connection source + list($host, $port) = strpos(DB_HOST, ':') !== false ? explode(':', DB_HOST) : array(DB_HOST, ''); + $port = empty($port) ? '' : ";port=$port"; + Services\OAuth2\Server::setDatabaseSource(DB_USER, DB_PASS, DB_ADAPTER.":host=$host;dbname=".DB_NAME.$port); + + // Setting default OAuth Client id, for local PM Web Designer + Services\OAuth2\Server::setPmClientId($pmOauthClientId); + Services\OAuth2\Server::setWorkspace($workspace); + + $rest->setOverridingFormats('JsonFormat', 'UploadFormat'); + + $rest->addAPIClass('\ProcessMaker\\Services\\OAuth2\\Server', 'oauth2'); + $rest->handle(); } else { return self::RUNNING_WORKFLOW; @@ -244,7 +257,7 @@ class WebApplication */ header('Access-Control-Allow-Origin: *'); - $_SERVER['REQUEST_URI'] = $uri; + $_SERVER['REQUEST_URI'] = $uri; $this->rest->inputExecute = $inputExecute; $this->rest->handle(); @@ -269,6 +282,8 @@ class WebApplication $apiIniFile = $servicesDir . DS . 'api.ini'; // $authenticationClass - contains the class name that validate the authentication for Restler $authenticationClass = 'ProcessMaker\\Services\\OAuth2\\Server'; + // $pmOauthClientId - contains PM Local OAuth Id (Web Designer) + $pmOauthClientId = 'x-pm-local-client'; /* * Load Api ini file for Rest Service @@ -292,9 +307,37 @@ class WebApplication } } - $this->configureRest(SYS_SYS, $version, $multipart); + // Setting current workspace to Api class + Services\Api::setWorkspace(SYS_SYS); + $cacheDir = defined("PATH_C")? PATH_C: sys_get_temp_dir(); + + $sysConfig = \System::getSystemConfiguration(); + + \Luracast\Restler\Defaults::$cacheDirectory = $cacheDir; + $productionMode = (bool) !(isset($sysConfig["service_api_debug"]) && $sysConfig["service_api_debug"]); + + Util\Logger::log("Serving API mode: " . ($productionMode? "production": "development")); + + // create a new Restler instance + //$rest = new \Luracast\Restler\Restler(); + $this->rest = new \Maveriks\Extension\Restler($productionMode); + // setting flag for multipart to Restler + $this->rest->setFlagMultipart($multipart); + // setting api version to Restler + $this->rest->setAPIVersion($version); + // adding $authenticationClass to Restler $this->rest->addAuthenticationClass($authenticationClass, ''); + // Setting database connection source + list($host, $port) = strpos(DB_HOST, ':') !== false ? explode(':', DB_HOST) : array(DB_HOST, ''); + $port = empty($port) ? '' : ";port=$port"; + Services\OAuth2\Server::setDatabaseSource(DB_USER, DB_PASS, DB_ADAPTER.":host=$host;dbname=".DB_NAME.$port); + + // Setting default OAuth Client id, for local PM Web Designer + Services\OAuth2\Server::setPmClientId($pmOauthClientId); + + $this->rest->setOverridingFormats('JsonFormat', 'UploadFormat'); + $isPluginRequest = strpos($uri, '/plugin-') !== false ? true : false; if ($isPluginRequest) { @@ -319,7 +362,7 @@ class WebApplication $namespace = strpos($namespace, "//") === false? $namespace: str_replace("//", '', $namespace); //if (! class_exists($namespace)) { - require_once $classFile; + require_once $classFile; //} $this->rest->addAPIClass($namespace); @@ -352,44 +395,6 @@ class WebApplication } } - public function configureRest($workspace, $version, $multipart = false) - { - // $pmOauthClientId - contains PM Local OAuth Id (Web Designer) - $pmOauthClientId = 'x-pm-local-client'; - - // Setting current workspace to Api class - Services\Api::setWorkspace($workspace); - $cacheDir = defined("PATH_C")? PATH_C: sys_get_temp_dir(); - - $sysConfig = \System::getSystemConfiguration(); - - \Luracast\Restler\Defaults::$cacheDirectory = $cacheDir; - $productionMode = false; //(bool) !(isset($sysConfig["service_api_debug"]) && $sysConfig["service_api_debug"]); - - Util\Logger::log("Serving API mode: " . ($productionMode? "production": "development")); - - // create a new Restler instance - //$rest = new \Luracast\Restler\Restler(); - $this->rest = new \Maveriks\Extension\Restler($productionMode); - $this->rest->setworkspace($workspace); - // setting flag for multipart to Restler - $this->rest->setFlagMultipart($multipart); - // setting api version to Restler - $this->rest->setAPIVersion($version); - // adding $authenticationClass to Restler - - // Setting database connection source - list($host, $port) = strpos(DB_HOST, ':') !== false ? explode(':', DB_HOST) : array(DB_HOST, ''); - $port = empty($port) ? '' : ";port=$port"; - Services\OAuth2\Server::setDatabaseSource(DB_USER, DB_PASS, DB_ADAPTER.":host=$host;dbname=".DB_NAME.$port); - - // Setting default OAuth Client id, for local PM Web Designer - Services\OAuth2\Server::setPmClientId($pmOauthClientId); - Services\OAuth2\Server::setWorkspace($workspace); - - $this->rest->setOverridingFormats('JsonFormat', 'UploadFormat'); - } - public function parseApiRequestUri() { $url = explode("/", $this->requestUri); @@ -574,4 +579,4 @@ class WebApplication return true; } -} \ No newline at end of file +} diff --git a/gulliver/system/class.xmlform.php b/gulliver/system/class.xmlform.php index 0522c559d..a15f864b5 100755 --- a/gulliver/system/class.xmlform.php +++ b/gulliver/system/class.xmlform.php @@ -324,8 +324,8 @@ class XmlForm_Field return 1; } - if(isset($this->mode) && $this->mode == "view" && ($this->type == "text" || $this->type == "currency" || $this->type == "percentage" || $this->type == "textarea" || $this->type == "hidden" || $this->type == "suggest")){ - return 1; + if(isset($this->mode) && $this->mode == "view" && ($this->type == "text" || $this->type == "currency" || $this->type == "percentage" || $this->type == "textarea" || $this->type == "hidden" || $this->type == "suggest")){ + return 1; } if (! $this->sqlConnection) { @@ -1965,7 +1965,7 @@ class XmlForm_Field_Textarea extends XmlForm_Field } $html = ''; - $scrollStyle = $this->style . "overflow:scroll;overflow-y:scroll;overflow-x:hidden;overflow:-moz-scrollbars-vertical;"; + $scrollStyle = $this->style . "overflow:scroll;overflow-y:scroll;overflow-x:hidden;overflow:-moz-scrollbars-vertical;resize:none;"; if ($this->renderMode == 'edit') { //EDIT MODE $readOnlyText = ($this->readOnly == 1 || $this->readOnly == '1') ? 'readOnly="readOnly"' : ''; @@ -2031,7 +2031,7 @@ class XmlForm_Field_Textarea extends XmlForm_Field $arrayOptions[$r] = $v; - $scrollStyle = $this->style . "overflow:scroll;overflow-y:scroll;overflow-x:hidden;overflow:-moz-scrollbars-vertical;"; + $scrollStyle = $this->style . "overflow:scroll;overflow-y:scroll;overflow-x:hidden;overflow:-moz-scrollbars-vertical;resize:none;"; $html = ''; if ($this->renderMode == 'edit') { //EDIT MODE diff --git a/workflow/engine/classes/class.processes.php b/workflow/engine/classes/class.processes.php index 0d1d1d591..59df73862 100755 --- a/workflow/engine/classes/class.processes.php +++ b/workflow/engine/classes/class.processes.php @@ -2753,7 +2753,7 @@ class Processes if ($oContent->Exists( $ConCategory, $ConParent, $ConId, $ConLang )) { $oContent->removeContent( $ConCategory, $ConParent, $ConId ); } - $oContent->addContent( $ConCategory, $ConParent, $ConId, $ConLang, "" ); + $oContent->addContent( $ConCategory, $ConParent, $ConId, $ConLang, $aRow['DBS_DESCRIPTION'] ); } } #@!neyek diff --git a/workflow/engine/classes/model/AppCacheView.php b/workflow/engine/classes/model/AppCacheView.php index 9290ac54e..003a20d0b 100755 --- a/workflow/engine/classes/model/AppCacheView.php +++ b/workflow/engine/classes/model/AppCacheView.php @@ -672,6 +672,7 @@ class AppCacheView extends BaseAppCacheView } $criteria->add(AppCacheViewPeer::APP_STATUS, "CANCELLED", CRITERIA::EQUAL); + $criteria->add(AppCacheViewPeer::DEL_LAST_INDEX, '1', Criteria::EQUAL); if (!empty($userUid)) { $criteria->add(AppCacheViewPeer::USR_UID, $userUid); @@ -1049,7 +1050,8 @@ class AppCacheView extends BaseAppCacheView )->addOr( //Cancelled - getCancelled() $criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "CANCELLED", CRITERIA::EQUAL)->addAnd( - $criteria->getNewCriterion(AppCacheViewPeer::DEL_THREAD_STATUS, "CLOSED")) + $criteria->getNewCriterion(AppCacheViewPeer::DEL_THREAD_STATUS, "CLOSED"))->addAnd( + $criteria->getNewCriterion(AppCacheViewPeer::DEL_LAST_INDEX, '1', Criteria::EQUAL)) )->addOr( $criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "COMPLETED", CRITERIA::EQUAL)->addAnd( $criteria->getNewCriterion(AppCacheViewPeer::DEL_LAST_INDEX, '1', Criteria::EQUAL)) diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index 8944b8fb5..cbd31ed06 100644 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: ProcessMaker 2.5.2.3\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2014-07-22 13:19:57\n" +"PO-Revision-Date: 2014-08-21 17:02:40\n" "Last-Translator: \n" "Language-Team: Colosa Developers Team \n" "MIME-Version: 1.0\n" @@ -16351,6 +16351,66 @@ msgstr "The file exists." msgid "The filename is required." msgstr "The filename is required." +# TRANSLATION +# LABEL/ID_VARIABLE_IN_USE +#: LABEL/ID_VARIABLE_IN_USE +msgid "The variable with var_uid: {0} is being used by dynaform with dyn_uid: {1}" +msgstr "The variable with var_uid: {0} is being used by dynaform with dyn_uid: {1}" + +# TRANSLATION +# LABEL/ID_ROUTE_IS_SECJOIN +#: LABEL/ID_ROUTE_IS_SECJOIN +msgid "The route is of \"SEC-JOIN\" type." +msgstr "The route is of \"SEC-JOIN\" type." + +# TRANSLATION +# LABEL/ID_ROUTE_PARENT_DOES_NOT_EXIST_FOR_ROUTE_SECJOIN +#: LABEL/ID_ROUTE_PARENT_DOES_NOT_EXIST_FOR_ROUTE_SECJOIN +msgid "The parent route does not exist for this route of \"SEC-JOIN\" type." +msgstr "The parent route does not exist for this route of \"SEC-JOIN\" type." + +# TRANSLATION +# LABEL/ID_GENERATE_BPMN_PROJECT +#: LABEL/ID_GENERATE_BPMN_PROJECT +msgid "Generate BPMN Project" +msgstr "Generate BPMN Project" + +# TRANSLATION +# LABEL/ID_PROCESS_DOES_NOT_EXIST +#: LABEL/ID_PROCESS_DOES_NOT_EXIST +msgid "The process with {0}: {1} does not exist." +msgstr "The process with {0}: {1} does not exist." + +# TRANSLATION +# LABEL/ID_PROJECT_IS_BPMN +#: LABEL/ID_PROJECT_IS_BPMN +msgid "The project with {0}: {1} is BPMN process." +msgstr "The project with {0}: {1} is BPMN process." + +# TRANSLATION +# LABEL/ID_USE_LANGUAGE_URL +#: LABEL/ID_USE_LANGUAGE_URL +msgid "Use the language of URL" +msgstr "Use the language of URL" + +# TRANSLATION +# LABEL/ID_SUMMARY_FORM_NO_PERMISSIONS +#: LABEL/ID_SUMMARY_FORM_NO_PERMISSIONS +msgid "You do not have permission to summary form" +msgstr "You do not have permission to summary form" + +# TRANSLATION +# LABEL/ID_SUMMARY_FORM +#: LABEL/ID_SUMMARY_FORM +msgid "Summary form" +msgstr "Summary form" + +# TRANSLATION +# LABEL/ID_LANGUAGE_CANT_DELETE_DEFAULT +#: LABEL/ID_LANGUAGE_CANT_DELETE_DEFAULT +msgid "You can't delete the default language." +msgstr "You can't delete the default language." + # additionalTables/additionalTablesData.xml?ADD_TAB_NAME # additionalTables/additionalTablesData.xml #: text - ADD_TAB_NAME @@ -27545,6 +27605,12 @@ msgstr "Cases Notes" msgid "[processes/processes_EditObjectPermission.xml?OP_OBJ_TYPE-MSGS_HISTORY]" msgstr "Messages History" +# processes/processes_EditObjectPermission.xml?OP_OBJ_TYPE-SUMMARY_FORM +# processes/processes_EditObjectPermission.xml +#: dropdown - OP_OBJ_TYPE - SUMMARY_FORM +msgid "[processes/processes_EditObjectPermission.xml?OP_OBJ_TYPE-SUMMARY_FORM]" +msgstr "Summary Form" + # processes/processes_EditObjectPermission.xml?ALL # processes/processes_EditObjectPermission.xml #: dropdown - ALL @@ -28145,6 +28211,12 @@ msgstr "Cases Notes" msgid "[processes/processes_NewObjectPermission.xml?OP_OBJ_TYPE-MSGS_HISTORY]" msgstr "Messages History" +# processes/processes_NewObjectPermission.xml?OP_OBJ_TYPE-SUMMARY_FORM +# processes/processes_NewObjectPermission.xml +#: dropdown - OP_OBJ_TYPE - SUMMARY_FORM +msgid "[processes/processes_NewObjectPermission.xml?OP_OBJ_TYPE-SUMMARY_FORM]" +msgstr "Summary Form" + # processes/processes_NewObjectPermission.xml?ALL # processes/processes_NewObjectPermission.xml #: dropdown - ALL diff --git a/workflow/engine/methods/cases/casesListExtJs.php b/workflow/engine/methods/cases/casesListExtJs.php index b6d8aec17..7d6003705 100755 --- a/workflow/engine/methods/cases/casesListExtJs.php +++ b/workflow/engine/methods/cases/casesListExtJs.php @@ -101,7 +101,9 @@ $allUsers = getAllUsersArray( $action ); $oHeadPublisher->assign( 'reassignReaderFields', $reassignReaderFields ); //sending the fields to get from proxy $oHeadPublisher->addExtJsScript( 'cases/reassignList', false ); +$enableEnterprise = false; if (class_exists( 'enterprisePlugin' )) { + $enableEnterprise = true; $oHeadPublisher->addExtJsScript(PATH_PLUGINS . "enterprise" . PATH_SEP . "advancedTools" . PATH_SEP , false, true); } @@ -117,6 +119,7 @@ $oHeadPublisher->assign( 'categoryValues', $category ); //Sending the listing of $oHeadPublisher->assign( 'userValues', $users ); //Sending the listing of users $oHeadPublisher->assign( 'allUsersValues', $allUsers ); //Sending the listing of all users $oHeadPublisher->assign( 'solrEnabled', $solrEnabled ); //Sending the status of solar +$oHeadPublisher->assign( 'enableEnterprise', $enableEnterprise ); //sending the page size //menu permissions /*$c = new Criteria('workflow'); diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmClientCredentials.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmClientCredentials.php new file mode 100644 index 000000000..30c9c7978 --- /dev/null +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmClientCredentials.php @@ -0,0 +1,129 @@ + + * + * @see OAuth2_ClientAssertionType_HttpBasic + */ +class PmClientCredentials implements \OAuth2\GrantType\GrantTypeInterface +{ + private $clientData; + + protected $storage; + protected $config; + + public function __construct(ClientCredentialsInterface $storage, array $config = array()) + { + $this->storage = $storage; + $this->config = array_merge(array( + 'allow_credentials_in_request_body' => true + ), $config); + } + + public function validateRequest(RequestInterface $request, ResponseInterface $response) + { + if (!$clientData = $this->getClientCredentials($request, $response)) { + return false; + } + + if (!isset($clientData['client_id']) || !isset($clientData['client_secret'])) { + throw new \LogicException('the clientData array must have "client_id" and "client_secret" values set.'); + } + + if ($this->storage->checkClientCredentials($clientData['client_id'], $clientData['client_secret']) === false) { + $response->setError(400, 'invalid_client', 'The client credentials are invalid'); + return false; + } + + if (!$this->storage->checkRestrictedGrantType($clientData['client_id'], $request->request('grant_type'))) { + $response->setError(400, 'unauthorized_client', 'The grant type is unauthorized for this client_id'); + return false; + } + + $this->clientData = $clientData; + + return true; + } + + public function getClientId() + { + return $this->clientData['client_id']; + } + + /** + * Internal function used to get the client credentials from HTTP basic + * auth or POST data. + * + * According to the spec (draft 20), the client_id can be provided in + * the Basic Authorization header (recommended) or via GET/POST. + * + * @return + * A list containing the client identifier and password, for example + * @code + * return array( + * "client_id" => CLIENT_ID, // REQUIRED the client id + * "client_secret" => CLIENT_SECRET, // REQUIRED the client secret + * ); + * @endcode + * + * @see http://tools.ietf.org/html/rfc6749#section-2.3.1 + * + * @ingroup oauth2_section_2 + */ + public function getClientCredentials(RequestInterface $request, ResponseInterface $response = null) + { + if (!is_null($request->headers('PHP_AUTH_USER')) && !is_null($request->headers('PHP_AUTH_PW'))) { + return array('client_id' => $request->headers('PHP_AUTH_USER'), 'client_secret' => $request->headers('PHP_AUTH_PW')); + } + + if ($this->config['allow_credentials_in_request_body']) { + // Using POST for HttpBasic authorization is not recommended, but is supported by specification + if (!is_null($request->request('client_id'))) { + /** + * client_secret can be null if the client's password is an empty string + * @see http://tools.ietf.org/html/rfc6749#section-2.3.1 + */ + return array('client_id' => $request->request('client_id'), 'client_secret' => $request->request('client_secret', '')); + } + } + + if ($response) { + $response->setError(400, 'invalid_client', 'Client credentials were not found in the headers or body'); + } + + return null; + } + + public function getQuerystringIdentifier() + { + return 'client_credentials'; + } + + public function getScope() + { + return null; + } + + public function getUserId() + { + return null; + } + + public function createAccessToken(AccessTokenInterface $accessToken, $client_id, $user_id, $scope) + { + /* + * Client Credentials Grant does NOT include a refresh token + * @see http://tools.ietf.org/html/rfc6749#section-4.4.3 + */ + $includeRefreshToken = false; + return $accessToken->createAccessToken($client_id, $user_id, $scope, $includeRefreshToken); + } +} diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php index b517bd8f1..4c6636cdf 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php @@ -55,7 +55,7 @@ class Server implements iAuthenticate $this->server->addGrantType(new \OAuth2\GrantType\AuthorizationCode($this->storage)); // Add the "Client Credentials" grant type (it is the simplest of the grant types) - $this->server->addGrantType(new \OAuth2\GrantType\ClientCredentials($this->storage)); + $this->server->addGrantType(new \ProcessMaker\Services\OAuth2\PmClientCredentials($this->storage)); // Add the "Refresh token" grant type $this->server->addGrantType(new \OAuth2\GrantType\RefreshToken($this->storage)); @@ -184,7 +184,7 @@ class Server implements iAuthenticate */ public function postAuthorize($authorize = null, $userId = null, $returnResponse = false) { - session_start(); + @session_start(); if (! isset($_SESSION['USER_LOGGED'])) { throw new RestException(400, "Local Authentication Error, user session is not started."); diff --git a/workflow/engine/templates/admin/emails.js b/workflow/engine/templates/admin/emails.js index 921438391..61119e551 100644 --- a/workflow/engine/templates/admin/emails.js +++ b/workflow/engine/templates/admin/emails.js @@ -765,7 +765,9 @@ var testEmailWindow = new Ext.Window({ autoHeight: true, layout: 'fit', y: 82, - items: testConnForm + items: testConnForm, + draggable: false, + resizable: false }); var testEmailWindowMail = new Ext.Window({ @@ -776,7 +778,9 @@ var testEmailWindowMail = new Ext.Window({ autoHeight: true, layout: 'fit', y: 82, - items: testConnFormMail + items: testConnFormMail, + draggable: false, + resizable: false }); var params; diff --git a/workflow/engine/templates/admin/pmLogo.js b/workflow/engine/templates/admin/pmLogo.js index cebd09910..0da25c7c1 100644 --- a/workflow/engine/templates/admin/pmLogo.js +++ b/workflow/engine/templates/admin/pmLogo.js @@ -67,14 +67,14 @@ Ext.onReady(function() { } else { PMExt.notify( _('ID_NOTICE'), _('ID_YOU_ARE_NOT_CAN_SELECT_PHOTO')); - } + } } else { PMExt.notify( _('ID_NOTICE'), _('ID_SELECT_AN_IMAGE')); } } }); - + tbar.add({ text : _('ID_DELETE'), icon : '/images/delete-16x16.gif', @@ -99,7 +99,7 @@ Ext.onReady(function() { if (oResponse.success == true) { Ext.Msg.alert(_('ID_LOGO'), _('ID_SELECTED_IMAGE_IS_LOGO')); isCurrentLogo = true; - } + } } }); if(isCurrentLogo == false) { @@ -118,7 +118,7 @@ Ext.onReady(function() { oResponse = Ext.decode( response.responseText ); if (oResponse.success == true) { PMExt.notify( _('ID_NOTICE'), _('ID_SELECTED_IMAGE_DELETED')); - } + } else { PMExt.notify( _('ID_NOTICE'), _('ID_SELECTED_IMAGE_IS_LOGO')); } @@ -134,7 +134,7 @@ Ext.onReady(function() { } else { PMExt.notify( _('ID_NOTICE'), _('ID_YOU_ARE_NOT_CAN_SELECT_PHOTO')); - } + } } else { PMExt.notify( _('ID_NOTICE'), _('ID_SELECT_AN_IMAGE')); @@ -145,7 +145,7 @@ Ext.onReady(function() { tbar.add({ text : _('ID_RESTORE_DEFAULT'), icon : '/images/icon-pmlogo-15x15.png', - handler : function() { + handler : function() { var records = datav.getSelectedRecords(); var myMask = new Ext.LoadMask(Ext.getBody(), {msg : _('ID_LOADING')}); myMask.show(); @@ -183,7 +183,7 @@ Ext.onReady(function() { height : 800, multiSelect : true, autoScroll: true, - overClass : 'x-view-over', + overClass : 'x-view-over', itemSelector: 'div.thumb-wrap', emptyText : _('ID_NO_IMAGES_TO_DISPLAY'), @@ -195,7 +195,7 @@ Ext.onReady(function() { panelLeft.setTitle(_('PHOTO_GALLERY') + '(' + l + ' ' + _('ID_IMAGE') + s + ' ' + _('ID_SELECTED') + ')'); if (nodes.length > 0) { Ext.getCmp('tbarAply').enable(); - Ext.getCmp('tbarDelete').enable(); + Ext.getCmp('tbarDelete').enable(); } else { Ext.getCmp('tbarAply').disable(); @@ -209,7 +209,7 @@ Ext.onReady(function() { // fn : function() { // } // } - + } }) @@ -303,6 +303,8 @@ Ext.onReady(function() { autoScroll : true, closeAction : 'hide', maximizable : false, + resizable : false, + draggable : false, items : [panelRightTop] }); diff --git a/workflow/engine/templates/cases/casesList.js b/workflow/engine/templates/cases/casesList.js index d0bdd1a39..9ea6dcf66 100644 --- a/workflow/engine/templates/cases/casesList.js +++ b/workflow/engine/templates/cases/casesList.js @@ -591,7 +591,9 @@ Ext.onReady ( function() { if( c.dataIndex == 'APP_DEL_PREVIOUS_USER') c.renderer = previous_full_name; if( c.dataIndex == 'APP_CURRENT_USER') c.renderer = full_name; } - c.header = __('enterprise', _(c.header)); + if (enableEnterprise) { + c.header = __('enterprise', _(c.header)); + } } //adding the hidden field DEL_INIT_DATE diff --git a/workflow/engine/templates/setup/systemInfo.js b/workflow/engine/templates/setup/systemInfo.js index 0c81b3517..fc7bf796c 100644 --- a/workflow/engine/templates/setup/systemInfo.js +++ b/workflow/engine/templates/setup/systemInfo.js @@ -75,7 +75,6 @@ systemInfo.application = { border: false, bodyStyle: "padding: 10px; font: 0.80em arial;", width: 250, - height: 300, html: _("ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION") +'

'+ _("ID_PROCESSMAKER_REQUIREMENTS_DESCRIPTION2") +'

'+ _("ID_PROCESSMAKER_REQUIREMENTS_OPENSSL_OPTIONAL") +'

'+ _("ID_PROCESSMAKER_REQUIREMENTS_LDAP_OPTIONAL") }); @@ -88,7 +87,6 @@ systemInfo.application = { border: false, labelWidth: 200, width: 430, - height: 350, items: [ { xtype: "displayfield",