From 3079a414c0b29a5f7375e68d077ead79ea6f6506 Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Wed, 9 Apr 2014 11:40:36 -0400 Subject: [PATCH 1/4] Correccion de datos GET en MULTIPART --- framework/src/Maveriks/WebApplication.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/framework/src/Maveriks/WebApplication.php b/framework/src/Maveriks/WebApplication.php index cfa325f4d..c5edf9497 100644 --- a/framework/src/Maveriks/WebApplication.php +++ b/framework/src/Maveriks/WebApplication.php @@ -127,8 +127,7 @@ class WebApplication $uriTemp = trim($baseUrl) . trim($value->url); if (strpos($uriTemp, '?') !== false) { $dataGet = explode('?', $uriTemp); - parse_str($dataGet[1], $get); - $_GET = array_merge($_GET, $get); + parse_str($dataGet[1], $_GET); } $inputExecute = (empty($value->data)) ? '' : json_encode($value->data); $this->responseMultipart[] = $this->dispatchApiRequest($uriTemp, $version, true, $inputExecute); From 08fdc2db585ade6befe40fea7b49e7b92781427e Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Wed, 9 Apr 2014 17:01:47 -0400 Subject: [PATCH 2/4] ProcessMaker-BE "Calendar cambios" - El atributo STATUS ya no es requerido - Se modificaron el formato de respuesta de las fechas, esto segun "ADMIN > Settings > Environment > Global Date Format" - Se cambiaron el formato de los dias a: 1, 2, 3, 4, 5, 6, 7, 0 (0 es el valor que indica todos los dias) - Se hizo los cambios necesarios en el archivo PHPUnit implicado --- .../ProcessMaker/BusinessModel/Calendar.php | 94 ++++++++++++++----- .../ProcessMaker/BusinessModel/Process.php | 4 +- .../src/Tests/BusinessModel/CalendarTest.php | 44 ++++----- 3 files changed, 88 insertions(+), 54 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Calendar.php b/workflow/engine/src/ProcessMaker/BusinessModel/Calendar.php index 8d7d14bd2..8c1e98403 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Calendar.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Calendar.php @@ -8,8 +8,8 @@ class Calendar "CAL_NAME" => array("fieldName" => "CALENDAR_NAME", "type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "calendarName"), "CAL_DESCRIPTION" => array("fieldName" => "CALENDAR_DESCRIPTION", "type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "calendarDescription"), - "CAL_WORK_DAYS" => array("fieldName" => "CALENDAR_WORK_DAYS", "type" => "array", "required" => true, "empty" => false, "defaultValues" => array("SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"), "fieldNameAux" => "calendarWorkDays"), - "CAL_STATUS" => array("fieldName" => "CALENDAR_STATUS", "type" => "string", "required" => true, "empty" => false, "defaultValues" => array("ACTIVE", "INACTIVE"), "fieldNameAux" => "calendarStatus"), + "CAL_WORK_DAYS" => array("fieldName" => "CALENDAR_WORK_DAYS", "type" => "array", "required" => true, "empty" => false, "defaultValues" => array(1, 2, 3, 4, 5, 6, 7), "fieldNameAux" => "calendarWorkDays"), + "CAL_STATUS" => array("fieldName" => "CALENDAR_STATUS", "type" => "string", "required" => false, "empty" => false, "defaultValues" => array("ACTIVE", "INACTIVE"), "fieldNameAux" => "calendarStatus"), "CAL_WORK_HOUR" => array("fieldName" => "CALENDAR_WORK_HOUR", "type" => "array", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "calendarWorkHour"), "CAL_HOLIDAY" => array("fieldName" => "CALENDAR_HOLIDAY", "type" => "array", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "calendarHoliday"), @@ -18,9 +18,9 @@ class Calendar ); private $arrayWorkHourFieldDefinition = array( - "DAY" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array("SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT", "ALL"), "fieldNameAux" => "day"), - "HOUR_START" => array("type" => "hour", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "hourStart"), - "HOUR_END" => array("type" => "hour", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "hourEnd") + "DAY" => array("type" => "int", "required" => true, "empty" => false, "defaultValues" => array(0, 1, 2, 3, 4, 5, 6, 7), "fieldNameAux" => "day"), + "HOUR_START" => array("type" => "hour", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "hourStart"), + "HOUR_END" => array("type" => "hour", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "hourEnd") ); private $arrayHolidayFieldDefinition = array( @@ -188,20 +188,50 @@ class Calendar } /** - * Replace and Get Work Days + * Transform Work Days * - * @param string $workDays Work days - * @param bool $toNumber If is true replace to numbers, replace to string otherwise + * @param mixed $workDays Work days + * @param bool $toDb If is true transform data to represent it according to database, do the reverse otherwise * - * return string Return Work days + * return mixed Return Work days */ - public function workDaysReplaceData($workDays, $toNumber = true) + public function workDaysTransformData($workDays, $toDb = true) { try { - $arrayDayString = array("SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT", "ALL"); - $arrayDayNumber = array(0, 1, 2, 3, 4, 5, 6, 7); + $arrayDayName = array("SUN", "ALL"); + $arrayDay = array(7, 0); + $arrayDayDb = array(0, 7); - return ($toNumber)? str_replace($arrayDayString, $arrayDayNumber, $workDays) : str_replace($arrayDayNumber, $arrayDayString, $workDays); + $data = (is_string($workDays) && preg_match("/\|/", $workDays))? explode("|", $workDays) : $workDays; + $type = "int"; + + if (is_array($data)) { + $data = implode("|", $data); + $type = "array"; + } + + if ($toDb) { + $data = str_replace($arrayDay, $arrayDayName, $data); + $data = str_replace($arrayDayName, $arrayDayDb, $data); + } else { + $data = str_replace($arrayDayDb, $arrayDayName, $data); + $data = str_replace($arrayDayName, $arrayDay, $data); + } + + switch ($type) { + case "int": + $data = (int)($data); + break; + case "array": + $data = explode("|", $data); + + foreach ($data as $key => $value) { + $data[$key] = (int)($value); + } + break; + } + + return $data; } catch (\Exception $e) { throw $e; } @@ -300,12 +330,12 @@ class Calendar if (isset($arrayData["CAL_WORK_HOUR"])) { foreach ($arrayData["CAL_WORK_HOUR"] as $value) { - if ($value["DAY"] != "ALL" && !in_array($value["DAY"], $arrayData["CAL_WORK_DAYS"])) { + if ($value["DAY"] != 0 && !in_array($value["DAY"], $arrayData["CAL_WORK_DAYS"], true)) { throw (new \Exception(str_replace(array("{0}", "{1}"), array($this->arrayWorkHourFieldNameForException["day"], $this->arrayFieldNameForException["calendarWorkDays"]), "Value specified for \"{0}\" does not exist in \"{1}\"."))); } $arrayCalendarWorkHour[] = array( - "CALENDAR_BUSINESS_DAY" => $this->workDaysReplaceData($value["DAY"]), + "CALENDAR_BUSINESS_DAY" => $this->workDaysTransformData($value["DAY"]), "CALENDAR_BUSINESS_START" => $value["HOUR_START"], "CALENDAR_BUSINESS_END" => $value["HOUR_END"] ); @@ -328,8 +358,8 @@ class Calendar $arrayDataAux["CALENDAR_UID"] = \G::generateUniqueID(); $arrayDataAux["CALENDAR_NAME"] = $arrayData["CAL_NAME"]; $arrayDataAux["CALENDAR_DESCRIPTION"] = (isset($arrayData["CAL_DESCRIPTION"]))? $arrayData["CAL_DESCRIPTION"] : ""; - $arrayDataAux["CALENDAR_WORK_DAYS"] = explode("|", $this->workDaysReplaceData(implode("|", $arrayData["CAL_WORK_DAYS"]))); - $arrayDataAux["CALENDAR_STATUS"] = $arrayData["CAL_STATUS"]; + $arrayDataAux["CALENDAR_WORK_DAYS"] = $this->workDaysTransformData($arrayData["CAL_WORK_DAYS"]); + $arrayDataAux["CALENDAR_STATUS"] = (isset($arrayData["CAL_STATUS"]))? $arrayData["CAL_STATUS"] : "ACTIVE"; $arrayDataAux["BUSINESS_DAY"] = $arrayCalendarWorkHour; $arrayDataAux["HOLIDAY"] = $arrayCalendarHoliday; @@ -401,18 +431,18 @@ class Calendar //Set variables $arrayCalendarData = \G::array_change_key_case2($this->getCalendar($calendarUid), CASE_UPPER); - $calendarWorkDays = (isset($arrayData["CAL_WORK_DAYS"]))? $arrayData["CAL_WORK_DAYS"] : $arrayCalendarData["CAL_WORK_DAYS"]; + $calendarWorkDays = (isset($arrayData["CAL_WORK_DAYS"]))? $arrayData["CAL_WORK_DAYS"] : array_keys($arrayCalendarData["CAL_WORK_DAYS"]); $arrayCalendarWorkHour = array(); $arrayAux = (isset($arrayData["CAL_WORK_HOUR"]))? $arrayData["CAL_WORK_HOUR"] : $arrayCalendarData["CAL_WORK_HOUR"]; foreach ($arrayAux as $value) { - if (isset($arrayData["CAL_WORK_HOUR"]) && $value["DAY"] != "ALL" && !in_array($value["DAY"], $calendarWorkDays)) { + if (isset($arrayData["CAL_WORK_HOUR"]) && $value["DAY"] != 0 && !in_array($value["DAY"], $calendarWorkDays, true)) { throw (new \Exception(str_replace(array("{0}", "{1}"), array($this->arrayWorkHourFieldNameForException["day"], $this->arrayFieldNameForException["calendarWorkDays"]), "Value specified for \"{0}\" does not exist in \"{1}\"."))); } $arrayCalendarWorkHour[] = array( - "CALENDAR_BUSINESS_DAY" => $this->workDaysReplaceData($value["DAY"]), + "CALENDAR_BUSINESS_DAY" => $this->workDaysTransformData($value["DAY"]), "CALENDAR_BUSINESS_START" => $value["HOUR_START"], "CALENDAR_BUSINESS_END" => $value["HOUR_END"] ); @@ -433,7 +463,7 @@ class Calendar $arrayDataAux["CALENDAR_UID"] = $calendarUid; $arrayDataAux["CALENDAR_NAME"] = (isset($arrayData["CAL_NAME"]))? $arrayData["CAL_NAME"] : $arrayCalendarData["CAL_NAME"]; $arrayDataAux["CALENDAR_DESCRIPTION"] = (isset($arrayData["CAL_DESCRIPTION"]))? $arrayData["CAL_DESCRIPTION"] : $arrayCalendarData["CAL_DESCRIPTION"]; - $arrayDataAux["CALENDAR_WORK_DAYS"] = explode("|", $this->workDaysReplaceData(implode("|", $calendarWorkDays))); + $arrayDataAux["CALENDAR_WORK_DAYS"] = $this->workDaysTransformData($calendarWorkDays); $arrayDataAux["CALENDAR_STATUS"] = (isset($arrayData["CAL_STATUS"]))? $arrayData["CAL_STATUS"] : $arrayCalendarData["CAL_STATUS"]; $arrayDataAux["BUSINESS_DAY"] = $arrayCalendarWorkHour; @@ -531,7 +561,7 @@ class Calendar foreach ($arrayData as $value) { $arrayCalendarWorkHour[] = array( - $this->getFieldNameByFormatFieldName("DAY") => $this->workDaysReplaceData($value["CALENDAR_BUSINESS_DAY"] . "", false), + $this->getFieldNameByFormatFieldName("DAY") => $this->workDaysTransformData($value["CALENDAR_BUSINESS_DAY"] . "", false), $this->getFieldNameByFormatFieldName("HOUR_START") => $value["CALENDAR_BUSINESS_START"] . "", $this->getFieldNameByFormatFieldName("HOUR_END") => $value["CALENDAR_BUSINESS_END"] . "", ); @@ -548,16 +578,30 @@ class Calendar ); } + $conf = new \Configurations(); + $confEnvSetting = $conf->getFormats(); + + $dateTime = new \DateTime($record["CALENDAR_CREATE_DATE"]); + $dateCreate = $dateTime->format($confEnvSetting["dateFormat"]); + $dateTime = new \DateTime($record["CALENDAR_UPDATE_DATE"]); + $dateUpdate = $dateTime->format($confEnvSetting["dateFormat"]); + + $arrayCalendarWorkDays = array(); + + foreach ($this->workDaysTransformData($record["CALENDAR_WORK_DAYS"] . "", false) as $value) { + $arrayCalendarWorkDays[$value] = \G::LoadTranslation("ID_WEEKDAY_" . (($value != 7)? $value : 0)); + } + return array( $this->getFieldNameByFormatFieldName("CAL_UID") => $record["CALENDAR_UID"], $this->getFieldNameByFormatFieldName("CAL_NAME") => $record["CALENDAR_NAME"], $this->getFieldNameByFormatFieldName("CAL_DESCRIPTION") => $record["CALENDAR_DESCRIPTION"] . "", - $this->getFieldNameByFormatFieldName("CAL_WORK_DAYS") => explode("|", $this->workDaysReplaceData($record["CALENDAR_WORK_DAYS"] . "", false)), + $this->getFieldNameByFormatFieldName("CAL_WORK_DAYS") => $arrayCalendarWorkDays, $this->getFieldNameByFormatFieldName("CAL_STATUS") => $record["CALENDAR_STATUS"], $this->getFieldNameByFormatFieldName("CAL_WORK_HOUR") => $arrayCalendarWorkHour, $this->getFieldNameByFormatFieldName("CAL_HOLIDAY") => $arrayCalendarHoliday, - $this->getFieldNameByFormatFieldName("CAL_CREATE_DATE") => $record["CALENDAR_CREATE_DATE"] . "", - $this->getFieldNameByFormatFieldName("CAL_UPDATE_DATE") => $record["CALENDAR_UPDATE_DATE"] . "", + $this->getFieldNameByFormatFieldName("CAL_CREATE_DATE") => $dateCreate, + $this->getFieldNameByFormatFieldName("CAL_UPDATE_DATE") => $dateUpdate, $this->getFieldNameByFormatFieldName("CAL_TOTAL_USERS") => (int)($record["CALENDAR_TOTAL_USERS"]), $this->getFieldNameByFormatFieldName("CAL_TOTAL_PROCESSES") => (int)($record["CALENDAR_TOTAL_PROCESSES"]), $this->getFieldNameByFormatFieldName("CAL_TOTAL_TASKS") => (int)($record["CALENDAR_TOTAL_TASKS"]) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Process.php b/workflow/engine/src/ProcessMaker/BusinessModel/Process.php index 67e8d975f..1f3c96e0f 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Process.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Process.php @@ -205,7 +205,7 @@ class Process } //defaultValues - if (count($arrayFieldDefinition[$fieldName]["defaultValues"]) > 0 && !in_array($fieldValue, $arrayFieldDefinition[$fieldName]["defaultValues"])) { + if (count($arrayFieldDefinition[$fieldName]["defaultValues"]) > 0 && !in_array($fieldValue, $arrayFieldDefinition[$fieldName]["defaultValues"], true)) { throw (new \Exception(str_replace(array("{0}", "{1}"), array($fieldNameAux, implode("|", $arrayFieldDefinition[$fieldName]["defaultValues"])), "Invalid value for \"{0}\", it only accepts values: \"{1}\"."))); } @@ -276,7 +276,7 @@ class Process } foreach ($arrayAux as $value) { - if (!in_array($value, $arrayFieldDefinition[$fieldName]["defaultValues"])) { + if (!in_array($value, $arrayFieldDefinition[$fieldName]["defaultValues"], true)) { throw (new \Exception(str_replace(array("{0}", "{1}"), array($fieldNameAux, implode("|", $arrayFieldDefinition[$fieldName]["defaultValues"])), "Invalid value for \"{0}\", it only accepts values: \"{1}\"."))); } } diff --git a/workflow/engine/src/Tests/BusinessModel/CalendarTest.php b/workflow/engine/src/Tests/BusinessModel/CalendarTest.php index 811858039..47131c50f 100644 --- a/workflow/engine/src/Tests/BusinessModel/CalendarTest.php +++ b/workflow/engine/src/Tests/BusinessModel/CalendarTest.php @@ -41,11 +41,10 @@ class CalendarTest extends \PHPUnit_Framework_TestCase $arrayData = array( "CAL_NAME" => "PHPUnit Calendar$i", "CAL_DESCRIPTION" => "Description", - "CAL_WORK_DAYS" => array("MON", "TUE", "WED", "THU", "FRI"), - "CAL_STATUS" => "ACTIVE", + "CAL_WORK_DAYS" => array(1, 2, 3, 4, 5), "CAL_WORK_HOUR" => array( - array("DAY" => "ALL", "HOUR_START" => "00:00", "HOUR_END" => "00:00"), - array("DAY" => "MON", "HOUR_START" => "09:00", "HOUR_END" => "17:00") + array("DAY" => 0, "HOUR_START" => "00:00", "HOUR_END" => "00:00"), + array("DAY" => 1, "HOUR_START" => "09:00", "HOUR_END" => "17:00") ), "CAL_HOLIDAY" => array( array("NAME" => "holiday1", "DATE_START" => "2014-03-01", "DATE_END" => "2014-03-31"), @@ -65,9 +64,9 @@ class CalendarTest extends \PHPUnit_Framework_TestCase //Create - Japanese characters $arrayData = array( - "CAL_NAME" => "私の名前(PHPUnitの)", - "CAL_WORK_DAYS" => array("MON", "TUE", "WED", "THU", "FRI"), - "CAL_STATUS" => "ACTIVE" + "CAL_NAME" => "私の名前(PHPUnitの)", + "CAL_DESCRIPTION" => "Description", + "CAL_WORK_DAYS" => array(1, 2, 3, 4, 5) ); $arrayCalendar = self::$calendar->create($arrayData); @@ -131,7 +130,6 @@ class CalendarTest extends \PHPUnit_Framework_TestCase $this->assertEquals($arrayCalendar[0]["CAL_UID"], $arrayRecord[0]["CAL_UID"]); $this->assertEquals($arrayCalendar[0]["CAL_NAME"], $arrayRecord[0]["CAL_NAME"]); $this->assertEquals($arrayCalendar[0]["CAL_DESCRIPTION"], $arrayRecord[0]["CAL_DESCRIPTION"]); - $this->assertEquals($arrayCalendar[0]["CAL_STATUS"], $arrayRecord[0]["CAL_STATUS"]); } /** @@ -153,7 +151,6 @@ class CalendarTest extends \PHPUnit_Framework_TestCase $this->assertEquals($arrayCalendar["CAL_UID"], $arrayRecord[0]["CAL_UID"]); $this->assertEquals($arrayCalendar["CAL_NAME"], $arrayRecord[0]["CAL_NAME"]); $this->assertEquals($arrayCalendar["CAL_DESCRIPTION"], $arrayRecord[0]["CAL_DESCRIPTION"]); - $this->assertEquals($arrayCalendar["CAL_STATUS"], $arrayRecord[0]["CAL_STATUS"]); //Get - Japanese characters $arrayCalendar = self::$calendar->getCalendar($arrayRecord[self::$numCalendar]["CAL_UID"]); @@ -161,9 +158,9 @@ class CalendarTest extends \PHPUnit_Framework_TestCase $this->assertTrue(is_array($arrayCalendar)); $this->assertNotEmpty($arrayCalendar); + $this->assertEquals($arrayCalendar["CAL_UID"], $arrayRecord[self::$numCalendar]["CAL_UID"]); $this->assertEquals($arrayCalendar["CAL_NAME"], "私の名前(PHPUnitの)"); - $this->assertEquals($arrayCalendar["CAL_WORK_DAYS"], array("MON", "TUE", "WED", "THU", "FRI")); - $this->assertEquals($arrayCalendar["CAL_STATUS"], "ACTIVE"); + $this->assertEquals($arrayCalendar["CAL_DESCRIPTION"], "Description"); } /** @@ -209,8 +206,7 @@ class CalendarTest extends \PHPUnit_Framework_TestCase $arrayData = array( //"CAL_NAME" => "PHPUnit Calendar", "CAL_DESCRIPTION" => "Description", - "CAL_WORK_DAYS" => array("MON", "TUE", "WED", "THU", "FRI"), - "CAL_STATUS" => "ACTIVE" + "CAL_WORK_DAYS" => array(1, 2, 3, 4, 5) ); $arrayCalendar = self::$calendar->create($arrayData); @@ -229,8 +225,7 @@ class CalendarTest extends \PHPUnit_Framework_TestCase $arrayData = array( "CAL_NAME" => "", "CAL_DESCRIPTION" => "Description", - "CAL_WORK_DAYS" => array("MON", "TUE", "WED", "THU", "FRI"), - "CAL_STATUS" => "ACTIVE" + "CAL_WORK_DAYS" => array(1, 2, 3, 4, 5) ); $arrayCalendar = self::$calendar->create($arrayData); @@ -242,15 +237,14 @@ class CalendarTest extends \PHPUnit_Framework_TestCase * @covers \ProcessMaker\BusinessModel\Calendar::create * * @expectedException Exception - * @expectedExceptionMessage Invalid value for "CAL_WORK_DAYS", it only accepts values: "SUN|MON|TUE|WED|THU|FRI|SAT". + * @expectedExceptionMessage Invalid value for "CAL_WORK_DAYS", it only accepts values: "1|2|3|4|5|6|7". */ public function testCreateExceptionInvalidDataCalWorkDays() { $arrayData = array( "CAL_NAME" => "PHPUnit Calendar", "CAL_DESCRIPTION" => "Description", - "CAL_WORK_DAYS" => array("MONDAY", "TUE", "WED", "THU", "FRI"), - "CAL_STATUS" => "ACTIVE" + "CAL_WORK_DAYS" => array(10, 2, 3, 4, 5) ); $arrayCalendar = self::$calendar->create($arrayData); @@ -269,8 +263,7 @@ class CalendarTest extends \PHPUnit_Framework_TestCase $arrayData = array( "CAL_NAME" => "PHPUnit Calendar0", "CAL_DESCRIPTION" => "Description", - "CAL_WORK_DAYS" => array("MON", "TUE", "WED", "THU", "FRI"), - "CAL_STATUS" => "ACTIVE" + "CAL_WORK_DAYS" => array(1, 2, 3, 4, 5), ); $arrayCalendar = self::$calendar->create($arrayData); @@ -319,8 +312,7 @@ class CalendarTest extends \PHPUnit_Framework_TestCase $arrayData = array( "CAL_NAME" => "PHPUnit Calendar", "CAL_DESCRIPTION" => "Description", - "CAL_WORK_DAYS" => array("MON", "TUE", "WED", "THU", "FRI"), - "CAL_STATUS" => "ACTIVE" + "CAL_WORK_DAYS" => array(1, 2, 3, 4, 5), ); $arrayCalendar = self::$calendar->update("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", $arrayData); @@ -342,8 +334,7 @@ class CalendarTest extends \PHPUnit_Framework_TestCase $arrayData = array( "CAL_NAME" => "", "CAL_DESCRIPTION" => "Description", - "CAL_WORK_DAYS" => array("MON", "TUE", "WED", "THU", "FRI"), - "CAL_STATUS" => "ACTIVE" + "CAL_WORK_DAYS" => array(1, 2, 3, 4, 5), ); $arrayCalendar = self::$calendar->update($arrayRecord[0]["CAL_UID"], $arrayData); @@ -358,15 +349,14 @@ class CalendarTest extends \PHPUnit_Framework_TestCase * @param array $arrayRecord Data of the calendars * * @expectedException Exception - * @expectedExceptionMessage Invalid value for "CAL_WORK_DAYS", it only accepts values: "SUN|MON|TUE|WED|THU|FRI|SAT". + * @expectedExceptionMessage Invalid value for "CAL_WORK_DAYS", it only accepts values: "1|2|3|4|5|6|7". */ public function testUpdateExceptionInvalidDataCalWorkDays($arrayRecord) { $arrayData = array( "CAL_NAME" => "PHPUnit Calendar", "CAL_DESCRIPTION" => "Description", - "CAL_WORK_DAYS" => array("MONDAY", "TUE", "WED", "THU", "FRI"), - "CAL_STATUS" => "ACTIVE" + "CAL_WORK_DAYS" => array(10, 2, 3, 4, 5), ); $arrayCalendar = self::$calendar->update($arrayRecord[0]["CAL_UID"], $arrayData); From 0c28857ab02d263fa29cd5de83e8c1be901546ac Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Date: Thu, 10 Apr 2014 12:30:51 -0400 Subject: [PATCH 3/4] Add file translation Mafe --- workflow/engine/classes/class.wsTools.php | 4 +- workflow/engine/classes/model/Language.php | 7 ++- workflow/engine/classes/model/Translation.php | 52 ++++++++++++++++++- workflow/engine/templates/designer/index.html | 4 +- 4 files changed, 62 insertions(+), 5 deletions(-) diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index d7ee43a30..515b71a74 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -330,10 +330,10 @@ class workspaceTools $extension = array_pop($names); $langid = array_pop($names); CLI::logging("Updating database translations with $poName\n"); - Language::import($poFile, false, true); + Language::import($poFile, false, true, false); if ($first) { CLI::logging("Updating XML form translations with $poName\n"); - Language::import($poFile, true, false); + Language::import($poFile, true, false, true); } } } diff --git a/workflow/engine/classes/model/Language.php b/workflow/engine/classes/model/Language.php index 866d92640..6384a8b1b 100755 --- a/workflow/engine/classes/model/Language.php +++ b/workflow/engine/classes/model/Language.php @@ -148,7 +148,7 @@ class Language extends BaseLanguage * @param string $bXml * @return void */ - public function import ($sLanguageFile, $updateXml = true, $updateDB = true) + public function import ($sLanguageFile, $updateXml = true, $updateDB = true, $generateMafe = true) { try { G::LoadSystem( 'i18n_po' ); @@ -288,6 +288,11 @@ class Language extends BaseLanguage $trn->addTranslationEnvironment( $LOCALE, $POHeaders, $countItemsSuccess ); } + if ($generateMafe) { + $trn = new Translation(); + $trn->generateFileTranslationMafe(); + } + //fill the results $results = new stdClass(); $results->recordsCount = $countItems; diff --git a/workflow/engine/classes/model/Translation.php b/workflow/engine/classes/model/Translation.php index 1f7347475..7e2f1755d 100755 --- a/workflow/engine/classes/model/Translation.php +++ b/workflow/engine/classes/model/Translation.php @@ -169,6 +169,7 @@ class Translation extends BaseTranslation if (! is_dir( dirname( $cacheFileJS ) )) { G::mk_dir( dirname( $cacheFileJS ) ); } + $f = fopen( $cacheFile, 'w+' ); fwrite( $f, "add( TranslationPeer::TRN_ID, '%ID_MAFE_%', CRITERIA::LIKE ); + $c->addAscendingOrderByColumn( 'TRN_CATEGORY' ); + $c->addAscendingOrderByColumn( 'TRN_ID' ); + $c->addAscendingOrderByColumn( 'TRN_LANG' ); + $tranlations = TranslationPeer::doSelect( $c ); + + $mafeFolder = PATH_HTML . "translations"; + $cacheFileMafe = PATH_HTML . "translations" . PATH_SEP. 'translationsMafe' . ".js"; + + foreach ($tranlations as $key => $row) { + if ($row->getTrnCategory() === 'LABEL') { + $translation[$row->getTrnLang()][$row->getTrnId()] = $row->getTrnValue(); + } + } + + try { + + if (! is_dir( dirname( $mafeFolder ) )) { + G::mk_dir( dirname( $mafeFolder, 0777 ) ); + } + if (! is_dir( dirname( $cacheFileMafe ) )) { + G::mk_dir( dirname( $cacheFileMafe ) ); + } + + $f = fopen( $cacheFileMafe, 'w+' ); + if ($f == false) { + error_log("Error: Cannot write into cacheFileMafe: $cacheFileMafe\n"); + } else { + fwrite( $f, "var __TRANSLATIONMAFE = " . Bootstrap::json_encode( $translation ) . ";\n"); + fclose( $f ); + } + + $res['cacheFileMafe'] = $cacheFileMafe; + $res['languague'] = count($cacheFileMafe); + $res['rowsMafeJS'] = count( $translation ); + return $res; + } catch (Exception $e) { + echo $e->getMessage(); + } + } + /** * returns an array with * codError 0 - no error, < 0 error diff --git a/workflow/engine/templates/designer/index.html b/workflow/engine/templates/designer/index.html index 5e8cd6b4c..7c1587e05 100644 --- a/workflow/engine/templates/designer/index.html +++ b/workflow/engine/templates/designer/index.html @@ -63,8 +63,10 @@ - {/if} + + +