*
* @param array list of recipients
* @param string given user string of additional recipients
+ * @param integer stage id
* @return array
*/
- public function getRecipientList(array $uidOfRecipients, $additionalRecipients) {
+ public function getRecipientList(array $uidOfRecipients, $additionalRecipients, $stageId) {
$finalRecipients = array();
$recipients = array();
}
}
+ // the notification mode can be configured in the workspace stage record
+ $notification_mode = $this->getStageService()->getNotificationMode($stageId);
+ if (intval($notification_mode) === Tx_Workspaces_Service_Stages::MODE_NOTIFY_ALL || intval($notification_mode) === Tx_Workspaces_Service_Stages::MODE_NOTIFY_ALL_STRICT) {
+ // get the default recipients from the stage configuration
+ // the default recipients needs to be added in some cases of the notification_mode
+ $default_recipients = $this->getStageService()->getResponsibleBeUser($stageId, true);
+ foreach ($default_recipients as $default_recipient_uid => $default_recipient_record) {
+ if (!in_array($default_recipient_record['email'],$recipients)) {
+ $recipients[] = $default_recipient_record['email'];
+ }
+ }
+ }
+
if ($additionalRecipients != '') {
$additionalRecipients = t3lib_div::trimExplode("\n", $additionalRecipients, TRUE);
} else {
$table = $parameters->affects->table;
$uid = $parameters->affects->uid;
$t3ver_oid = $parameters->affects->t3ver_oid;
- $recipients = $this->getRecipientList($parameters->receipients, $parameters->additional);
+ $recipients = $this->getRecipientList($parameters->receipients, $parameters->additional, $setStageId);
if ($setStageId == Tx_Workspaces_Service_Stages::STAGE_PUBLISH_EXECUTE_ID) {
$cmdArray[$table][$t3ver_oid]['version']['action'] = 'swap';
$comments = $parameters->comments;
$table = $parameters->affects->table;
$uid = $parameters->affects->uid;
- $recipients = $this->getRecipientList($parameters->receipients, $parameters->additional);
+ $recipients = $this->getRecipientList($parameters->receipients, $parameters->additional, $setStageId);
$cmdArray[$table][$uid]['version']['action'] = 'setStage';
$cmdArray[$table][$uid]['version']['stageId'] = $setStageId;
$setStageId = $parameters->affects->nextStage;
$comments = $parameters->comments;
$elements = $parameters->affects->elements;
- $recipients = $this->getRecipientList($parameters->receipients, $parameters->additional);
+ $recipients = $this->getRecipientList($parameters->receipients, $parameters->additional, $setStageId);
foreach($elements as $key=>$element) {
if ($setStageId == Tx_Workspaces_Service_Stages::STAGE_PUBLISH_EXECUTE_ID) {
* @return array
*/
protected function getSentToStageWindow($nextStageId) {
+ $workspaceRec = t3lib_BEfunc::getRecord('sys_workspace', $this->getStageService()->getWorkspaceId());
+ $showNotificationFields = FALSE;
$stageTitle = $this->getStageService()->getStageTitle($nextStageId);
$result = array(
- 'title' => $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xml:actionSendToStage'),
+ 'title' => $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:actionSendToStage'),
'items' => array(
array(
'xtype' => 'panel',
'bodyStyle' => 'margin-bottom: 7px; border: none;',
- 'html' => $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xml:window.sendToNextStageWindow.itemsWillBeSentTo') . ' ' . $stageTitle,
- ),
- array(
- 'fieldLabel' => $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xml:window.sendToNextStageWindow.sendMailTo'),
- 'xtype' => 'checkboxgroup',
- 'itemCls' => 'x-check-group-alt',
- 'columns' => 1,
- 'style' => 'max-height: 200px',
- 'autoScroll' => TRUE,
- 'items' => array(
- $this->getReceipientsOfStage($nextStageId)
- )
- ),
- array(
- 'fieldLabel' => $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xml:window.sendToNextStageWindow.additionalRecipients'),
- 'name' => 'additional',
- 'xtype' => 'textarea',
- 'width' => 250,
- ),
- array(
- 'fieldLabel' => $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xml:window.sendToNextStageWindow.comments'),
+ 'html' => $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:window.sendToNextStageWindow.itemsWillBeSentTo') . ' ' . $stageTitle,
+ )
+ )
+ );
+
+ switch ($nextStageId) {
+ case Tx_Workspaces_Service_Stages::STAGE_PUBLISH_EXECUTE_ID:
+ case Tx_Workspaces_Service_Stages::STAGE_PUBLISH_ID:
+ if (!empty($workspaceRec['publish_allow_notificaton_settings'])) {
+ $showNotificationFields = TRUE;
+ }
+ break;
+ case Tx_Workspaces_Service_Stages::STAGE_EDIT_ID:
+ if (!empty($workspaceRec['edit_allow_notificaton_settings'])) {
+ $showNotificationFields = TRUE;
+ }
+ break;
+ default:
+ $allow_notificaton_settings = $this->getStageService()->getPropertyOfCurrentWorkspaceStage($nextStageId, 'allow_notificaton_settings');
+ if (!empty($allow_notificaton_settings)) {
+ $showNotificationFields = TRUE;
+ }
+ break;
+ }
+
+ if ($showNotificationFields == TRUE) {
+ $result['items'][] = array(
+ 'fieldLabel' => $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:window.sendToNextStageWindow.sendMailTo'),
+ 'xtype' => 'checkboxgroup',
+ 'itemCls' => 'x-check-group-alt',
+ 'columns' => 1,
+ 'style' => 'max-height: 200px',
+ 'autoScroll' => true,
+ 'items' => array(
+ $this->getReceipientsOfStage($nextStageId)
+ )
+ );
+
+ $result['items'][] = array(
+ 'fieldLabel' => $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:window.sendToNextStageWindow.additionalRecipients'),
+ 'name' => 'additional',
+ 'xtype' => 'textarea',
+ 'width' => 250,
+ );
+ }
+
+ $result['items'][] = array(
+ 'fieldLabel' => $GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:window.sendToNextStageWindow.comments'),
'name' => 'comments',
'xtype' => 'textarea',
'width' => 250,
'value' => $this->getDefaultCommentOfStage($nextStageId),
- ),
- )
- );
+ );
return $result;
}
$result = array();
$recipients = $this->getStageService()->getResponsibleBeUser($stage);
+ $default_recipients = $this->getStageService()->getResponsibleBeUser($stage, true);
foreach ($recipients as $id => $user) {
if (t3lib_div::validEmail($user['email'])) {
+ $checked = FALSE;
+ $disabled = FALSE;
$name = $user['realName'] ? $user['realName'] : $user['username'];
+
+ // the notification mode can be configured in the workspace stage record
+ $notification_mode = $this->getStageService()->getNotificationMode($stage);
+ if (intval($notification_mode) === Tx_Workspaces_Service_Stages::MODE_NOTIFY_SOMEONE) {
+ // all responsible users are checked per default, as in versions before
+ $checked = TRUE;
+ } elseif (intval($notification_mode) === Tx_Workspaces_Service_Stages::MODE_NOTIFY_ALL) {
+ // the default users are checked only
+ if (!empty($default_recipients[$id])) {
+ $checked = TRUE;
+ $disabled = TRUE;
+ } else {
+ $checked = FALSE;
+ }
+ } elseif (intval($notification_mode) === Tx_Workspaces_Service_Stages::MODE_NOTIFY_ALL_STRICT) {
+ // all responsible users are checked
+ $checked = TRUE;
+ $disabled = TRUE;
+ }
+
$result[] = array(
'boxLabel' => sprintf('%s (%s)', $name, $user['email']),
'name' => 'receipients-' . $id,
- 'checked' => TRUE,
+ 'checked' => $checked,
+ 'disabled' => $disabled,
);
}
}
if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/workspaces/Classes/ExtDirect/ActionHandler.php'])) {
include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/workspaces/Classes/ExtDirect/ActionHandler.php']);
}
-?>
\ No newline at end of file
+?>
// ready to publish stage
const STAGE_PUBLISH_ID = -10;
const STAGE_EDIT_ID = 0;
+ const MODE_NOTIFY_SOMEONE = 0;
+ const MODE_NOTIFY_ALL = 1;
+ const MODE_NOTIFY_ALL_STRICT = 2;
/**
* Current workspace ID
* Get array of all responsilbe be_users for a stage
*
* @param int stage id
+ * @param boolean if field notification_defaults should be selected instead of responsible users
* @return array be_users with e-mail and name
*/
- public function getResponsibleBeUser($stageId) {
+ public function getResponsibleBeUser($stageId, $selectDefaultUserField = false) {
$workspaceRec = t3lib_BEfunc::getRecord('sys_workspace', $this->getWorkspaceId());
$recipientArray = array();
switch ($stageId) {
case self::STAGE_PUBLISH_EXECUTE_ID:
case self::STAGE_PUBLISH_ID:
- $userList = $this->getResponsibleUser($workspaceRec['adminusers']);
+ if ($selectDefaultUserField == false) {
+ $userList = $this->getResponsibleUser($workspaceRec['adminusers']);
+ } else {
+ $notification_default_user = $workspaceRec['publish_notification_defaults'];
+ $userList = $this->getResponsibleUser($notification_default_user);
+ }
break;
case self::STAGE_EDIT_ID:
- $userList = $this->getResponsibleUser($workspaceRec['members']);
+ if ($selectDefaultUserField == false) {
+ $userList = $this->getResponsibleUser($workspaceRec['members']);
+ } else {
+ $notification_default_user = $workspaceRec['edit_notification_defaults'];
+ $userList = $this->getResponsibleUser($notification_default_user);
+ }
break;
default:
- $responsible_persons = $this->getPropertyOfCurrentWorkspaceStage($stageId, 'responsible_persons');
- $userList = $this->getResponsibleUser($responsible_persons);
+ if ($selectDefaultUserField == false) {
+ $responsible_persons = $this->getPropertyOfCurrentWorkspaceStage($stageId, 'responsible_persons');
+ $userList = $this->getResponsibleUser($responsible_persons);
+ } else {
+ $notification_default_user = $this->getPropertyOfCurrentWorkspaceStage($stageId, 'notification_defaults');
+ $userList = $this->getResponsibleUser($notification_default_user);
+ }
break;
}
return $isValid;
}
+
+ /**
+ * Returns the notification mode from stage configuration
+ *
+ * Return values:
+ * 0 = notify someone / old way / default setting
+ * 1 = notify all responsible users (some users checked per default and you're not allowed to uncheck them)
+ * 2 = notify all responsible users (all users are checked and nothing can be changed during stage change)
+ *
+ * @param integer stage id to return the notification mode for
+ * @return integer
+ */
+ public function getNotificationMode($stageId) {
+ if (!t3lib_div::testInt($stageId)) {
+ throw new InvalidArgumentException($GLOBALS['LANG']->sL('LLL:EXT:workspaces/Resources/Private/Language/locallang.xml:error.stageId.integer'));
+ }
+
+ switch ($stageId) {
+ case self::STAGE_PUBLISH_EXECUTE_ID:
+ case self::STAGE_PUBLISH_ID:
+ $workspaceRecord = t3lib_BEfunc::getRecord('sys_workspace', $this->getWorkspaceId());
+ return $workspaceRecord['publish_notification_mode'];
+ break;
+ case self::STAGE_EDIT_ID:
+ $workspaceRecord = t3lib_BEfunc::getRecord('sys_workspace', $this->getWorkspaceId());
+ return $workspaceRecord['edit_notification_mode'];
+ break;
+ default:
+ $workspaceStage = t3lib_BEfunc::getRecord(self::TABLE_STAGE, $stageId);
+
+ if (is_array($workspaceStage) && isset($workspaceStage['notification_mode'])) {
+ return $workspaceStage['notification_mode'];
+ }
+ break;
+ }
+ }
}
if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/workspaces/Classes/Service/Stages.php'])) {
include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/workspaces/Classes/Service/Stages.php']);
}
-?>
\ No newline at end of file
+?>
<source>Here its possible to define a standard mail comment which will be inserted into the stage change mail. When no standard mail comment was defined here its possible to write a comment for the mail on every stage change.</source>
<target approved="yes">Here its possible to define a standard mail comment which will be inserted into the stage change mail. When no standard mail comment was defined here its possible to write a comment for the mail on every stage change.</target>
</trans-unit>
+ <trans-unit id="notification_mode.description">
+ <source>You can choose one of three settings for the recipient suggestion list on stage change. In the most configurations the default option is a good choice. For exact explanation about the single options please refer to the documentation.</source>
+ <target approved="yes">You can choose one of three settings for the recipient suggestion list on stage change. In the most configurations the default option is a good choice. For exact explanation about the single options please refer to the documentation.</target>
+ </trans-unit>
+ <trans-unit id="notification_defaults.description">
+ <source>Select these backend users or backend groups that should be selected per default to receive a notification mail. Select only users/groups that are also selected as responsible for this stage.</source>
+ <target approved="yes">Select these backend users or backend groups that should be selected per default to receive a notification mail. Select only users/groups that are also selected as responsible for this stage.</target>
+ </trans-unit>
+ <trans-unit id="allow_notificaton_settings.description">
+ <source>Disable this checkbox to hide the recipient and additional recipient fields from the stage change popup window. Notifications are sent in the background nevertheless but based on configuration in workspace stage setting.</source>
+ <target approved="yes">Disable this checkbox to hide the recipient and additional recipient fields from the stage change popup window. Notifications are sent in the background nevertheless but based on configuration in workspace stage setting.</target>
+ </trans-unit>
</body>
</file>
</xliff>
<source>Workspace Stage</source>
<target approved="yes">Workspace Stage</target>
</trans-unit>
+ <trans-unit id="tabs.notification_settings">
+ <source>Notification settings</source>
+ <target approved="yes">Notification settings</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace.edit_notification_mode">
+ <source>Edit stage: Recipient suggestion checkboxes</source>
+ <target approved="yes">Edit stage: Recipient suggestion checkboxes</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace.notification_mode.0">
+ <source>All are selected per default (can be changed)</source>
+ <target approved="yes">All are selected per default (can be changed)</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace.notification_mode.1">
+ <source>Some are selected per default (defaults cannot be unchecked)</source>
+ <target approved="yes">Some are selected per default (defaults cannot be unchecked)</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace.notification_mode.2">
+ <source>All are selected per default (cannot be changed)</source>
+ <target approved="yes">All are selected per default (cannot be changed)</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace.edit_notification_defaults">
+ <source>Edit stage: default notification mail recipients</source>
+ <target approved="yes">Edit stage: default notification mail recipients</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace.edit_allow_notificaton_settings">
+ <source>Allow notification settings during stage change back to edit stage</source>
+ <target approved="yes">Allow notification settings during stage change back to edit stage</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace.publish_notification_mode">
+ <source>Ready to publish stage: Recipient suggestion checkboxes</source>
+ <target approved="yes">Ready to publish stage: Recipient suggestion checkboxes</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace.publish_notification_defaults">
+ <source>Ready to publish stage: default notification mail recipients</source>
+ <target approved="yes">Ready to publish stage: default notification mail recipients</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace.publish_allow_notificaton_settings">
+ <source>Allow notification settings during stage change to ready to publish</source>
+ <target approved="yes">Allow notification settings during stage change to ready to publish</target>
+ </trans-unit>
+ <trans-unit id="tabs.general">
+ <source>General</source>
+ <target approved="yes">General</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace_stage.notification_mode">
+ <source>Recipient suggestion checkboxes</source>
+ <target approved="yes">Recipient suggestion checkboxes</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace_stage.notification_defaults">
+ <source>Default notification mail recipients</source>
+ <target approved="yes">Default notification mail recipients</target>
+ </trans-unit>
+ <trans-unit id="sys_workspace_stage.allow_notificaton_settings">
+ <source>Allow notification settings during stage change</source>
+ <target approved="yes">Allow notification settings during stage change</target>
+ </trans-unit>
</body>
</file>
</xliff>
),
'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY) . 'tca.php',
'versioningWS_alwaysAllowLiveEdit' => TRUE,
+ 'dividers2tabs' => TRUE
)
);
// todo move icons to Core sprite or keep them here and remove the todo note ;)
t3lib_extMgm::addLLrefForTCAdescr('sys_workspace_stage','EXT:workspaces/Resources/Private/Language/locallang_csh_sysws_stage.xml');
-?>
\ No newline at end of file
+?>
# Table structure for table 'sys_workspace'
#
CREATE TABLE sys_workspace (
- uid int(11) NOT NULL auto_increment,
- pid int(11) DEFAULT '0' NOT NULL,
- tstamp int(11) DEFAULT '0' NOT NULL,
- deleted tinyint(1) DEFAULT '0' NOT NULL,
- title varchar(30) DEFAULT '' NOT NULL,
- description varchar(255) DEFAULT '' NOT NULL,
- adminusers varchar(4000) DEFAULT '' NOT NULL,
- members varchar(4000) DEFAULT '' NOT NULL,
- reviewers varchar(4000) DEFAULT '' NOT NULL,
- db_mountpoints varchar(255) DEFAULT '' NOT NULL,
- file_mountpoints varchar(255) DEFAULT '' NOT NULL,
- publish_time int(11) DEFAULT '0' NOT NULL,
- unpublish_time int(11) DEFAULT '0' NOT NULL,
- freeze tinyint(3) DEFAULT '0' NOT NULL,
- live_edit tinyint(3) DEFAULT '0' NOT NULL,
- vtypes tinyint(3) DEFAULT '0' NOT NULL,
- disable_autocreate tinyint(1) DEFAULT '0' NOT NULL,
- swap_modes tinyint(3) DEFAULT '0' NOT NULL,
- publish_access tinyint(3) DEFAULT '0' NOT NULL,
- custom_stages int(11) DEFAULT '0' NOT NULL,
- stagechg_notification tinyint(3) DEFAULT '0' NOT NULL,
+ uid int(11) NOT NULL auto_increment,
+ pid int(11) DEFAULT '0' NOT NULL,
+ tstamp int(11) DEFAULT '0' NOT NULL,
+ deleted tinyint(1) DEFAULT '0' NOT NULL,
+ title varchar(30) DEFAULT '' NOT NULL,
+ description varchar(255) DEFAULT '' NOT NULL,
+ adminusers varchar(4000) DEFAULT '' NOT NULL,
+ members varchar(4000) DEFAULT '' NOT NULL,
+ reviewers varchar(4000) DEFAULT '' NOT NULL,
+ db_mountpoints varchar(255) DEFAULT '' NOT NULL,
+ file_mountpoints varchar(255) DEFAULT '' NOT NULL,
+ publish_time int(11) DEFAULT '0' NOT NULL,
+ unpublish_time int(11) DEFAULT '0' NOT NULL,
+ freeze tinyint(3) DEFAULT '0' NOT NULL,
+ live_edit tinyint(3) DEFAULT '0' NOT NULL,
+ vtypes tinyint(3) DEFAULT '0' NOT NULL,
+ disable_autocreate tinyint(1) DEFAULT '0' NOT NULL,
+ swap_modes tinyint(3) DEFAULT '0' NOT NULL,
+ publish_access tinyint(3) DEFAULT '0' NOT NULL,
+ custom_stages int(11) DEFAULT '0' NOT NULL,
+ stagechg_notification tinyint(3) DEFAULT '0' NOT NULL,
+ edit_notification_mode tinyint(3) DEFAULT '0' NOT NULL,
+ edit_notification_defaults varchar(255) DEFAULT '' NOT NULL,
+ edit_allow_notificaton_settings tinyint(3) DEFAULT '0' NOT NULL,
+ publish_notification_mode tinyint(3) DEFAULT '0' NOT NULL,
+ publish_notification_defaults varchar(255) DEFAULT '' NOT NULL,
+ publish_allow_notificaton_settings tinyint(3) DEFAULT '0' NOT NULL,
- PRIMARY KEY (uid),
- KEY parent (pid)
+ PRIMARY KEY (uid),
+ KEY parent (pid)
);
default_mailcomment text,
parentid int(11) DEFAULT '0' NOT NULL,
parenttable tinytext NOT NULL,
+ notification_mode tinyint(3) DEFAULT '0' NOT NULL,
+ notification_defaults varchar(255) DEFAULT '' NOT NULL,
+ allow_notificaton_settings tinyint(3) DEFAULT '0' NOT NULL,
PRIMARY KEY (uid),
KEY parent (pid)
-);
\ No newline at end of file
+);
),
'default' => 0
),
+ 'edit_notification_mode' => array(
+ 'label' => 'LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.edit_notification_mode',
+ 'config' => array(
+ 'type' => 'select',
+ 'items' => array(
+ array('LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.notification_mode.0', 0),
+ array('LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.notification_mode.1', 1),
+ array('LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.notification_mode.2', 2)
+ ),
+ )
+ ),
+ 'edit_notification_defaults' => array(
+ 'label' => 'LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.edit_notification_defaults',
+ 'displayCond' => 'FIELD:edit_notification_mode:IN:0,1',
+ 'config' => array(
+ 'type' => 'group',
+ 'internal_type' => 'db',
+ 'allowed' => 'be_users,be_groups',
+ 'prepend_tname' => 1,
+ 'size' => '3',
+ 'maxitems' => '100',
+ 'autoSizeMax' => 20,
+ 'show_thumbs' => '1',
+ 'wizards' => array(
+ 'suggest' => array(
+ 'type' => 'suggest',
+ )
+ )
+ )
+ ),
+ 'edit_allow_notificaton_settings' => array(
+ 'label' => 'LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.edit_allow_notificaton_settings',
+ 'config' => array(
+ 'type' => 'check',
+ 'default' => 1,
+ )
+ ),
+ 'publish_notification_mode' => array(
+ 'label' => 'LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.publish_notification_mode',
+ 'config' => array(
+ 'type' => 'select',
+ 'items' => array(
+ array('LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.notification_mode.0', 0),
+ array('LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.notification_mode.1', 1),
+ array('LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.notification_mode.2', 2)
+ ),
+ )
+ ),
+ 'publish_notification_defaults' => array(
+ 'label' => 'LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.publish_notification_defaults',
+ 'displayCond' => 'FIELD:publish_notification_mode:IN:0,1',
+ 'config' => array(
+ 'type' => 'group',
+ 'internal_type' => 'db',
+ 'allowed' => 'be_users,be_groups',
+ 'prepend_tname' => 1,
+ 'size' => '3',
+ 'maxitems' => '100',
+ 'autoSizeMax' => 20,
+ 'show_thumbs' => '1',
+ 'wizards' => array(
+ 'suggest' => array(
+ 'type' => 'suggest',
+ )
+ )
+ )
+ ),
+ 'publish_allow_notificaton_settings' => array(
+ 'label' => 'LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.publish_allow_notificaton_settings',
+ 'config' => array(
+ 'type' => 'check',
+ 'default' => 1,
+ )
+ ),
),
'types' => array(
'0' => array('showitem' => 'title,description,
- --div--;LLL:EXT:lang/locallang_tca.xml:sys_filemounts.tabs.users,adminusers,members,stagechg_notification,
+ --div--;LLL:EXT:lang/locallang_tca.xml:sys_filemounts.tabs.users,adminusers,members,
+ --div--;LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:tabs.notification_settings,stagechg_notification,edit_notification_mode,edit_notification_defaults,edit_allow_notificaton_settings,publish_notification_mode,publish_notification_defaults,publish_allow_notificaton_settings,
--div--;LLL:EXT:lang/locallang_tca.xml:sys_filemounts.tabs.mountpoints,db_mountpoints,file_mountpoints,
--div--;LLL:EXT:lang/locallang_tca.xml:sys_filemounts.tabs.publishing,publish_time,unpublish_time,
--div--;LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_filemounts.tabs.staging,custom_stages,
'type' => 'passthrough',
)
),
+ 'notification_mode' => array(
+ 'label' => 'LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace_stage.notification_mode',
+ 'config' => array(
+ 'type' => 'select',
+ 'items' => array(
+ array('LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.notification_mode.0', 0),
+ array('LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.notification_mode.1', 1),
+ array('LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace.notification_mode.2', 2)
+ ),
+ )
+ ),
+ 'notification_defaults' => array(
+ 'label' => 'LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace_stage.notification_defaults',
+ 'displayCond' => 'FIELD:notification_mode:IN:0,1',
+ 'config' => array(
+ 'type' => 'group',
+ 'internal_type' => 'db',
+ 'allowed' => 'be_users,be_groups',
+ 'prepend_tname' => 1,
+ 'size' => '3',
+ 'maxitems' => '100',
+ 'autoSizeMax' => 20,
+ 'show_thumbs' => '1',
+ 'wizards' => array(
+ 'suggest' => array(
+ 'type' => 'suggest',
+ )
+ )
+ )
+ ),
+ 'allow_notificaton_settings' => array(
+ 'label' => 'LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xml:sys_workspace_stage.allow_notificaton_settings',
+ 'config' => array(
+ 'type' => 'check',
+ 'default' => 1,
+ )
+ ),
),
'types' => array(
- '0' => array('showitem' => 'title,responsible_persons,default_mailcomment'
+ '0' => array('showitem' => '
+ --div--;LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xlf:tabs.general,title,responsible_persons,
+ --div--;LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xlf:tabs.notification_settings,notification_mode,notification_defaults,allow_notificaton_settings,default_mailcomment'
)
)
);
}
-?>
\ No newline at end of file
+?>