From 8f445236c044cad3eea4c44e03a4f52bd86cb3cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bartek=20G=C3=B3rny?= <bartek@gorny.edu.pl>
Date: Mon, 25 Sep 2006 20:13:22 +0000
Subject: [PATCH] email notification settings stored in preferences (#16)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@10315 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_dms/DMS_notifyByEmail.xml            |  10 +-
 .../erp5_dms/Preference_viewDMS.xml           |   1 +
 ...referred_dms_ingest_email_notification.xml | 269 ++++++++++++++++++
 product/ERP5/PropertySheet/DMSPreference.py   |   5 +
 4 files changed, 282 insertions(+), 3 deletions(-)
 create mode 100644 bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Preference_viewDMS/my_preferred_dms_ingest_email_notification.xml

diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMS_notifyByEmail.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMS_notifyByEmail.xml
index 6094cf16c0..618ddd897e 100644
--- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMS_notifyByEmail.xml
+++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMS_notifyByEmail.xml
@@ -68,7 +68,10 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>subjecttpl=\'ingested %(name)s\'\n
+            <value> <string>pref=context.portal_preferences.getPreferredDmsIngestEmailNotification()\n
+if pref==\'never\':return\n
+\n
+subjecttpl=\'ingested %(name)s\'\n
 msgtpl="""Your document "%(name)s" was successfully ingested.\n
 \n
 click here: %(url)s/view to proceed with your work.\n
@@ -123,16 +126,17 @@ context.MailHost.send(msg,mto,mfro,subject)\n
                         <value>
                           <tuple>
                             <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>pref</string>
                             <string>subjecttpl</string>
                             <string>msgtpl</string>
                             <string>_getitem_</string>
                             <string>ob</string>
-                            <string>_getattr_</string>
                             <string>subject</string>
                             <string>msg</string>
                             <string>mto</string>
                             <string>mfro</string>
-<string>context</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Preference_viewDMS.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Preference_viewDMS.xml
index c24df34976..00265d7f48 100644
--- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Preference_viewDMS.xml
+++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Preference_viewDMS.xml
@@ -79,6 +79,7 @@
                         <string>my_preferred_dms_reference_regexp</string>
                         <string>my_preferred_dms_filename_regexp</string>
                         <string>my_preferred_dms_reference_function</string>
+                        <string>my_preferred_dms_ingest_email_notification</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Preference_viewDMS/my_preferred_dms_ingest_email_notification.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Preference_viewDMS/my_preferred_dms_ingest_email_notification.xml
new file mode 100644
index 0000000000..c945cac5b7
--- /dev/null
+++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Preference_viewDMS/my_preferred_dms_ingest_email_notification.xml
@@ -0,0 +1,269 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>RadioField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_preferred_dms_ingest_email_notification</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>orientation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>orientation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Always</string>
+                          <string>always</string>
+                        </tuple>
+                        <tuple>
+                          <string>Only if problem</string>
+                          <string>problem</string>
+                        </tuple>
+                        <tuple>
+                          <string>Never</string>
+                          <string>never</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>orientation</string> </key>
+                    <value> <string>vertical</string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Email notification about document ingestion</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/PropertySheet/DMSPreference.py b/product/ERP5/PropertySheet/DMSPreference.py
index 8c0b6901e5..d13deb787d 100644
--- a/product/ERP5/PropertySheet/DMSPreference.py
+++ b/product/ERP5/PropertySheet/DMSPreference.py
@@ -61,6 +61,11 @@ class DMSPreference:
     'type'    : 'string',
     'preference':1,
     'mode'    : '' },
+    { 'id'    : 'preferred_dms_ingest_email_notification',
+    'description' : 'None - always, "always", "problem (only if problem), "never"',
+    'type'    : 'string', # is it possible to use int in radio?
+    'preference':1,
+    'mode'    : '' },
     )
 
  
-- 
2.30.9