Commit 9f62ad26 authored by Ivan Tyagov's avatar Ivan Tyagov

Add validator for file upload and respective script.

parent 14ba26f0
...@@ -10,10 +10,19 @@ ...@@ -10,10 +10,19 @@
<key> <string>delegated_list</string> </key> <key> <string>delegated_list</string> </key>
<value> <value>
<list> <list>
<string>external_validator</string>
<string>title</string> <string>title</string>
</list> </list>
</value> </value>
</item> </item>
<item>
<key> <string>delegated_message_list</string> </key>
<value>
<list>
<string>external_validator_failed</string>
</list>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>your_file</string> </value> <value> <string>your_file</string> </value>
...@@ -24,7 +33,7 @@ ...@@ -24,7 +33,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>external_validator_failed</string> </key> <key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value> <value> <string>File is too big. Please consider to use a smaller file or request an account.</string> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
...@@ -71,6 +80,12 @@ ...@@ -71,6 +80,12 @@
<key> <string>values</string> </key> <key> <string>values</string> </key>
<value> <value>
<dictionary> <dictionary>
<item>
<key> <string>external_validator</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string>my_file_field</string> </value> <value> <string>my_file_field</string> </value>
...@@ -93,4 +108,17 @@ ...@@ -93,4 +108,17 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Method" module="Products.Formulator.MethodField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>method_name</string> </key>
<value> <string>WebSection_validateFileUpload</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
"""\n
Use to check if current user is allowed to perform a file upload.\n
"""\n
if context.portal_membership.isAnonymousUser() and len(editor.read()) > 1048576 :\n
return 0\n
return 1\n
]]></string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>editor, request</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebSection_validateFileUpload</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -10,10 +10,19 @@ ...@@ -10,10 +10,19 @@
<key> <string>delegated_list</string> </key> <key> <string>delegated_list</string> </key>
<value> <value>
<list> <list>
<string>external_validator</string>
<string>title</string> <string>title</string>
</list> </list>
</value> </value>
</item> </item>
<item>
<key> <string>delegated_message_list</string> </key>
<value>
<list>
<string>external_validator_failed</string>
</list>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>your_file</string> </value> <value> <string>your_file</string> </value>
...@@ -24,7 +33,7 @@ ...@@ -24,7 +33,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>external_validator_failed</string> </key> <key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value> <value> <string>File is too big. Please consider to use a smaller file or request an account.</string> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
...@@ -71,6 +80,12 @@ ...@@ -71,6 +80,12 @@
<key> <string>values</string> </key> <key> <string>values</string> </key>
<value> <value>
<dictionary> <dictionary>
<item>
<key> <string>external_validator</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string>my_file_field</string> </value> <value> <string>my_file_field</string> </value>
...@@ -93,4 +108,17 @@ ...@@ -93,4 +108,17 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Method" module="Products.Formulator.MethodField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>method_name</string> </key>
<value> <string>WebSection_validateFileUpload</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
136 137
\ No newline at end of file \ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment