diff --git a/workflow/engine/classes/model/AppNotes.php b/workflow/engine/classes/model/AppNotes.php index 7d9eb4bfd..a98d7e793 100644 --- a/workflow/engine/classes/model/AppNotes.php +++ b/workflow/engine/classes/model/AppNotes.php @@ -149,14 +149,15 @@ class AppNotes extends BaseAppNotes { return false; } + $oUser = new Users(); + $aUser = $oUser->load($usrUid); + $authorName = ((($aUser['USR_FIRSTNAME'] != '') || ($aUser['USR_LASTNAME'] != '')) ? $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . ' ' : '') . '<' . $aUser['USR_EMAIL'] . '>'; + G::LoadClass('case'); $oCase = new Cases (); - $aFields = $oCase->loadCase( $appUid ); - - $configNoteNotification['subject']=G::LoadTranslation('ID_MESSAGE_SUBJECT_NOTE_NOTIFICATION')." @@APP_TITLE "; - $configNoteNotification['body']=G::LoadTranslation('ID_CASE').": @@APP_TITLE
".G::LoadTranslation('ID_AUTHOR').": @@USR_USRNAME

$noteContent"; - - + $aFields = $oCase->loadCase( $appUid ); + $configNoteNotification['subject']= G::LoadTranslation('ID_MESSAGE_SUBJECT_NOTE_NOTIFICATION')." @#APP_TITLE "; + $configNoteNotification['body'] = G::LoadTranslation('ID_CASE') . ": @$APP_TITLE
" . G::LoadTranslation('ID_AUTHOR').": $authorName

$noteContent"; if ($sFrom == '') { $sFrom = '"ProcessMaker"'; diff --git a/workflow/engine/classes/model/om/BaseAppNotes.php b/workflow/engine/classes/model/om/BaseAppNotes.php index 97c18c058..21fdfdd5a 100644 --- a/workflow/engine/classes/model/om/BaseAppNotes.php +++ b/workflow/engine/classes/model/om/BaseAppNotes.php @@ -541,7 +541,7 @@ abstract class BaseAppNotes extends BaseObject implements Persistent { throw $e; } } - + /** * Stores the object in the database. If the object is new, * it inserts it; otherwise an update is performed. This method @@ -572,7 +572,44 @@ abstract class BaseAppNotes extends BaseObject implements Persistent { throw $e; } } - + + /** + * @todo This function must be moved to Propel Generator in the correct syntax. + */ + + + public function createFromArray($aData, $con = null, $sw=true) + { + if ($con === null) { + $con = Propel::getConnection(AppNotesPeer::DATABASE_NAME); + } + if ($sw) $con->begin(); + try { + $this->fromArray ( $aData, BasePeer::TYPE_FIELDNAME ); + if ($this->validate ()) { + $result = $this->save ($con, $sw); + } else { + if ($sw) $con->rollback (); + $e = new Exception ( "Failed Validation in class " . get_class ( $this ) . "." ); + $e->aValidationFailures = $this->getValidationFailures (); + throw ($e); + } + if ($sw) $con->commit (); + return $result; + } catch ( Exception $e ) { + if ($sw) $con->rollback (); + throw ($e); + } + } + + /** + * @todo This function must be moved to Propel Generator in the correct syntax. + */ + public function updateFromArray($aData, $con = null, $sw = true) + { + return 0; + } + /** * Stores the object in the database. * diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index 97db638fd..dcecc522a 100644 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -2720,7 +2720,7 @@ - engi + @@ -2748,5 +2748,25 @@ + + + + + + + + + + + + + + + + + + + +
diff --git a/workflow/engine/data/mssql/schema.sql b/workflow/engine/data/mssql/schema.sql index cac8a38e9..3d88054e0 100644 --- a/workflow/engine/data/mssql/schema.sql +++ b/workflow/engine/data/mssql/schema.sql @@ -3014,3 +3014,7 @@ CREATE TABLE [APP_NOTES] [NOTE_AFFECTED_OBJ2] VARCHAR(32) default '' NOT NULL, [NOTE_RECIPIENTS] NVARCHAR(MAX) NULL ); + +CREATE INDEX [indexAppNotesDate] ON [APP_NOTES] ([APP_UID],[NOTE_DATE]); + +CREATE INDEX [indexAppNotesUser] ON [APP_NOTES] ([APP_UID],[USR_UID]); diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index 3fdb2826d..12b31f77c 100644 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -1351,7 +1351,9 @@ CREATE TABLE `APP_NOTES` `NOTE_ORIGIN_OBJ` VARCHAR(32) default '', `NOTE_AFFECTED_OBJ1` VARCHAR(32) default '', `NOTE_AFFECTED_OBJ2` VARCHAR(32) default '' NOT NULL, - `NOTE_RECIPIENTS` MEDIUMTEXT + `NOTE_RECIPIENTS` MEDIUMTEXT, + KEY `indexAppNotesDate`(`APP_UID`, `NOTE_DATE`), + KEY `indexAppNotesUser`(`APP_UID`, `USR_UID`) )ENGINE=MyISAM DEFAULT CHARSET='utf8' COMMENT='Application Notes'; # This restores the fkey checks, after having unset them earlier SET FOREIGN_KEY_CHECKS = 1;