[Erp5-report] r24755 - in /erp5/trunk/bt5/erp5_base: SkinTemplateItem/portal_skins/erp5_bas...

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Dec 1 14:55:43 CET 2008


Author: romain
Date: Mon Dec  1 14:55:41 2008
New Revision: 24755

URL: http://svn.erp5.org?rev=24755&view=rev
Log:
Rewrite Base_createNewFile in order to use contribution tool if it exists.

Modified:
    erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createNewFile.xml
    erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_viewNewFileDialog.xml
    erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_viewNewFileDialog/your_portal_type.xml
    erp5/trunk/bt5/erp5_base/bt/revision

Modified: erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createNewFile.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createNewFile.xml?rev=24755&r1=24754&r2=24755&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createNewFile.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createNewFile.xml [utf8] Mon Dec  1 14:55:41 2008
@@ -54,51 +54,49 @@
         <item>
             <key> <string>_body</string> </key>
             <value> <string>translateString = context.Base_translateString\n
+from Products.CMFCore.utils import getToolByName\n
 \n
-# XXX Current there is no Group or Portal Type specific to define\n
-# Embedded portal types. It will leave it hardcoded until a \n
-# good API be defined.\n
+if file.filename not in [\'\', None]:\n
 \n
-embedded_portal_type_list = ["File", "Image"]  \n
+  document_new_content_kw = {\n
+    \'file\': file,\n
+  }\n
+  document_edit_kw = {\n
+    \'follow_up\': context.getRelativeUrl(),\n
+    \'version\': version,\n
+    \'title\': title,\n
+    \'short_title\': short_title,\n
+    \'language\': language,\n
+    \'reference\': reference,\n
+    \'description\': description,\n
+  }\n
 \n
-module_id = context.getDefaultModuleId(portal_type, \'\')\n
-module = getattr(context, module_id, None)\n
+  container = getToolByName(context.getPortalObject(), \'portal_contributions\', None)\n
 \n
-if module is not None:\n
-  allowed_type_list = module.getVisibleAllowedContentTypeList()\n
-  if portal_type not in allowed_type_list:\n
+  is_authorized = 1\n
+  if container is None:\n
+    container = context\n
+    document_new_content_kw[\'portal_type\'] = portal_type\n
+    if portal_type not in [\'%s\' % x.id for x in container.allowedContentTypes()]:\n
+      is_authorized = 0\n
+\n
+  if not context.Base_checkPermission(container.getRelativeUrl(),\n
+                                  \'Add portal content\'):\n
+    is_authorized = 0\n
+\n
+  if not is_authorized:\n
     return context.Base_redirect(\n
       keep_items={\'portal_status_message\':\n
-                  translateString("You are not allowed to create this object.")})\n
-else:\n
-  module = context\n
-  if ((portal_type not in embedded_portal_type_list) and\n
-      (context.Base_checkPermission(context.getRelativeUrl(),\n
-                                    \'Add portal content\'))):\n
-    return context.Base_redirect(\n
-      keep_items={\'portal_status_message\':\n
-                  translateString("You are not allowed to create this object.")})\n
+                  translateString(\n
+                     "You are not allowed to create this object.")})\n
 \n
+  document = container.newContent(**document_new_content_kw)\n
+  document.edit(**document_edit_kw)\n
 \n
-document = module.newContent( portal_type=portal_type,\n
-                              description=description,\n
-                              title=title)\n
-\n
-# XXX If DMS exist?\n
-document.edit(follow_up=context.getRelativeUrl(),\n
-              version=version,\n
-              short_title=short_title,\n
-              language=language,\n
-              reference=reference)\n
-\n
-if file.filename not in [\'\', None]:\n
-  document.setFile(file)\n
-\n
-message = translateString(\'${portal_type} created successfully.\',\n
-                          mapping={\'portal_type\':document.getTranslatedPortalType()})\n
-return context.REQUEST.RESPONSE.redirect(\n
-  \'%s/view?portal_status_message=%s\' % (document.absolute_url(), message)\n
-  )\n
+  message = translateString(\'${portal_type} created successfully.\',\n
+               mapping={\'portal_type\': document.getTranslatedPortalType()})\n
+  return document.Base_redirect(\'view\', \n
+                                keep_items=dict(portal_status_message=message))\n
 </string> </value>
         </item>
         <item>
@@ -148,14 +146,22 @@
                             <string>_getattr_</string>
                             <string>context</string>
                             <string>translateString</string>
-                            <string>embedded_portal_type_list</string>
-                            <string>module_id</string>
-                            <string>getattr</string>
+                            <string>Products.CMFCore.utils</string>
+                            <string>getToolByName</string>
                             <string>None</string>
-                            <string>module</string>
-                            <string>allowed_type_list</string>
+                            <string>document_new_content_kw</string>
+                            <string>document_edit_kw</string>
+                            <string>container</string>
+                            <string>is_authorized</string>
+                            <string>_write_</string>
+                            <string>append</string>
+                            <string>$append0</string>
+                            <string>_getiter_</string>
+                            <string>x</string>
+                            <string>_apply_</string>
                             <string>document</string>
                             <string>message</string>
+                            <string>dict</string>
                           </tuple>
                         </value>
                     </item>

Modified: erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_viewNewFileDialog.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_viewNewFileDialog.xml?rev=24755&r1=24754&r2=24755&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_viewNewFileDialog.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_viewNewFileDialog.xml [utf8] Mon Dec  1 14:55:41 2008
@@ -83,7 +83,9 @@
                 <item>
                     <key> <string>center</string> </key>
                     <value>
-                      <list/>
+                      <list>
+                        <string>your_description</string>
+                      </list>
                     </value>
                 </item>
                 <item>
@@ -96,12 +98,7 @@
                     <key> <string>left</string> </key>
                     <value>
                       <list>
-                        <string>your_portal_type</string>
-                        <string>your_title</string>
-                        <string>your_short_title</string>
-                        <string>your_reference</string>
-                        <string>your_language</string>
-                        <string>your_version</string>
+                        <string>your_file</string>
                       </list>
                     </value>
                 </item>
@@ -109,8 +106,12 @@
                     <key> <string>right</string> </key>
                     <value>
                       <list>
-                        <string>your_file</string>
-                        <string>your_description</string>
+                        <string>your_portal_type</string>
+                        <string>your_title</string>
+                        <string>your_short_title</string>
+                        <string>your_reference</string>
+                        <string>your_language</string>
+                        <string>your_version</string>
                       </list>
                     </value>
                 </item>

Modified: erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_viewNewFileDialog/your_portal_type.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_viewNewFileDialog/your_portal_type.xml?rev=24755&r1=24754&r2=24755&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_viewNewFileDialog/your_portal_type.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_viewNewFileDialog/your_portal_type.xml [utf8] Mon Dec  1 14:55:41 2008
@@ -240,7 +240,7 @@
                 </item>
                 <item>
                     <key> <string>required</string> </key>
-                    <value> <int>1</int> </value>
+                    <value> <int>0</int> </value>
                 </item>
                 <item>
                     <key> <string>size</string> </key>
@@ -275,7 +275,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:map(lambda x: (here.Localizer.erp5_ui.gettext(x), x), here.getPortalDocumentTypeList())</string> </value>
+            <value> <string>python: [(\'\', \'\')]+[(here.Base_translateString(x), x) for x in  here.getPortalDocumentTypeList()]</string> </value>
         </item>
       </dictionary>
     </pickle>

Modified: erp5/trunk/bt5/erp5_base/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/bt/revision?rev=24755&r1=24754&r2=24755&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/bt/revision [utf8] Mon Dec  1 14:55:41 2008
@@ -1,1 +1,1 @@
-481
+484




More information about the Erp5-report mailing list