]> wagnertech.de Git - timetracker.git/commitdiff
Implemented configurable confirm save option.
authorNik Okuntseff <support@anuko.com>
Fri, 30 Nov 2018 23:28:06 +0000 (23:28 +0000)
committerNik Okuntseff <support@anuko.com>
Fri, 30 Nov 2018 23:28:06 +0000 (23:28 +0000)
35 files changed:
WEB-INF/lib/ttGroup.class.php
WEB-INF/lib/ttUser.class.php
WEB-INF/resources/ca.lang.php
WEB-INF/resources/cs.lang.php
WEB-INF/resources/da.lang.php
WEB-INF/resources/de.lang.php
WEB-INF/resources/en.lang.php
WEB-INF/resources/es.lang.php
WEB-INF/resources/et.lang.php
WEB-INF/resources/fa.lang.php
WEB-INF/resources/fi.lang.php
WEB-INF/resources/fr.lang.php
WEB-INF/resources/gr.lang.php
WEB-INF/resources/he.lang.php
WEB-INF/resources/hu.lang.php
WEB-INF/resources/it.lang.php
WEB-INF/resources/ja.lang.php
WEB-INF/resources/ko.lang.php
WEB-INF/resources/nl.lang.php
WEB-INF/resources/no.lang.php
WEB-INF/resources/pl.lang.php
WEB-INF/resources/pt-br.lang.php
WEB-INF/resources/pt.lang.php
WEB-INF/resources/ro.lang.php
WEB-INF/resources/ru.lang.php
WEB-INF/resources/sk.lang.php
WEB-INF/resources/sl.lang.php
WEB-INF/resources/sr.lang.php
WEB-INF/resources/sv.lang.php
WEB-INF/resources/tr.lang.php
WEB-INF/resources/zh-cn.lang.php
WEB-INF/resources/zh-tw.lang.php
WEB-INF/templates/footer.tpl
WEB-INF/templates/group_edit.tpl
group_edit.php

index e232a0e1af30cd180d63ddce36b16dc7b24c8995..86536349466ca66576e63139de20851b342e5101 100644 (file)
@@ -50,6 +50,7 @@ class ttGroup {
   var $allow_overlap = 0;       // Whether to allow overlapping time entries.
   var $future_entries = 0;      // Whether to allow creating future entries.
   var $uncompleted_indicators = 0; // Uncompleted time entry indicators (show nowhere or on users page).
+  var $confirm_save = 0;        // Whether to show warnings for save action when date changed.
   var $bcc_email = null;        // Bcc email.
   var $allow_ip = null;         // Specification from where user is allowed access.
   var $password_complexity = null; // Password complexity example.
@@ -104,7 +105,6 @@ class ttGroup {
       $this->custom_logo = $val['custom_logo'];
       */
       $this->config = $val['config'];
-      /*
       $config = new ttConfigHelper($this->config);
       // Set user config options.
       $this->show_holidays = $config->getDefinedValue('show_holidays');
@@ -112,6 +112,8 @@ class ttGroup {
       $this->allow_overlap = $config->getDefinedValue('allow_overlap');
       $this->future_entries = $config->getDefinedValue('future_entries');
       $this->uncompleted_indicators = $config->getDefinedValue('uncompleted_indicators');
+      $this->confirm_save = $config->getDefinedValue('confirm_save');
+      /*
       if ($this->isPluginEnabled('wu')) {
         $minutes_in_unit = $config->getIntValue('minutes_in_unit');
         if ($minutes_in_unit) $this->minutes_in_unit = $minutes_in_unit;
index 692d80ef08d28b47844eff6eb44ac41b33e8ff5b..7a102a27ca5d6f92bdca9120196e8871f78c6a63 100644 (file)
@@ -60,7 +60,7 @@ class ttUser {
   var $allow_overlap = 0;       // Whether to allow overlapping time entries.
   var $future_entries = 0;      // Whether to allow creating future entries.
   var $uncompleted_indicators = 0; // Uncompleted time entry indicators (show nowhere or on users page).
-  var $confirm_save = 1; // Work in progress. TODO: change default to 0 and get from group config upon init.
+  var $confirm_save = 0;        // Whether to show warnings for save action when date changed.
   var $bcc_email = null;        // Bcc email.
   var $allow_ip = null;         // Specification from where user is allowed access.
   var $password_complexity = null; // Password complexity example.
@@ -144,6 +144,7 @@ class ttUser {
       $this->allow_overlap = $config->getDefinedValue('allow_overlap');
       $this->future_entries = $config->getDefinedValue('future_entries');
       $this->uncompleted_indicators = $config->getDefinedValue('uncompleted_indicators');
+      $this->confirm_save = $config->getDefinedValue('confirm_save');
       if ($this->isPluginEnabled('wu')) {
         $minutes_in_unit = $config->getIntValue('minutes_in_unit');
         if ($minutes_in_unit) $this->minutes_in_unit = $minutes_in_unit;
@@ -204,8 +205,7 @@ class ttUser {
 
   // getConfirmSave returns confirm_save option for user.
   function getConfirmSave() {
-    return true; // TODO: implement this properly.
-    // return ($this->behalfGroup ? $this->behalfGroup->config : $this->config);
+    return ($this->behalfGroup ? $this->behalfGroup->confirm_save : $this->confirm_save);
   }
 
   // can - determines whether user has a right to do something.
index 2b0b17bdb8cdf3cbbc9bfaaa01a0c32adcf69389..68c6e6a96818882b1654d0423b96772bb8de895e 100644 (file)
@@ -532,7 +532,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 7150a6fb14369ded8d2d6187a119be54555528d0..bcda740105341275a1359a7c4f35921bba7f7b7b 100644 (file)
@@ -546,7 +546,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index bad0297c281c87e3119b4f2957b662d78ebfedda..45cf377eecef982874b16f020c27e25b2215da4c 100644 (file)
@@ -496,7 +496,7 @@ $i18n_key_words = array(
 // 'form.group_edit.future_entries' => 'Future entries',
 'form.group_edit.uncompleted_indicators' => 'Uafsluttede indikatore',
 // TODO: translate the following.
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index cc28006550c791b2011b7dbd03301606bfaa65b1..80c78537b68962a13474271a102eab77989aeb2c 100644 (file)
@@ -468,7 +468,7 @@ $i18n_key_words = array(
 'form.group_edit.future_entries' => 'Einträge in der Zukunft',
 'form.group_edit.uncompleted_indicators' => 'Zeige unfertige Einträge',
 // TODO: translate the following.
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 'form.group_edit.allow_ip' => 'Erlaube IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 1d27ce90a1bd84e3d770bb09c9bc4d285cdc8293..fee9fdbf075c4db3003fcb68c755a1f6e9fa5ad1 100644 (file)
@@ -465,7 +465,7 @@ $i18n_key_words = array(
 'form.group_edit.allow_overlap' => 'Allow overlap',
 'form.group_edit.future_entries' => 'Future entries',
 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-'form.group_edit.copy_warning' => 'Warn on copy',
+'form.group_edit.confirm_save' => 'Confirm saving',
 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index c82df5b554c234587794907f8bd21560befc4749..aa64255474f12a97efb208cdc834e2bc6395e51a 100644 (file)
@@ -546,7 +546,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index e6d2dbe860824110d36456a09fc51be0ef5760ca..a61a13056a6b0bd2038f0cf08a10bbf00def91ca 100644 (file)
@@ -543,7 +543,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 412345f1a25473dcfb307b056631c3ce8ee0e9ab..86f3930dec3bfb1ee3d98a1cb38d1ddba1e33636 100644 (file)
@@ -518,7 +518,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 1dcc17081c21fd3fe1def7f9476f081c6632e685..4687e6f53f28951783d31050877ba92d208044ad 100644 (file)
@@ -503,7 +503,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 6900fa7bc83f1d991c10c933ab520095109c1090..ad77095c24b6c62c7b12ea591a233014d65cec59 100644 (file)
@@ -492,7 +492,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index ce382635a127f47c2d8bc3167ee2485b69c08087..f4859df7f7ac50563cca4d461872db2339fc234d 100644 (file)
@@ -477,7 +477,7 @@ $i18n_key_words = array(
 'form.group_edit.future_entries' => 'Μελλοντικές καταχωρήσεις',
 'form.group_edit.uncompleted_indicators' => 'Μη ολοκληρωμένες ενδείξεις',
 // TODO: translate the following.
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index d955c857d1059d9c3d47724027744601c4fd6977..d7abe002de1aa441cc3134f0b82b68667b81affc 100644 (file)
@@ -527,7 +527,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 884db355cb7c27cef65593a5ab1577c91ee7ff3c..0e0e4522f3384fa9ad4d469dcf798980fa486a33 100644 (file)
@@ -537,7 +537,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 8c9a07dab7fe20eaaf0bfff4d5c61c10b52599fb..ce1ab88cce7edf1ad7454eee9a26f885c493fc1e 100644 (file)
@@ -492,7 +492,7 @@ $i18n_key_words = array(
 // 'form.group_edit.future_entries' => 'Future entries',
 'form.group_edit.uncompleted_indicators' => 'Indicatori incompleti',
 // TODO: translate the following.
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 5211d068471fc6a5f6b058554878b026e45713ad..431915fd862f5d661ca5d3215db9e735e82c32b1 100644 (file)
@@ -540,7 +540,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 2344ac14c4175425b1ed92dac962a70aaed70215..7ac2dd4ef92f45fe6d9cd6359494e5a2f72141e2 100644 (file)
@@ -538,7 +538,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 2e357f9c6de93d3a3bd3759b5a3cfda2e10c933b..3cad307bec4d3eff632c456b41b7558eab2a0b76 100644 (file)
@@ -469,7 +469,7 @@ $i18n_key_words = array(
 'form.group_edit.future_entries' => 'Toevoegingen toestaan in de toekomst',
 'form.group_edit.uncompleted_indicators' => 'Onvolledige indicatoren',
 // TODO: translate the following.
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 'form.group_edit.allow_ip' => 'Toegestane IP adressen',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 8b7762e2a68c474144d1e7356f7a6e81ff9f6821..d7847c1536f5d8d94d35c27964e582f1981d533c 100644 (file)
@@ -536,7 +536,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 7a7852a73f3fef023b02f10d57b33e26a75acda8..a36b06c14a1b7838fb9061062c07ff8a4d680e88 100644 (file)
@@ -505,7 +505,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index df2ccc0e3421f0f27fd3275e341645ead522b240..7bfb95529dee7c89fb0db0f1b7ef84d3ffcf1e2b 100644 (file)
@@ -500,7 +500,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index d963d1ea396ed9ebe3b8f1d11b4fad97655e9394..bdb1c3753a8dfbea8fd2de0db7f0225697c478c2 100644 (file)
@@ -520,7 +520,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index e8f84cbc894b6a745a03b820e021a7f29bb29ad7..e1c24e2deba107db2d555a6f0b795cd974329cf1 100644 (file)
@@ -541,7 +541,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index dede24edd877d0de2308be283ff86b2f05c64264..5710cbb364f1fd49235d99e8706856442096a946 100644 (file)
@@ -462,7 +462,7 @@ $i18n_key_words = array(
 'form.group_edit.allow_overlap' => 'Возможное перекрывание',
 'form.group_edit.future_entries' => 'Будущие записи',
 'form.group_edit.uncompleted_indicators' => 'Индикаторы незавершения',
-'form.group_edit.copy_warning' => 'Предупреждать при копировании',
+'form.group_edit.confirm_save' => 'Предупреждать при сохранении',
 'form.group_edit.allow_ip' => 'Разрешить доступ с IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index d3e4f4d40650834485117d630841d3e1b7a2a730..0097e09b7cc156039e3c5c45a83137fd72f2fd5b 100644 (file)
@@ -518,7 +518,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index c9a4a1b7191e282a1bed37d664279b011b4d1014..dfc9fd32ad9c4fba0edd956ce1c75d295269433f 100644 (file)
@@ -516,7 +516,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 6e5dbbbd36c7c3efd8187885db5cf28f8db8b151..1c59de37ed08340342f97bc06b90274dc776577b 100644 (file)
@@ -503,7 +503,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index e23ea1a7a4e685f2d0d851699250c966cda518a1..a20aed92112091448f9d96796357c72901c36eac 100644 (file)
@@ -500,7 +500,7 @@ $i18n_key_words = array(
 // 'form.group_edit.future_entries' => 'Future entries',
 'form.group_edit.uncompleted_indicators' => 'Indikatorer för oavslutad registrering',
 // TODO: translate the following.
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index b2f705a422bfb04380a53e8b27edb364e3eee555..771ccb904bc12817e72d0ea88505e0786a277096 100644 (file)
@@ -554,7 +554,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 5470ffec65ae7a03354c79186c9def3f7d6f4b93..190cf5a481da52cd6021ca77849c1add5634f16e 100644 (file)
@@ -523,7 +523,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index a8f7224a387dcc929a617beb8e9ebef329c95418..7b1bcdba0211f393714eece133d074b7438e858a 100644 (file)
@@ -532,7 +532,7 @@ $i18n_key_words = array(
 // 'form.group_edit.allow_overlap' => 'Allow overlap',
 // 'form.group_edit.future_entries' => 'Future entries',
 // 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.group_edit.copy_warning' => 'Warn on copy',
+// 'form.group_edit.confirm_save' => 'Confirm saving',
 // 'form.group_edit.allow_ip' => 'Allow IP',
 
 // Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
index 9d88e933ebe90d0d32aa967a73f4ec967e1f9eef..d942b96c6fb5c69e87a10031a6ed97451e794284 100644 (file)
@@ -12,7 +12,7 @@
       <br>
       <table cellspacing="0" cellpadding="4" width="100%" border="0">
         <tr>
-          <td align="center">&nbsp;Anuko Time Tracker 1.18.28.4552 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+          <td align="center">&nbsp;Anuko Time Tracker 1.18.29.4553 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
             <a href="https://www.anuko.com/lp/tt_4.htm" target="_blank">{$i18n.footer.credits}</a> |
             <a href="https://www.anuko.com/lp/tt_5.htm" target="_blank">{$i18n.footer.license}</a> |
             <a href="https://www.anuko.com/lp/tt_7.htm" target="_blank">{$i18n.footer.improve}</a>
index 8f683de44b3a8d637b1b7fdfd18a8d3062820872..f839d7e935a7768d2d53c8f93968f1f7b89a17d1 100644 (file)
@@ -100,6 +100,10 @@ function handleTaskRequiredCheckbox() {
             <td align="right" nowrap>{$i18n.form.group_edit.uncompleted_indicators}:</td>
             <td>{$forms.groupForm.uncompleted_indicators.control} <a href="https://www.anuko.com/lp/tt_15.htm" target="_blank">{$i18n.label.what_is_it}</a></td>
           </tr>
+          <tr>
+            <td align="right" nowrap>{$i18n.form.group_edit.confirm_save}:</td>
+            <td>{$forms.groupForm.confirm_save.control} <a href="https://www.anuko.com/lp/tt_26.htm" target="_blank">{$i18n.label.what_is_it}</a></td>
+          </tr>
   {if $user->can('manage_advanced_settings')}
           <tr>
             <td align="right" nowrap>{$i18n.label.bcc}:</td>
index 6a16dc1f0c9148db6c8a4ecb5763da10fc114a6c..44c5d7f9badfb146cb1eab779e187f3f968c40cf 100644 (file)
@@ -77,6 +77,7 @@ if ($request->isPost()) {
   $cl_allow_overlap = $request->getParameter('allow_overlap');
   $cl_future_entries = $request->getParameter('future_entries');
   $cl_uncompleted_indicators = $request->getParameter('uncompleted_indicators');
+  $cl_confirm_save = $request->getParameter('confirm_save');
   $cl_bcc_email = trim($request->getParameter('bcc_email'));
   $cl_allow_ip = trim($request->getParameter('allow_ip'));
 } else {
@@ -97,6 +98,7 @@ if ($request->isPost()) {
   $cl_allow_overlap = $config->getDefinedValue('allow_overlap');
   $cl_future_entries = $config->getDefinedValue('future_entries');
   $cl_uncompleted_indicators = $config->getDefinedValue('uncompleted_indicators');
+  $cl_confirm_save = $config->getDefinedValue('confirm_save');
   $cl_bcc_email = $group['bcc_email'];
   $cl_allow_ip = $group['allow_ip'];
 }
@@ -191,6 +193,9 @@ $form->addInput(array('type'=>'checkbox','name'=>'future_entries','value'=>$cl_f
 // Uncompleted indicators checkbox.
 $form->addInput(array('type'=>'checkbox','name'=>'uncompleted_indicators','value'=>$cl_uncompleted_indicators));
 
+// Confirm save checkbox.
+$form->addInput(array('type'=>'checkbox','name'=>'confirm_save','value'=>$cl_confirm_save));
+
 // Add bcc email control.
 if ($advanced_settings) {
   $form->addInput(array('type'=>'text','maxlength'=>'100','name'=>'bcc_email','value'=>$cl_bcc_email));
@@ -234,6 +239,7 @@ if ($request->isPost()) {
     $config->setDefinedValue('allow_overlap', $cl_allow_overlap);
     $config->setDefinedValue('future_entries', $cl_future_entries);
     $config->setDefinedValue('uncompleted_indicators', $cl_uncompleted_indicators);
+    $config->setDefinedValue('confirm_save', $cl_confirm_save);
 
     if ($user->updateGroup(array(
       'group_id' => $group_id,