Commit 9d5a0b9c authored by Jérome Perrin's avatar Jérome Perrin

Merge remote-tracking branch 'nexedi/master' into zope4py2

parents 4abdf86f 57fcbfe0
Pipeline #22348 failed with stage
in 0 seconds
Changes
=======
0.4.73 (2022-05-13)
0.4.74 (2022-05-13)
-------------------
* testnode:
......
......@@ -225,6 +225,7 @@ class TestConversionInSimulation(AccountingTestCase):
# The ones we are creating are for Invoice Transaction Simulation Rule.
trade_model_path._setCriterionPropertyList(('portal_type',))
trade_model_path.setCriterion('portal_type', 'Simulation Movement')
business_process.validate()
self.tic()
def buildPackingLists(self):
......
......@@ -30,7 +30,7 @@ for permission in [
print
try:
print "User groups:\n", pformat(u.getGroups())
print "User groups:\n", pformat(sorted(u.getGroups()))
except AttributeError:
print 'no getGroups'
......
......@@ -194,6 +194,7 @@ class TestOfficeJSSDKConfigurator(SecurityTestCase):
'erp5_core_proxy_field_legacy',
'erp5_crm',
'erp5_dms',
'erp5_dms_ui_test',
'erp5_font',
'erp5_forge',
'erp5_full_text_mroonga_catalog',
......@@ -236,6 +237,7 @@ class TestOfficeJSSDKConfigurator(SecurityTestCase):
'erp5_travel_expense',
'erp5_ui_test',
'erp5_ui_test_core',
'erp5_ui_test_data',
'erp5_upgrader',
'erp5_upgrader_officejs_sdk',
'erp5_web',
......
......@@ -26,30 +26,17 @@
#
##############################################################################
import unittest
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from Products.ERP5Type.tests.utils import DummyMailHost
from Products.ERP5Type.UnrestrictedMethod import super_user
from AccessControl.SecurityManagement import newSecurityManager, \
getSecurityManager, setSecurityManager
from AccessControl.User import nobody
from AccessControl import Unauthorized
from DateTime import DateTime
from erp5.component.module.DateUtils import addToDate
class TestAlarm(ERP5TypeTestCase):
"""
This is the list of test
test setNextStartDate :
- every hour
- at 6, 10, 15, 21 every day
- every day at 10
- every 3 days at 14 and 15 and 17
- every monday and friday, at 6 and 15
- every 1st and 15th every month, at 12 and 14
- every 1st day of every 2 month, at 6
"""
# year/month/day hour:minute:second
date_format = '%i/%i/%i %i:%i:%d GMT+0100'
......@@ -72,10 +59,17 @@ class TestAlarm(ERP5TypeTestCase):
def newAlarm(self, **kw):
"""
Create an empty alarm
Create an empty alarm, owned by system user, like when the alarm is
installed from a business template.
"""
a_tool = self.getAlarmTool()
return a_tool.newContent(**kw)
sm = getSecurityManager()
newSecurityManager(None, nobody)
try:
with super_user():
return self.getAlarmTool().newContent(**kw)
finally:
setSecurityManager(sm)
def test_01_HasEverything(self):
# Test if portal_alarms was created
......@@ -608,9 +602,3 @@ class TestAlarm(ERP5TypeTestCase):
self.tic()
alarm_list = alarm.Alarm_zGetAlarmDate(uid=alarm.getUid())
self.assertEqual(date.toZone('UTC'), alarm_list[0].alarm_date)
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestAlarm))
return suite
......@@ -722,3 +722,59 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional):
*,bar,Bar,SBar,,,3,desc
*,foo,Foo,,Rfoo,CFoo,,
""", csv_data)
def test_ERP5Site_reindexLatestIndexedObjects(self):
module = self.portal.newContent(portal_type='Folder', id='test_folder')
# simulate a state where we have:
# - a document that has a more recent state in catalog
reindexed = module.newContent(portal_type='Folder', id='reindexed', title="zodb")
# - a document that is only in catalog
only_in_catalog = module.newContent(portal_type='Folder', id='only_in_catalog')
# - an old document that should not be touched
old = module.newContent(portal_type='Folder', id='old')
self.tic()
self.portal.erp5_sql_connection().query(
'update catalog set title="catalog" where uid=%s' % reindexed.getUid())
self.portal.erp5_sql_connection().query(
'update catalog set path="not/exist", indexation_timestamp=subdate(current_date, 1) where uid=%s'
% only_in_catalog.getUid())
self.portal.erp5_sql_connection().query(
'update catalog set indexation_timestamp=subdate(current_date, 5) where uid=%s'
% old.getUid())
self.tic()
# check we have correctly simulated the state
self.assertEqual(
[
b.title for b in self.portal.portal_catalog(
select_list=('title', ), uid=reindexed.getUid(),)
], ['catalog'])
brain, = self.portal.portal_catalog(uid=only_in_catalog.getUid())
self.assertRaises(KeyError, brain.getObject)
old_indexation_timestamp, = [
b.indexation_timestamp for b in self.portal.portal_catalog(
select_list=('indexation_timestamp', ), uid=old.getUid(),)
]
output = self.portal.ERP5Site_reindexLatestIndexedObjects()
self.assertIn(", 1 object unindexed", output)
self.tic()
# the document that has a more recent state in catalog now have
# the same state in zodb and catalog (the zodb state)
self.assertEqual(
[
b.title for b in self.portal.portal_catalog(
select_list=('title', ), uid=reindexed.getUid())
], ['zodb'])
# the document that was only in catalog has been removed from catalog
self.assertFalse(
list(self.portal.portal_catalog(uid=only_in_catalog.getUid())))
# old was not reindexed
self.assertEqual(
[
b.indexation_timestamp for b in self.portal.portal_catalog(
select_list=('indexation_timestamp', ),
uid=old.getUid(),
)
], [old_indexation_timestamp])
......@@ -39,31 +39,28 @@ Update a book report dialog with parameters manually entered
from Products.ERP5Type.Message import translateString
if dialog_id is not None:
return context.Base_renderForm(
dialog_id,
keep_items = dict(
portal_status_message=translateString('Preview updated.'),
cancel_url=cancel_url,
portal_skin=portal_skin,
format=format,
document_save=document_save,
document_download=document_download,
document_language=document_language,
document_reference=document_reference,
document_version=document_version,
document_title=document_title,
display_milestone=display_milestone,
display_depth=display_depth,
display_detail=display_detail,
display_comment=display_comment,
display_header=display_header,
display_orphan=display_orphan,
start_date=start_date,
stop_date=stop_date,
report_name=report_name,
report_title=report_title,
override_source_organisation_title=override_source_organisation_title,
requirement_relative_url=requirement_relative_url,
**kw
)
)
request = container.REQUEST
request.form['portal_status_message']=translateString('Preview updated.')
request.form['cancel_url']=cancel_url
request.form['portal_skin']=portal_skin
request.form['format']=format
request.form['document_save']=document_save
request.form['document_download']=document_download
request.form['document_language']=document_language
request.form['document_reference']=document_reference
request.form['document_version']=document_version
request.form['document_title']=document_title
request.form['display_milestone']=display_milestone
request.form['display_depth']=display_depth
request.form['display_detail']=display_detail
request.form['display_comment']=display_comment
request.form['display_header']=display_header
request.form['display_orphan']=display_orphan
request.form['start_date']=start_date
request.form['stop_date']=stop_date
request.form['report_name']=report_name
request.form['report_title']=report_title
request.form['override_source_organisation_title']=override_source_organisation_title
request.form['requirement_relative_url']=requirement_relative_url
return context.Base_renderForm(dialog_id)
......@@ -28,20 +28,21 @@ def digestCaption(my_caption, my_caption_title, my_count, my_shift):
match_doubles[my_caption_title] = my_count
caption_relevant_count = my_count
my_count += 1
else:
caption_relevant_count = match_doubles[my_caption_title]
caption_id = caption_abbreviation + "-" + str(caption_relevant_count)
caption_dict = {}
caption_dict["input"] = my_caption
caption_dict["item"] = {}
caption_dict["item"]["id"] = caption_id
caption_dict["item"]["title"] = my_caption_title
caption_dict["output"] = setTableCaption(
caption_id,
my_caption_title,
my_shift
)
caption_list.append(caption_dict)
#caption_relevant_count = match_doubles[my_caption_title]
caption_id = caption_abbreviation + "-" + str(caption_relevant_count)
caption_dict = {}
caption_dict["input"] = my_caption
caption_dict["item"] = {}
caption_dict["item"]["id"] = caption_id
caption_dict["item"]["title"] = my_caption_title
caption_dict["output"] = setTableCaption(
caption_id,
my_caption_title,
my_shift
)
caption_list.append(caption_dict)
return my_count
# XXX single quotes?
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>book.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>book.pdf.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>contract.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>contract.pdf.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>highlight.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>leaflet.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>leaflet.pdf.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>letter.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>letter.pdf.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>normalize.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>release.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>release.pdf.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>reveal.custom.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>slide.pdf.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>web.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>white_theme.custom.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>zenburn.css</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>classList.min.js</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>head.min.js</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>highlight.js</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>reveal.custom.js</string> </value>
......
......@@ -6,6 +6,10 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>zoom.js</string> </value>
......
......@@ -458,12 +458,6 @@
<td width="90%" style="text-align: left; vertical-align: top">Table description</td>
</tr>
<tr>
<td width="10%"><a id="Table-1"></a><span>Table-1</span></td>
<td width="90%" style="text-align: left; vertical-align: top">Table description</td>
</tr>
</tbody>
</table>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testCRMCreateNewEventEditorLanguage</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title tal:content="template/title_or_id"></title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3" tal:content="template/title_or_id"></td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMRenderjsUi/macros/init" />
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/create_translation_data" />
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMRenderjsUi/macros/prepare_data" />
<!-- try with a language supported (fr) in CKEditor, then a language not supported (wo) -->
<tal:block
tal:define="language_and_translations python:[('fr', {'Font': 'Police', 'Actions': 'Actions'}), ('wo', {'Font': 'Font', 'Actions': 'caozhuo'})]"
tal:repeat="language_and_translation language_and_translations">
<tr>
<td>store</td>
<td>${base_url}/web_site_module/renderjs_runner/<tal:block tal:replace="python: language_and_translation[0]"/>/#</td>
<td>renderjs_url</td>
</tr>
<tal:block tal:define="translation_dict python: language_and_translation[1]">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMRenderjsUi/macros/view_create_new_event_dialog" />
</tal:block>
<tal:block tal:define="dialog_content_configuration python: {'field_your_title': '',
'field_your_portal_type': 'Mail Message',
'field_your_resource': '',
'field_your_notification_message': '',
'field_your_event_workflow_action': 'send',
'field_your_source': '',
'field_your_destination': '',
'field_your_text_content': '<p><br></p>'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMRenderjsUi/macros/check_create_new_event_dialog_content" />
</tal:block>
<tal:block tal:define="dialog_content_configuration python: {'field_your_title': 'erp5_crm_ui_test_create_event_title',
'field_your_portal_type': 'Letter',
'field_your_resource': '',
'field_your_start_date': '2010-01-01T00:00:00',
'field_your_notification_message': '',
'field_your_event_workflow_action': 'send',
'field_your_source': 'erp5_crm_ui_test_agent_title',
'field_your_destination': 'erp5_crm_ui_test_customer_title',
'field_your_text_content': '<p>Foo<br>Bar</p>'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMRenderjsUi/macros/fill_create_new_event_dialog_content" />
</tal:block>
<tr>
<td>selectFrame</td>
<td>//iframe</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>css=.cke_combo__font > .cke_combo_label</td>
<td tal:content="python: language_and_translation[1]['Font']"></td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=top</td>
<td></td>
</tr>
<!-- Header has a save button -->
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog" />
<tal:block tal:define="notification_configuration python: {'class': 'success',
'text': 'Created and associated a new Letter to the ticket.'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_notification" />
</tal:block>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
<tal:block tal:define="response_configuration python: {'field_my_title': 'erp5_crm_ui_test_create_event_title',
'field_my_portal_type': 'Letter',
'field_my_resource': '',
'field_my_start_date': '2010-01-01T00:00:00',
'simulation_state': 'Sent',
'field_my_source_title': 'erp5_crm_ui_test_agent_title',
'field_my_destination_title': 'erp5_crm_ui_test_customer_title',
'field_my_text_content': '<p>Foo<br>Bar</p>'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMRenderjsUi/macros/check_response_content" />
</tal:block>
<tr>
<td>selectFrame</td>
<td>//iframe</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>css=.cke_combo__font > .cke_combo_label</td>
<td tal:content="python: language_and_translation[1]['Font']"></td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=top</td>
<td></td>
</tr>
</tal:block>
</tbody></table>
</body>
</html>
\ No newline at end of file
......@@ -207,7 +207,7 @@
</tal:block>
<tal:block metal:define-macro="view_create_new_event_dialog">
<tal:block metal:define-macro="view_create_new_event_dialog" tal:define="translation_dict translation_dict | python: {}">
<tr>
<td colspan="3"><b>Display the create new event dialog</b></td>
</tr>
......@@ -223,7 +223,7 @@
<td>//div[@data-gadget-url='${base_url}/web_site_module/renderjs_runner/gadget_erp5_pt_form_view_editable.html']</td>
<td></td>
</tr>
<tal:block tal:define="click_configuration python: {'text': 'Actions'}">
<tal:block tal:define="click_configuration python: {'text': translation_dict.get('Actions', 'Actions')}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_header_link" />
</tal:block>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
......@@ -234,11 +234,11 @@
</tr>
<tr>
<td>assertTextPresent</td>
<td>Create New Event</td>
<td tal:content="python: translation_dict.get('Create New Event', 'Create New Event')">Create New Event</td>
<td></td>
</tr>
<tal:block tal:define="click_configuration python: {'text': 'Create New Event'}">
<tal:block tal:define="click_configuration python: {'text': translation_dict.get('Create New Event', 'Create New Event')}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_page_link" />
</tal:block>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
......@@ -250,7 +250,7 @@
</tr>
<tr>
<td>assertTextPresent</td>
<td>Create New Event</td>
<td tal:content="python: translation_dict.get('Create New Event', 'Create New Event')">Create New Event</td>
<td></td>
</tr>
<tr>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testCRMCreateNewEventEditorLanguage</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title tal:content="template/title_or_id"></title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3" tal:content="template/title_or_id"></td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMUiTest/macros/init" />
<tr>
<td>open</td>
<td tal:content="string: ${here/portal_url}/Base_createUITestLanguages"></td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>New Languages Added</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMUiTest/macros/prepare_data" />
<!-- try with a language supported (fr) in CKEditor, then a language not supported (wo) -->
<tal:block
tal:define="language_and_translations python:[('French', 'Police'), ('Wolof', 'Font')]"
tal:repeat="language_and_translation language_and_translations">
<tr>
<td>open</td>
<td>${base_url}</td>
<td></td>
</tr>
<tr>
<td>selectAndWait</td>
<td>select_language</td>
<td tal:content="python: language_and_translation[0]"></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMUiTest/macros/view_create_new_event_dialog" />
<tal:block tal:define="dialog_content_configuration python: {'field_your_title': '',
'field_your_portal_type': 'Mail Message',
'field_your_resource': '',
'field_your_notification_message': '',
'field_your_event_workflow_action': 'send',
'field_your_source': '',
'field_your_destination': '',
'field_your_text_content': '<p><br></p>'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMUiTest/macros/check_create_new_event_dialog_content" />
</tal:block>
<tal:block tal:define="dialog_content_configuration python: {'field_your_title': 'Test event',
'field_your_portal_type': 'Letter',
'field_your_resource': '',
'field_your_start_date': '2010-01-01T00:00:00',
'field_your_notification_message': '',
'field_your_event_workflow_action': 'send',
'field_your_source': 'erp5_crm_ui_test_agent_title',
'field_your_destination': 'erp5_crm_ui_test_customer_title',
'field_your_text_content': '<p>Foo<br>Bar</p>'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMUiTest/macros/fill_create_new_event_dialog_content" />
</tal:block>
<tr>
<td>selectFrame</td>
<td>//iframe</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>css=.cke_combo__font > .cke_combo_label</td>
<td tal:content="python: language_and_translation[1]"></td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=top</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_submit_button</td>
<td></td>
</tr>
<tr>
<td>assertPortalStatusMessage</td>
<td>Created and associated a new Letter to the ticket.</td>
<td></td>
</tr>
<tal:block tal:define="response_configuration python: {'field_my_title': 'Test event',
'field_my_portal_type': 'Letter',
'field_my_resource': '',
'field_my_start_date': '2010-01-01T00:00:00',
'simulation_state': 'Sent',
'field_my_source_title': 'erp5_crm_ui_test_agent_title',
'field_my_destination_title': 'erp5_crm_ui_test_customer_title',
'field_my_text_content': '<p>Foo<br>Bar</p>'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForCRMUiTest/macros/check_response_content" />
</tal:block>
<tr>
<td>selectFrame</td>
<td>//iframe</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>css=.cke_combo__font > .cke_combo_label</td>
<td tal:content="python: language_and_translation[1]"></td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=top</td>
<td></td>
</tr>
</tal:block>
</tbody></table>
</body>
</html>
\ No newline at end of file
......@@ -71,7 +71,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/OOoDocument_viewAsWeb</string> </value>
<value> <string>string:${object_url}/OOoDocument_viewPDFPreview</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -212,7 +212,7 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: map(lambda x: [x,x], here.getPortalNodeTypeList() + here.getPortalProjectTypeList() + here.getPortalOrderTypeList() + here.getPortalTicketTypeList() + here.getPortalDeliveryTypeList() + here.getPortalResourceTypeList())</string> </value>
<value> <string>python: [(x, x) for x in (here.getPortalNodeTypeList() + here.getPortalProjectTypeList() + here.getPortalOrderTypeList() + here.getPortalTicketTypeList() + here.getPortalDeliveryTypeList() + here.getPortalResourceTypeList() + here.getPortalItemTypeList())]</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -37,10 +37,20 @@
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>action_title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
......@@ -56,7 +66,7 @@
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>bottom full_height</string>
<string>hidden</string>
</list>
</value>
......@@ -66,9 +76,11 @@
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<key> <string>bottom full_height</string> </key>
<value>
<list/>
<list>
<string>my_data</string>
</list>
</value>
</item>
<item>
......@@ -86,17 +98,13 @@
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_reference</string>
</list>
<list/>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>my_quantity</string>
</list>
<list/>
</value>
</item>
</dictionary>
......@@ -104,7 +112,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>RatioSettings_viewFieldLibrary</string> </value>
<value> <string>OOoDocument_viewPDFPreview</string> </value>
</item>
<item>
<key> <string>method</string> </key>
......@@ -112,7 +120,7 @@
</item>
<item>
<key> <string>name</string> </key>
<value> <string>PaySheetTransaction_viewAnnotationLine</string> </value>
<value> <string>OOoDocument_viewPDFPreview</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
......@@ -128,7 +136,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Ratio Settings</string> </value>
<value> <string>Preview</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
......@@ -138,6 +146,10 @@
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
......
......@@ -10,14 +10,15 @@
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
<string>description</string>
<string>data_url</string>
<string>default</string>
<string>renderjs_extra</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_quantity</string> </value>
<value> <string>my_data</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -42,10 +43,6 @@
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -53,6 +50,16 @@
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>data_url</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
......@@ -62,8 +69,10 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
<key> <string>renderjs_extra</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
......@@ -73,53 +82,23 @@
<value>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>The Value for this ratio setting.</string> </value>
<key> <string>data_url</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>editable_permission</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>editable_role</string> </key>
<value>
<list/>
</value>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_quantity</string> </value>
<value> <string>my_view_mode_text_content</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>not_viewable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>read_only</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Ratio Setting Value</string> </value>
</item>
<item>
<key> <string>viewable_permission</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>viewable_role</string> </key>
<key> <string>renderjs_extra</string> </key>
<value>
<list/>
</value>
......@@ -130,4 +109,30 @@
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: context.absolute_url()+\'?format=pdf\'</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: dict(dict(field.getTemplateField().get_value(\'renderjs_extra\')), content_type=\'application/pdf\', editor=context.Base_getEditorFieldPreferredTextEditor(content_type=\'application/pdf\'))</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
# type: () -> bytes
"""Returns the password for this PDF file, if it is known by the system.
This is a customization entry point, used to display the PDF content to
logged in users, if they have the permission to view the PDF.
Note that this is not used for full-text extraction, password protected
PDFs are not indexed, in order not to leak the content.
"""
assert REQUEST is None and not container.REQUEST.args
return None
<?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>_params</string> </key>
<value> <string>REQUEST=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>PDF_getContentPassword</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -12,6 +12,7 @@
<list>
<string>data_url</string>
<string>default</string>
<string>renderjs_extra</string>
</list>
</value>
</item>
......@@ -67,6 +68,12 @@
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>renderjs_extra</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
......@@ -90,6 +97,12 @@
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>renderjs_extra</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
......@@ -104,7 +117,20 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: context.absolute_url()+\'/getData\'</string> </value>
<value> <string>python: context.absolute_url()+\'?format=\'</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: field.getTemplateField().get_value("renderjs_extra") + [(\'password\', context.getTypeBasedMethod(\'getContentPassword\')())]</string> </value>
</item>
</dictionary>
</pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>de</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
# Copyright 2012 Mozilla Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Main toolbar buttons (tooltips and alt text for images)
previous.title=Eine Seite zurück
previous_label=Zurück
next.title=Eine Seite vor
next_label=Vor
# LOCALIZATION NOTE (page_label, page_of):
# These strings are concatenated to form the "Page: X of Y" string.
# Do not translate "{{pageCount}}", it will be substituted with a number
# representing the total number of pages.
page_label=Seite:
page_of=von {{pageCount}}
zoom_out.title=Verkleinern
zoom_out_label=Verkleinern
zoom_in.title=Vergrößern
zoom_in_label=Vergrößern
zoom.title=Zoom
print.title=Drucken
print_label=Drucken
presentation_mode.title=In Präsentationsmodus wechseln
presentation_mode_label=Präsentationsmodus
open_file.title=Datei öffnen
open_file_label=Öffnen
download.title=Dokument speichern
download_label=Speichern
bookmark.title=Aktuelle Ansicht (zum Kopieren oder Öffnen in einem neuen Fenster)
bookmark_label=Aktuelle Ansicht
# Secondary toolbar and context menu
tools.title=Werkzeuge
tools_label=Werkzeuge
first_page.title=Erste Seite anzeigen
first_page.label=Erste Seite anzeigen
first_page_label=Erste Seite anzeigen
last_page.title=Letzte Seite anzeigen
last_page.label=Letzte Seite anzeigen
last_page_label=Letzte Seite anzeigen
page_rotate_cw.title=Im Uhrzeigersinn drehen
page_rotate_cw.label=Im Uhrzeigersinn drehen
page_rotate_cw_label=Im Uhrzeigersinn drehen
page_rotate_ccw.title=Gegen Uhrzeigersinn drehen
page_rotate_ccw.label=Gegen Uhrzeigersinn drehen
page_rotate_ccw_label=Gegen Uhrzeigersinn drehen
hand_tool_enable.title=Hand-Werkzeug aktivieren
hand_tool_enable_label=Hand-Werkzeug aktivieren
hand_tool_disable.title=Hand-Werkzeug deaktivieren
hand_tool_disable_label=Hand-Werkzeug deaktivieren
# Document properties dialog box
document_properties.title=Dokumenteigenschaften
document_properties_label=Dokumenteigenschaften…
document_properties_file_name=Dateiname:
document_properties_file_size=Dateigröße:
document_properties_kb={{size_kb}} KB ({{size_b}} Bytes)
document_properties_mb={{size_mb}} MB ({{size_b}} Bytes)
document_properties_title=Titel:
document_properties_author=Autor:
document_properties_subject=Thema:
document_properties_keywords=Stichwörter:
document_properties_creation_date=Erstelldatum:
document_properties_modification_date=Bearbeitungsdatum:
document_properties_date_string={{date}} {{time}}
document_properties_creator=Anwendung:
document_properties_producer=PDF erstellt mit:
document_properties_version=PDF-Version:
document_properties_page_count=Seitenzahl:
document_properties_close=Schließen
# Tooltips and alt text for side panel toolbar buttons
# (the _label strings are alt text for the buttons, the .title strings are
# tooltips)
toggle_sidebar.title=Sidebar umschalten
toggle_sidebar_label=Sidebar umschalten
outline.title=Dokumentstruktur anzeigen
outline_label=Dokumentstruktur
attachments.title=Anhänge anzeigen
attachments_label=Anhänge
thumbs.title=Miniaturansichten anzeigen
thumbs_label=Miniaturansichten
findbar.title=Dokument durchsuchen
findbar_label=Suchen
# Thumbnails panel item (tooltip and alt text for images)
# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
# number.
thumb_page_title=Seite {{page}}
# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
# number.
thumb_page_canvas=Miniaturansicht von Seite {{page}}
# Find panel button title and messages
find_label=Suchen:
find_previous.title=Vorheriges Auftreten des Suchbegriffs finden
find_previous_label=Zurück
find_next.title=Nächstes Auftreten des Suchbegriffs finden
find_next_label=Weiter
find_highlight=Alle hervorheben
find_match_case_label=Groß-/Kleinschreibung beachten
find_reached_top=Anfang des Dokuments erreicht, fahre am Ende fort
find_reached_bottom=Ende des Dokuments erreicht, fahre am Anfang fort
find_not_found=Suchbegriff nicht gefunden
# Error panel labels
error_more_info=Mehr Informationen
error_less_info=Weniger Informationen
error_close=Schließen
# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
# replaced by the PDF.JS version and build ID.
error_version_info=PDF.js Version {{version}} (build: {{build}})
# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
# english string describing the error.
error_message=Nachricht: {{message}}
# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
# trace.
error_stack=Aufrufliste: {{stack}}
# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
error_file=Datei: {{file}}
# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
error_line=Zeile: {{line}}
rendering_error=Beim Darstellen der Seite trat ein Fehler auf.
# Predefined zoom values
page_scale_width=Seitenbreite
page_scale_fit=Seitengröße
page_scale_auto=Automatischer Zoom
page_scale_actual=Originalgröße
# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
# numerical scale value.
page_scale_percent={{scale}}%
# Loading indicator messages
loading_error_indicator=Fehler
loading_error=Beim Laden der PDF-Datei trat ein Fehler auf.
invalid_file_error=Ungültige oder beschädigte PDF-Datei
missing_file_error=Fehlende PDF-Datei
unexpected_response_error=Unerwartete Antwort des Servers
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
# "{{type}}" will be replaced with an annotation type from a list defined in
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
text_annotation_type.alt=[Anlage: {{type}}]
password_label=Geben Sie zum Öffnen der PDF-Datei deren Passwort ein.
password_invalid=Falsches Passwort. Bitte versuchen Sie es erneut.
password_ok=OK
password_cancel=Abbrechen
printing_not_supported=Warnung: Die Drucken-Funktion wird durch diesen Browser nicht vollständig unterstützt.
printing_not_ready=Warnung: Die PDF-Datei ist nicht vollständig geladen, dies ist für das Drucken aber empfohlen.
web_fonts_disabled=Web-Schriftarten sind deaktiviert: Eingebettete PDF-Schriftarten konnten nicht geladen werden.
document_colors_disabled=PDF-Dokumenten ist es nicht erlaubt, ihre eigenen Farben zu verwenden: \'Seiten das Verwenden von eigenen Farben erlauben\' ist im Browser deaktiviert.
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>viewer.properties</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/plain</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -12,7 +12,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
<value> <string>text/plain</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......@@ -20,7 +20,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>viewer.properties</string> </value>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -12,7 +12,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
<value> <string>text/plain</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......@@ -20,7 +20,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>viewer.properties</string> </value>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>fa</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
# Copyright 2012 Mozilla Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Main toolbar buttons (tooltips and alt text for images)
previous.title=صفحهٔ قبلی
previous_label=قبلی
next.title=صفحهٔ بعدی
next_label=بعدی
# LOCALIZATION NOTE (page_label, page_of):
# These strings are concatenated to form the "Page: X of Y" string.
# Do not translate "{{pageCount}}", it will be substituted with a number
# representing the total number of pages.
page_label=صفحه:
page_of=از {{pageCount}}
zoom_out.title=کوچک‌نمایی
zoom_out_label=کوچک‌نمایی
zoom_in.title=بزرگ‌نمایی
zoom_in_label=بزرگ‌نمایی
zoom.title=زوم
presentation_mode.title=تغییر به حالت ارائه
presentation_mode_label=حالت ارائه
open_file.title=باز کردن پرونده
open_file_label=باز کردن
print.title=چاپ
print_label=چاپ
download.title=بارگیری
download_label=بارگیری
bookmark.title=نمای فعلی (رونوشت و یا نشان دادن در پنجره جدید)
bookmark_label=نمای فعلی
# Secondary toolbar and context menu
tools.title=ابزارها
tools_label=ابزارها
first_page.title=برو به اولین صفحه
first_page.label=برو یه اولین صفحه
first_page_label=برو به اولین صفحه
last_page.title=برو به آخرین صفحه
last_page.label=برو به آخرین صفحه
last_page_label=برو به آخرین صفحه
page_rotate_cw.title=چرخش ساعتگرد
page_rotate_cw.label=چرخش ساعتگرد
page_rotate_cw_label=چرخش ساعتگرد
page_rotate_ccw.title=چرخش پاد ساعتگرد
page_rotate_ccw.label=چرخش پاد ساعتگرد
page_rotate_ccw_label=چرخش پاد ساعتگرد
hand_tool_enable.title=فعال سازی ابزار دست
hand_tool_enable_label=فعال سازی ابزار دست
hand_tool_disable.title=غیر‌فعال سازی ابزار دست
hand_tool_disable_label=غیر‌فعال سازی ابزار دست
# Document properties dialog box
document_properties.title=خصوصیات سند...
document_properties_label=خصوصیات سند...
document_properties_file_name=نام فایل:
document_properties_file_size=حجم پرونده:
# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
# will be replaced by the PDF file size in kilobytes, respectively in bytes.
document_properties_kb={{size_kb}} کیلوبایت ({{size_b}} بایت)
# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
# will be replaced by the PDF file size in megabytes, respectively in bytes.
document_properties_mb={{size_mb}} مگابایت ({{size_b}} بایت)
document_properties_title=عنوان:
document_properties_author=نویسنده:
document_properties_subject=موضوع:
document_properties_keywords=کلیدواژه‌ها:
document_properties_creation_date=تاریخ ایجاد:
document_properties_modification_date=تاریخ ویرایش:
# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
# will be replaced by the creation/modification date, and time, of the PDF file.
document_properties_date_string={{date}}، {{time}}
document_properties_creator=ایجاد کننده:
document_properties_producer=ایجاد کننده PDF:
document_properties_version=نسخه PDF:
document_properties_page_count=تعداد صفحات:
document_properties_close=بستن
# Tooltips and alt text for side panel toolbar buttons
# (the _label strings are alt text for the buttons, the .title strings are
# tooltips)
toggle_sidebar.title=باز و بسته کردن نوار کناری
toggle_sidebar_label=تغییرحالت نوارکناری
outline.title=نمایش طرح نوشتار
outline_label=طرح نوشتار
attachments.title=نمایش پیوست‌ها
attachments_label=پیوست‌ها
thumbs.title=نمایش تصاویر بندانگشتی
thumbs_label=تصاویر بندانگشتی
findbar.title=جستجو در سند
findbar_label=پیدا کردن
# Thumbnails panel item (tooltip and alt text for images)
# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
# number.
thumb_page_title=صفحه {{page}}
# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
# number.
thumb_page_canvas=تصویر بند‌ انگشتی صفحه {{page}}
# Find panel button title and messages
find_label=جستجو:
find_previous.title=پیدا کردن رخداد قبلی عبارت
find_previous_label=قبلی
find_next.title=پیدا کردن رخداد بعدی عبارت
find_next_label=بعدی
find_highlight=برجسته و هایلایت کردن همه موارد
find_match_case_label=تطبیق کوچکی و بزرگی حروف
find_reached_top=به بالای صفحه رسیدیم، از پایین ادامه می‌دهیم
find_reached_bottom=به آخر صفحه رسیدیم، از بالا ادامه می‌دهیم
find_not_found=عبارت پیدا نشد
# Error panel labels
error_more_info=اطلاعات بیشتر
error_less_info=اطلاعات کمتر
error_close=بستن
# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
# replaced by the PDF.JS version and build ID.
error_version_info=‏PDF.js ورژن{{version}} ‏(ساخت: {{build}})
# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
# english string describing the error.
error_message=پیام: {{message}}
# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
# trace.
error_stack=توده: {{stack}}
# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
error_file=پرونده: {{file}}
# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
error_line=سطر: {{line}}
rendering_error=هنگام بارگیری صفحه خطایی رخ داد.
# Predefined zoom values
page_scale_width=عرض صفحه
page_scale_fit=اندازه کردن صفحه
page_scale_auto=بزرگنمایی خودکار
page_scale_actual=اندازه واقعی‌
# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
# numerical scale value.
page_scale_percent={{scale}}%
# Loading indicator messages
loading_error_indicator=خطا
loading_error=هنگام بارگیری پرونده PDF خطایی رخ داد.
invalid_file_error=پرونده PDF نامعتبر یامعیوب می‌باشد.
missing_file_error=پرونده PDF یافت نشد.
unexpected_response_error=پاسخ پیش بینی نشده سرور
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
# "{{type}}" will be replaced with an annotation type from a list defined in
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
text_annotation_type.alt=[{{type}} Annotation]
password_label=جهت باز کردن پرونده PDF گذرواژه را وارد نمائید.
password_invalid=گذرواژه نامعتبر. لطفا مجددا تلاش کنید.
password_ok=تأیید
password_cancel=انصراف
printing_not_supported=هشدار: قابلیت چاپ به‌طور کامل در این مرورگر پشتیبانی نمی‌شود.
printing_not_ready=اخطار: پرونده PDF بطور کامل بارگیری نشده و امکان چاپ وجود ندارد.
web_fonts_disabled=فونت های تحت وب غیر فعال شده اند: امکان استفاده از نمایش دهنده داخلی PDF وجود ندارد.
document_colors_not_allowed=فایلهای PDF نمیتوانند که رنگ های خود را داشته باشند. لذا گزینه 'اجازه تغییر رنگ" در مرورگر غیر فعال شده است.
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>viewer.properties</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/plain</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>viewer.properties</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>fr</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
# Copyright 2012 Mozilla Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Main toolbar buttons (tooltips and alt text for images)
previous.title=Page précédente
previous_label=Précédent
next.title=Page suivante
next_label=Suivant
# LOCALIZATION NOTE (page_label, page_of):
# These strings are concatenated to form the "Page: X of Y" string.
# Do not translate "{{pageCount}}", it will be substituted with a number
# representing the total number of pages.
page_label=Page :
page_of=sur {{pageCount}}
zoom_out.title=Zoom arrière
zoom_out_label=Zoom arrière
zoom_in.title=Zoom avant
zoom_in_label=Zoom avant
zoom.title=Zoom
presentation_mode.title=Basculer en mode présentation
presentation_mode_label=Mode présentation
open_file.title=Ouvrir le fichier
open_file_label=Ouvrir le fichier
print.title=Imprimer
print_label=Imprimer
download.title=Télécharger
download_label=Télécharger
bookmark.title=Affichage courant (copier ou ouvrir dans une nouvelle fenêtre)
bookmark_label=Affichage actuel
# Secondary toolbar and context menu
tools.title=Outils
tools_label=Outils
first_page.title=Aller à la première page
first_page.label=Aller à la première page
first_page_label=Aller à la première page
last_page.title=Aller à la dernière page
last_page.label=Aller à la dernière page
last_page_label=Aller à la dernière page
page_rotate_cw.title=Rotation horaire
page_rotate_cw.label=Rotation horaire
page_rotate_cw_label=Rotation horaire
page_rotate_ccw.title=Rotation anti-horaire
page_rotate_ccw.label=Rotation anti-horaire
page_rotate_ccw_label=Rotation anti-horaire
# Tooltips and alt text for side panel toolbar buttons
# (the _label strings are alt text for the buttons, the .title strings are
# tooltips)
toggle_sidebar.title=Afficher/Masquer le panneau latéral
toggle_sidebar_label=Afficher/Masquer le panneau latéral
outline.title=Afficher les signets
outline_label=Signets du document
attachments.title=Afficher les pièces jointes
attachments_label=Pièces jointes
thumbs.title=Afficher les vignettes
thumbs_label=Vignettes
findbar.title=Rechercher dans le document
findbar_label=Rechercher
# Thumbnails panel item (tooltip and alt text for images)
# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
# number.
thumb_page_title=Page {{page}}
# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
# number.
thumb_page_canvas=Vignette de la page {{page}}
hand_tool_enable.title=Activer l'outil main
hand_tool_enable_label=Activer l'outil main
hand_tool_disable.title=Désactiver l'outil main
hand_tool_disable_label=Désactiver l'outil main
# Document properties dialog box
document_properties.title=Propriétés du document…
document_properties_label=Propriétés du document…
document_properties_file_name=Nom du fichier :
document_properties_file_size=Taille du fichier :
document_properties_kb={{size_kb}} Ko ({{size_b}} octets)
document_properties_mb={{size_mb}} Mo ({{size_b}} octets)
document_properties_title=Titre :
document_properties_author=Auteur :
document_properties_subject=Sujet :
document_properties_keywords=Mots-clés :
document_properties_creation_date=Date de création :
document_properties_modification_date=Modifié le :
document_properties_date_string={{date}} à {{time}}
document_properties_creator=Créé par :
document_properties_producer=Outil de conversion PDF :
document_properties_version=Version PDF :
document_properties_page_count=Nombre de pages :
document_properties_close=Fermer
# Find panel button title and messages
find_label=Rechercher :
find_previous.title=Trouver l'occurrence précédente de la phrase
find_previous_label=Précédent
find_next.title=Trouver la prochaine occurrence de la phrase
find_next_label=Suivant
find_highlight=Tout surligner
find_match_case_label=Respecter la casse
find_reached_top=Haut de la page atteint, poursuite depuis la fin
find_reached_bottom=Bas de la page atteint, poursuite au début
find_not_found=Phrase introuvable
# Error panel labels
error_more_info=Plus d'informations
error_less_info=Moins d'informations
error_close=Fermer
# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
# replaced by the PDF.JS version and build ID.
error_version_info=PDF.js v{{version}} (identifiant de compilation : {{build}})
# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
# english string describing the error.
error_message=Message : {{message}}
# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
# trace.
error_stack=Pile : {{stack}}
# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
error_file=Fichier : {{file}}
# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
error_line=Ligne : {{line}}
rendering_error=Une erreur s'est produite lors de l'affichage de la page.
# Predefined zoom values
page_scale_width=Pleine largeur
page_scale_fit=Page entière
page_scale_auto=Zoom automatique
page_scale_actual=Taille réelle
# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
# numerical scale value.
page_scale_percent={{scale}} %
# Loading indicator messages
loading_error_indicator=Erreur
loading_error=Une erreur s'est produite lors du chargement du fichier PDF.
invalid_file_error=Fichier PDF invalide ou corrompu.
missing_file_error=Fichier PDF manquant.
unexpected_response_error=Réponse inattendue du serveur.
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
# "{{type}}" will be replaced with an annotation type from a list defined in
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
text_annotation_type.alt=[Annotation {{type}}]
password_label=Veuillez saisir le mot de passe pour ouvrir ce fichier PDF.
password_invalid=Mot de passe incorrect. Veuillez réessayer.
password_ok=OK
password_cancel=Annuler
printing_not_supported=Attention : l'impression n'est pas totalement prise en charge par ce navigateur.
printing_not_ready=Attention : le PDF n'est pas entièrement chargé pour pouvoir l'imprimer.
web_fonts_disabled=Les polices web sont désactivées : impossible d'utiliser les polices intégrées au PDF.
document_colors_not_allowed=Les documents PDF ne peuvent pas utiliser leurs propres couleurs : « Autoriser les pages web à utiliser leurs propres couleurs » est désactivé dans le navigateur.
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>viewer.properties</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/plain</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ja</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
# Copyright 2012 Mozilla Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Main toolbar buttons (tooltips and alt text for images)
previous.title=前のページへ戻ります
previous_label=前へ
next.title=次のページへ進みます
next_label=次へ
# LOCALIZATION NOTE (page_label, page_of):
# These strings are concatenated to form the "Page: X of Y" string.
# Do not translate "{{pageCount}}", it will be substituted with a number
# representing the total number of pages.
page_label=ページ:
page_of=/ {{pageCount}}
zoom_out.title=表示を縮小します
zoom_out_label=縮小
zoom_in.title=表示を拡大します
zoom_in_label=拡大
zoom.title=拡大/縮小
presentation_mode.title=プレゼンテーションモードに切り替えます
presentation_mode_label=プレゼンテーションモード
open_file.title=ファイルを指定して開きます
open_file_label=開く
print.title=印刷します
print_label=印刷
download.title=ダウンロードします
download_label=ダウンロード
bookmark.title=現在のビューの URL です (コピーまたは新しいウィンドウに開く)
bookmark_label=現在のビュー
# Secondary toolbar and context menu
tools.title=ツール
tools_label=ツール
first_page.title=最初のページへ移動します
first_page.label=最初のページへ移動
first_page_label=最初のページへ移動
last_page.title=最後のページへ移動します
last_page.label=最後のページへ移動
last_page_label=最後のページへ移動
page_rotate_cw.title=ページを右へ回転します
page_rotate_cw.label=右回転
page_rotate_cw_label=右回転
page_rotate_ccw.title=ページを左へ回転します
page_rotate_ccw.label=左回転
page_rotate_ccw_label=左回転
hand_tool_enable.title=手のひらツールを有効にします
hand_tool_enable_label=手のひらツールを有効にする
hand_tool_disable.title=手のひらツールを無効にします
hand_tool_disable_label=手のひらツールを無効にする
# Document properties dialog box
document_properties.title=文書のプロパティ...
document_properties_label=文書のプロパティ...
document_properties_file_name=ファイル名:
document_properties_file_size=ファイルサイズ:
document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
document_properties_title=タイトル:
document_properties_author=作成者:
document_properties_subject=件名:
document_properties_keywords=キーワード:
document_properties_creation_date=作成日:
document_properties_modification_date=更新日:
document_properties_date_string={{date}}, {{time}}
document_properties_creator=アプリケーション:
document_properties_producer=PDF 作成:
document_properties_version=PDF のバージョン:
document_properties_page_count=ページ数:
document_properties_close=閉じる
# Tooltips and alt text for side panel toolbar buttons
# (the _label strings are alt text for the buttons, the .title strings are
# tooltips)
toggle_sidebar.title=サイドバー表示を切り替えます
toggle_sidebar_label=サイドバーの切り替え
outline.title=文書の目次を表示します
outline_label=文書の目次
attachments.title=添付ファイルを表示します
attachments_label=添付ファイル
thumbs.title=縮小版を表示します
thumbs_label=縮小版
findbar.title=文書内を検索します
findbar_label=検索
# Thumbnails panel item (tooltip and alt text for images)
# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
# number.
thumb_page_title={{page}} ページ
# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
# number.
thumb_page_canvas=ページの縮小版 {{page}}
# Find panel button title and messages
find_label=検索:
find_previous.title=指定文字列に一致する 1 つ前の部分を検索します
find_previous_label=前へ
find_next.title=指定文字列に一致する次の部分を検索します
find_next_label=次へ
find_highlight=すべて強調表示
find_match_case_label=大文字/小文字を区別
find_reached_top=文書先頭に到達したので末尾に戻って検索しました。
find_reached_bottom=文書末尾に到達したので先頭に戻って検索しました。
find_not_found=見つかりませんでした。
# Error panel labels
error_more_info=詳細情報
error_less_info=詳細情報の非表示
error_close=閉じる
# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
# replaced by the PDF.JS version and build ID.
error_version_info=PDF.js v{{version}} (ビルド: {{build}})
# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
# english string describing the error.
error_message=メッセージ: {{message}}
# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
# trace.
error_stack=スタック: {{stack}}
# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
error_file=ファイル: {{file}}
# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
error_line=行: {{line}}
rendering_error=ページのレンダリング中にエラーが発生しました
# Predefined zoom values
page_scale_width=幅に合わせる
page_scale_fit=ページのサイズに合わせる
page_scale_auto=自動ズーム
page_scale_actual=実際のサイズ
# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
# numerical scale value.
page_scale_percent={{scale}}%
# Loading indicator messages
loading_error_indicator=エラー
loading_error=PDF の読み込み中にエラーが発生しました
invalid_file_error=無効または破損した PDF ファイル
missing_file_error=PDF ファイルが見つかりません。
unexpected_response_error=サーバから予期せぬ応答がありました。
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
# "{{type}}" will be replaced with an annotation type from a list defined in
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
text_annotation_type.alt=[{{type}} 注釈]
password_label=この PDF ファイルを開くためのパスワードを入力してください。
password_invalid=無効なパスワードです。もう一度やり直してください。
password_ok=OK
password_cancel=キャンセル
printing_not_supported=警告: このブラウザでは印刷が完全にサポートされていません
printing_not_ready=警告: PDF を印刷するための読み込みが終了していません
web_fonts_disabled=Web フォントが無効になっています: 埋め込まれた PDF のフォントを使用できません
document_colors_disabled=PDF 文書は、Web ページが指定した配色を使用することができません: \u0027Web ページが指定した配色\u0027 はブラウザで無効になっています。
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>viewer.properties</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/plain</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
[ach]
@import url(ach/viewer.properties)
[af]
@import url(af/viewer.properties)
[ak]
@import url(ak/viewer.properties)
[an]
@import url(an/viewer.properties)
[ar]
@import url(ar/viewer.properties)
[as]
@import url(as/viewer.properties)
[ast]
@import url(ast/viewer.properties)
[az]
@import url(az/viewer.properties)
[be]
@import url(be/viewer.properties)
[bg]
@import url(bg/viewer.properties)
[bn-BD]
@import url(bn-BD/viewer.properties)
[bn-IN]
@import url(bn-IN/viewer.properties)
[br]
@import url(br/viewer.properties)
[bs]
@import url(bs/viewer.properties)
[ca]
@import url(ca/viewer.properties)
[cs]
@import url(cs/viewer.properties)
[csb]
@import url(csb/viewer.properties)
[cy]
@import url(cy/viewer.properties)
[da]
@import url(da/viewer.properties)
[de]
@import url(de/viewer.properties)
[el]
@import url(el/viewer.properties)
[en-GB]
@import url(en-GB/viewer.properties)
[en-US]
@import url(en-US/viewer.properties)
[en-ZA]
@import url(en-ZA/viewer.properties)
[eo]
@import url(eo/viewer.properties)
[es-AR]
@import url(es-AR/viewer.properties)
[es-CL]
@import url(es-CL/viewer.properties)
[es-ES]
@import url(es-ES/viewer.properties)
[es-MX]
@import url(es-MX/viewer.properties)
[et]
@import url(et/viewer.properties)
[eu]
@import url(eu/viewer.properties)
[fa]
@import url(fa/viewer.properties)
[ff]
@import url(ff/viewer.properties)
[fi]
@import url(fi/viewer.properties)
[fr]
@import url(fr/viewer.properties)
[fy-NL]
@import url(fy-NL/viewer.properties)
[ga-IE]
@import url(ga-IE/viewer.properties)
[gd]
@import url(gd/viewer.properties)
[gl]
@import url(gl/viewer.properties)
[gu-IN]
@import url(gu-IN/viewer.properties)
[he]
@import url(he/viewer.properties)
[hi-IN]
@import url(hi-IN/viewer.properties)
[hr]
@import url(hr/viewer.properties)
[hu]
@import url(hu/viewer.properties)
[hy-AM]
@import url(hy-AM/viewer.properties)
[id]
@import url(id/viewer.properties)
[is]
@import url(is/viewer.properties)
[it]
@import url(it/viewer.properties)
[ja]
@import url(ja/viewer.properties)
[ka]
@import url(ka/viewer.properties)
[kk]
@import url(kk/viewer.properties)
[km]
@import url(km/viewer.properties)
[kn]
@import url(kn/viewer.properties)
[ko]
@import url(ko/viewer.properties)
[ku]
@import url(ku/viewer.properties)
[lg]
@import url(lg/viewer.properties)
[lij]
@import url(lij/viewer.properties)
[lt]
@import url(lt/viewer.properties)
[lv]
@import url(lv/viewer.properties)
[mai]
@import url(mai/viewer.properties)
[mk]
@import url(mk/viewer.properties)
[ml]
@import url(ml/viewer.properties)
[mn]
@import url(mn/viewer.properties)
[mr]
@import url(mr/viewer.properties)
[ms]
@import url(ms/viewer.properties)
[my]
@import url(my/viewer.properties)
[nb-NO]
@import url(nb-NO/viewer.properties)
[nl]
@import url(nl/viewer.properties)
[nn-NO]
@import url(nn-NO/viewer.properties)
[nso]
@import url(nso/viewer.properties)
[oc]
@import url(oc/viewer.properties)
[or]
@import url(or/viewer.properties)
[pa-IN]
@import url(pa-IN/viewer.properties)
[pl]
@import url(pl/viewer.properties)
[pt-BR]
@import url(pt-BR/viewer.properties)
[pt-PT]
@import url(pt-PT/viewer.properties)
[rm]
@import url(rm/viewer.properties)
[ro]
@import url(ro/viewer.properties)
[ru]
@import url(ru/viewer.properties)
[rw]
@import url(rw/viewer.properties)
[sah]
@import url(sah/viewer.properties)
[si]
@import url(si/viewer.properties)
[sk]
@import url(sk/viewer.properties)
[sl]
@import url(sl/viewer.properties)
[son]
@import url(son/viewer.properties)
[sq]
@import url(sq/viewer.properties)
[sr]
@import url(sr/viewer.properties)
[sv-SE]
@import url(sv-SE/viewer.properties)
[sw]
@import url(sw/viewer.properties)
[ta]
@import url(ta/viewer.properties)
[ta-LK]
@import url(ta-LK/viewer.properties)
[te]
@import url(te/viewer.properties)
[th]
@import url(th/viewer.properties)
[tl]
@import url(tl/viewer.properties)
[tn]
@import url(tn/viewer.properties)
[tr]
@import url(tr/viewer.properties)
[uk]
@import url(uk/viewer.properties)
[ur]
@import url(ur/viewer.properties)
[vi]
@import url(vi/viewer.properties)
[wo]
@import url(wo/viewer.properties)
[xh]
@import url(xh/viewer.properties)
[zh-CN]
@import url(zh-CN/viewer.properties)
[zh-TW]
@import url(zh-TW/viewer.properties)
[zu]
@import url(zu/viewer.properties)
[de]
@import url(de/viewer.properties)
[en-GB]
@import url(en-GB/viewer.properties)
[en-US]
@import url(en-US/viewer.properties)
[fa]
@import url(fa/viewer.properties)
[fr]
@import url(fr/viewer.properties)
[ja]
@import url(ja/viewer.properties)
[pl]
@import url(pl/viewer.properties)
[pt-BR]
@import url(pt-BR/viewer.properties)
[zh-CN]
@import url(zh-CN/viewer.properties)
......@@ -12,7 +12,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
<value> <string>text/plain</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......@@ -20,7 +20,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>locale.properties</string> </value>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>pt-BR</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
# Copyright 2012 Mozilla Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Main toolbar buttons (tooltips and alt text for images)
previous.title=Página anterior
previous_label=Anterior
next.title=Próxima página
next_label=Próxima
# LOCALIZATION NOTE (page_label, page_of):
# These strings are concatenated to form the "Page: X of Y" string.
# Do not translate "{{pageCount}}", it will be substituted with a number
# representing the total number of pages.
page_label=Página:
page_of=de {{pageCount}}
zoom_out.title=Diminuir zoom
zoom_out_label=Diminuir zoom
zoom_in.title=Aumentar zoom
zoom_in_label=Aumentar zoom
zoom.title=Zoom
presentation_mode.title=Alternar para modo de apresentação
presentation_mode_label=Modo de apresentação
open_file.title=Abrir arquivo
open_file_label=Abrir
print.title=Imprimir
print_label=Imprimir
download.title=Download
download_label=Download
bookmark.title=Visualização atual (copie ou abra em uma nova janela)
bookmark_label=Visualização atual
# Secondary toolbar and context menu
tools.title=Ferramentas
tools_label=Ferramentas
first_page.title=Ir para a primeira página
first_page.label=Ir para a primeira página
first_page_label=Ir para a primeira página
last_page.title=Ir para a última página
last_page.label=Ir para a última página
last_page_label=Ir para a última página
page_rotate_cw.title=Girar no sentido horário
page_rotate_cw.label=Girar no sentido horário
page_rotate_cw_label=Girar no sentido horário
page_rotate_ccw.title=Girar no sentido anti-horário
page_rotate_ccw.label=Girar no sentido anti-horário
page_rotate_ccw_label=Girar no sentido anti-horário
hand_tool_enable.title=Ativar ferramenta da mão
hand_tool_enable_label=Ativar ferramenta da mão
hand_tool_disable.title=Desativar ferramenta da mão
hand_tool_disable_label=Desativar ferramenta da mão
# Document properties dialog box
document_properties.title=Propriedades do documento…
document_properties_label=Propriedades do documento…
document_properties_file_name=Nome do arquivo:
document_properties_file_size=Tamanho do arquivo:
# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
# will be replaced by the PDF file size in kilobytes, respectively in bytes.
document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
# will be replaced by the PDF file size in megabytes, respectively in bytes.
document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
document_properties_title=Título:
document_properties_author=Autor:
document_properties_subject=Assunto:
document_properties_keywords=Palavras-chave:
document_properties_creation_date=Data da criação:
document_properties_modification_date=Data da modificação:
# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
# will be replaced by the creation/modification date, and time, of the PDF file.
document_properties_date_string={{date}}, {{time}}
document_properties_creator=Criação:
document_properties_producer=Criador do PDF:
document_properties_version=Versão do PDF:
document_properties_page_count=Número de páginas:
document_properties_close=Fechar
# Tooltips and alt text for side panel toolbar buttons
# (the _label strings are alt text for the buttons, the .title strings are
# tooltips)
toggle_sidebar.title=Exibir/ocultar painel
toggle_sidebar_label=Exibir/ocultar painel
outline.title=Exibir estrutura de tópicos
outline_label=Estrutura de tópicos do documento
attachments.title=Exibir anexos
attachments_label=Anexos
thumbs.title=Exibir miniaturas das páginas
thumbs_label=Miniaturas
findbar.title=Localizar no documento
findbar_label=Localizar
# Thumbnails panel item (tooltip and alt text for images)
# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
# number.
thumb_page_title=Página {{page}}
# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
# number.
thumb_page_canvas=Miniatura da página {{page}}
# Find panel button title and messages
find_label=Localizar:
find_previous.title=Localizar a ocorrência anterior do texto
find_previous_label=Anterior
find_next.title=Localizar a próxima ocorrência do texto
find_next_label=Próxima
find_highlight=Realçar tudo
find_match_case_label=Diferenciar maiúsculas/minúsculas
find_reached_top=Atingido o início do documento, continuando do fim
find_reached_bottom=Atingido o fim do documento, continuando do início
find_not_found=Texto não encontrado
# Error panel labels
error_more_info=Mais informações
error_less_info=Menos informações
error_close=Fechar
# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
# replaced by the PDF.JS version and build ID.
error_version_info=PDF.js v{{version}} (build: {{build}})
# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
# english string describing the error.
error_message=Mensagem: {{message}}
# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
# trace.
error_stack=Stack: {{stack}}
# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
error_file=Arquivo: {{file}}
# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
error_line=Linha: {{line}}
rendering_error=Ocorreu um erro ao renderizar a página.
# Predefined zoom values
page_scale_width=Largura da página
page_scale_fit=Ajustar à janela
page_scale_auto=Zoom automático
page_scale_actual=Tamanho real
# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
# numerical scale value.
page_scale_percent={{scale}}%
# Loading indicator messages
loading_error_indicator=Erro
loading_error=Ocorreu um erro ao carregar o PDF.
invalid_file_error=Arquivo PDF corrompido ou inválido.
missing_file_error=Arquivo PDF ausente.
unexpected_response_error=Resposta inesperada do servidor.
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
# "{{type}}" will be replaced with an annotation type from a list defined in
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
text_annotation_type.alt=[Anotação {{type}}]
password_label=Forneça a senha para abrir este arquivo PDF.
password_invalid=Senha inválida. Por favor, tente de novo.
password_ok=OK
password_cancel=Cancelar
printing_not_supported=Alerta: a impressão não é totalmente suportada neste navegador.
printing_not_ready=Alerta: o PDF não está totalmente carregado para impressão.
web_fonts_disabled=Fontes da web estão desativadas: não é possível usar fontes incorporadas do PDF.
document_colors_not_allowed=Documentos PDF não estão autorizados a usar suas próprias cores: “Páginas podem usar outras cores” está desativado no navegador.
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>viewer.properties</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/plain</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -12,7 +12,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/octet-stream</string> </value>
<value> <string>text/plain</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......@@ -20,7 +20,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>viewer.properties</string> </value>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>zh-CN</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
# Copyright 2012 Mozilla Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Main toolbar buttons (tooltips and alt text for images)
previous.title=上一页
previous_label=上一页
next.title=下一页
next_label=下一页
# LOCALIZATION NOTE (page_label, page_of):
# These strings are concatenated to form the "Page: X of Y" string.
# Do not translate "{{pageCount}}", it will be substituted with a number
# representing the total number of pages.
page_label=页面:
page_of=/ {{pageCount}}
zoom_out.title=缩小
zoom_out_label=缩小
zoom_in.title=放大
zoom_in_label=放大
zoom.title=缩放
presentation_mode.title=切换到演示模式
presentation_mode_label=演示模式
open_file.title=打开文件
open_file_label=打开
print.title=打印
print_label=打印
download.title=下载
download_label=下载
bookmark.title=当前视图(复制或在新窗口中打开)
bookmark_label=当前视图
# Secondary toolbar and context menu
tools.title=工具
tools_label=工具
first_page.title=转到第一页
first_page.label=转到第一页
first_page_label=转到第一页
last_page.title=转到最后一页
last_page.label=转到最后一页
last_page_label=转到最后一页
page_rotate_cw.title=顺时针旋转
page_rotate_cw.label=顺时针旋转
page_rotate_cw_label=顺时针旋转
page_rotate_ccw.title=逆时针旋转
page_rotate_ccw.label=逆时针旋转
page_rotate_ccw_label=逆时针旋转
hand_tool_enable.title=启用手形工具
hand_tool_enable_label=启用手形工具
hand_tool_disable.title=禁用手形工具
hand_tool_disable_label=禁用手形工具
# Document properties dialog box
document_properties.title=文档属性…
document_properties_label=文档属性…
document_properties_file_name=文件名:
document_properties_file_size=文件大小:
# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
# will be replaced by the PDF file size in kilobytes, respectively in bytes.
document_properties_kb={{size_kb}} KB ({{size_b}} 字节)
# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
# will be replaced by the PDF file size in megabytes, respectively in bytes.
document_properties_mb={{size_mb}} MB ({{size_b}} 字节)
document_properties_title=标题:
document_properties_author=作者:
document_properties_subject=主题:
document_properties_keywords=关键词:
document_properties_creation_date=创建日期:
document_properties_modification_date=修改日期:
# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
# will be replaced by the creation/modification date, and time, of the PDF file.
document_properties_date_string={{date}}, {{time}}
document_properties_creator=创建者:
document_properties_producer=PDF 制作者:
document_properties_version=PDF 版本:
document_properties_page_count=页数:
document_properties_close=关闭
# Tooltips and alt text for side panel toolbar buttons
# (the _label strings are alt text for the buttons, the .title strings are
# tooltips)
toggle_sidebar.title=切换侧栏
toggle_sidebar_label=切换侧栏
outline.title=显示文档大纲
outline_label=文档大纲
attachments.title=显示附件
attachments_label=附件
thumbs.title=显示缩略图
thumbs_label=缩略图
findbar.title=在文档中查找
findbar_label=查找
# Thumbnails panel item (tooltip and alt text for images)
# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
# number.
thumb_page_title=页码 {{page}}
# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
# number.
thumb_page_canvas=页面 {{page}} 的缩略图
# Find panel button title and messages
find_label=查找:
find_previous.title=查找词语上一次出现的位置
find_previous_label=上一页
find_next.title=查找词语后一次出现的位置
find_next_label=下一页
find_highlight=全部高亮显示
find_match_case_label=区分大小写
find_reached_top=到达文档开头,从末尾继续
find_reached_bottom=到达文档末尾,从开头继续
find_not_found=词语未找到
# Error panel labels
error_more_info=更多信息
error_less_info=更少信息
error_close=关闭
# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
# replaced by the PDF.JS version and build ID.
error_version_info=PDF.js v{{version}} (build: {{build}})
# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
# english string describing the error.
error_message=信息:{{message}}
# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
# trace.
error_stack=堆栈:{{stack}}
# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
error_file=文件:{{file}}
# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
error_line=行号:{{line}}
rendering_error=渲染页面时发生错误。
# Predefined zoom values
page_scale_width=适合页宽
page_scale_fit=适合页面
page_scale_auto=自动缩放
page_scale_actual=实际大小
# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
# numerical scale value.
page_scale_percent={{scale}}%
# Loading indicator messages
loading_error_indicator=错误
loading_error=载入PDF时发生错误。
invalid_file_error=无效或损坏的PDF文件。
missing_file_error=缺少PDF文件。
unexpected_response_error=意外的服务器响应。
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
# "{{type}}" will be replaced with an annotation type from a list defined in
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
text_annotation_type.alt=[{{type}} 注解]
password_label=输入密码以打开此 PDF 文件。
password_invalid=密码无效。请重试。
password_ok=确定
password_cancel=取消
printing_not_supported=警告:打印功能不完全支持此浏览器。
printing_not_ready=警告:该 PDF 未完全加载以供打印。
web_fonts_disabled=Web 字体已被禁用:无法使用嵌入的PDF字体。
document_colors_not_allowed=不允许 PDF 文档使用自己的颜色:浏览器中“允许页面选择自己的颜色”的选项已停用。
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>viewer.properties</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/plain</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*jslint indent: 2, nomen: true */
/*global window, rJS, RSVP, PDFJS, webViewerLoad, Uint8Array,
ArrayBuffer, PDFViewerApplication, FileReader */
(function (window, rJS, RSVP, PDFJS, webViewerLoad) {
/*global window, rJS, RSVP, PDFJS, configure, webViewerInitialized,
PDFViewerApplication, FileReader, PasswordPrompt */
(function (window, rJS, RSVP, PDFJS, configure, webViewerInitialized, PDFViewerApplication, PasswordPrompt) {
"use strict";
rJS(window)
......@@ -13,23 +13,29 @@
});
})
.declareMethod("render", function (options) {
[].forEach.call(window.document.head.querySelectorAll("base"), function (el) {
// XXX GadgetField adds <base> tag to fit to the parent page location, it's BAD to remove them.
// In the case of pdf.js, all component are loaded dynamicaly through ajax requests in
// pdf-js "folder". By setting a <base> tag, we change the url resolution behavior, and
// we break all dynamic links. So, deleting <base> is required.
window.document.head.removeChild(el);
var gadget = this;
gadget.props.key = options.key;
configure(PDFJS);
PDFJS.locale = options.language;
if (options.password) {
PasswordPrompt._original_open = PasswordPrompt.open;
var retries = 0;
PasswordPrompt.open = function () {
if (retries) {
return this._original_open();
}
retries++;
return this.updatePassword(options.password);
};
}
return PDFViewerApplication.initialize().then(function() {
webViewerInitialized(options.value);
// hide some buttons that do not make sense for us
gadget.props.element.querySelector('#viewBookmark').hidden = true;
gadget.props.element.querySelector('#documentProperties').hidden = true;
gadget.props.element.querySelector('#download').hidden = true;
gadget.props.element.querySelector('#openFile').hidden = true;
});
this.props.key = options.key;
webViewerLoad(options.value);
// hide few buttons for now
this.props.element.querySelector('#viewBookmark').hidden = true;
this.props.element.querySelector('#documentProperties').hidden = true;
this.props.element.querySelector('#documentProperties').hidden = true;
this.props.element.querySelector('#download').hidden = true;
return;
})
.declareMethod("getContent", function () {
var form_data = {};
......@@ -57,4 +63,4 @@
return form_data;
});
});
}(window, rJS, RSVP, PDFJS, webViewerLoad, PDFViewerApplication));
}(window, rJS, RSVP, PDFJS, configure, webViewerInitialized, PDFViewerApplication, PasswordPrompt));
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PDF" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts54848644.25</string> </value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_mt_index</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>_tree</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value> <string>e0751dd9b313aa3cc08d7cbfebf0d100</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/pdf</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>test-ERP5.Logo.Encrypted.PDF</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>A sample PDF with text and an image, encrypted with password "secret"</string> </value>
</item>
<item>
<key> <string>filename</string> </key>
<value> <string>test-ERP5.Logo.encrypted.PDF.pdf</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>-1</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test_ERP5_Logo_Encrypted_PDF</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value> <string>en</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>PDF</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>7745</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>-1</int> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Length" module="BTrees.Length"/>
</pickle>
<pickle> <int>0</int> </pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="6" aka="AAAAAAAAAAY=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1655084957.23</float>
<string>GMT+2</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testDrawingUploadAndPreview</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode>Drawing Upload and Preview</unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title tal:content="template/title_and_id"></title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr>
<td rowspan="1" colspan="3" tal:content="template/title_and_id"></td>
</tr>
</thead>
<tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
<tr>
<td>openAndWait</td>
<td>${base_url}/document_module</td>
<td></td>
</tr>
<tr>
<td>selectAndWait</td>
<td>select_action</td>
<td>Add Drawing</td>
</tr>
<tr>
<td>setFile</td>
<td>field_my_file</td>
<td>${base_url}/functional_test_data_folder/tiolive-ERP5.Freedom.TioLive.Drawing-001-en.odg
tiolive-ERP5.Freedom.TioLive.Drawing-001-en.odg</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>store</td>
<td>javascript{selenium.browserbot.getCurrentWindow().location.href}</td>
<td>current_location</td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
<tr>
<td>open</td>
<td>${current_location}</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Preview</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//body//div[@class='canvasWrapper']/canvas</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=top</td>
<td></td>
</tr>
</tbody>
</table>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testEncryptedPDFPreview</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode>Encrypted PDF Preview</unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title tal:content="template/title_and_id"></title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3" tal:content="template/title_and_id"></td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
<tr>
<td>openAndWait</td>
<td>${base_url}/document_module/test_ERP5_Logo_Encrypted_PDF</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Preview</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>waitForText</td>
<td>//body//div[@class='textLayer']/div[1]</td>
<td>This is a sample PDF with some text and an image</td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=top</td>
<td></td>
</tr>
<!--
This PDF is automatically decrypted because of the ID
(see portal_skins/erp5_dms_ui_test/PDF_getContentPassword)
Make a clone, that will not be automatically decrypted (because Id will be different)
It is still possible for user to enter a password and view.
-->
<tr>
<td>clickAndWait</td>
<td>Base_createCloneDocument:method</td>
<td></td>
</tr>
<tr>
<td>assertPortalStatusMessage</td>
<td>Created Clone PDF.</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@id="passwordOverlay" and not(contains(@class, "hidden"))]</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>password</td>
<td>secret</td>
</tr>
<tr>
<td>click</td>
<td>passwordSubmit</td>
<td></td>
</tr>
<tr>
<td>waitForText</td>
<td>//body//div[@class='textLayer']/div[1]</td>
<td>This is a sample PDF with some text and an image</td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=top</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testPDFPreview</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode>PDF Preview</unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title tal:content="template/title_and_id"></title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3" tal:content="template/title_and_id"></td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
<tr>
<td>openAndWait</td>
<td>${base_url}/document_module/test_ERP5_Logo_PDF</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Preview</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>waitForText</td>
<td>//body//div[@class='textLayer']/div[1]</td>
<td>This is a sample PDF with some text and an image</td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testPDFPreviewLanguage</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode>PDF Preview Editor Language</unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title tal:content="template/title_and_id"></title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3" tal:content="template/title_and_id"></td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
<tr>
<td>open</td>
<td tal:content="string: ${here/portal_url}/Base_createUITestLanguages"></td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>New Languages Added</td>
<td></td>
</tr>
<tr>
<td>openAndWait</td>
<td>${base_url}/fr/document_module/test_ERP5_Logo_PDF/PDF_viewPDFJSPreview</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>waitForText</td>
<td>//body//div[@class='textLayer']/div[1]</td>
<td>This is a sample PDF with some text and an image</td>
</tr>
<tr>
<td>waitForText</td>
<td>//option[@id="pageAutoOption"]</td>
<td>Zoom automatique</td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=top</td>
<td></td>
</tr>
<!-- Try with a language not supported by pdf.js -->
<tr>
<td>selectAndWait</td>
<td>select_language</td>
<td>Xhosa</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>//iframe[contains(@src, "pdfjs.gadget.html")]</td>
<td></td>
</tr>
<tr>
<td>waitForText</td>
<td>//option[@id="pageAutoOption"]</td>
<td>Automatic Zoom</td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=top</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
......@@ -6,12 +6,33 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_skin_layer_priority</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>float</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>business_template_skin_layer_priority</string> </key>
<value> <float>40.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_dms_ui_test</string> </value>
......
# type: () -> bytes
if context.getId() == 'test_ERP5_Logo_Encrypted_PDF':
return 'secret'
return context.skinSuper('erp5_dms_ui_test', 'PDF_getContentPassword')(REQUEST=REQUEST)
<?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>_params</string> </key>
<value> <string>REQUEST=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>PDF_getContentPassword</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
document_module/test_ERP5_Logo_PDF
document_module/test_ERP5_Logo_Encrypted_PDF
\ No newline at end of file
document_module/test_ERP5_Logo_Encrypted_PDF
document_module/test_ERP5_Logo_PDF
portal_categories/classification/**
portal_tests/dms_zuite
portal_tests/dms_zuite/**
\ No newline at end of file
<dtml-var table_0>.base_category_uid = <dtml-var "portal_categories.specialise.getUid()">
<dtml-var RELATED_QUERY_SEPARATOR>
<dtml-var table_0>.uid = <dtml-var table_2>.parent_uid
<dtml-var RELATED_QUERY_SEPARATOR>
<dtml-var table_2>.uid = <dtml-var table_1>.parent_uid
<dtml-var RELATED_QUERY_SEPARATOR>
<dtml-var table_3>.uid = <dtml-var table_0>.category_uid
AND <dtml-var table_1>.uid = <dtml-var query_table>.parent_uid
\ No newline at end of file
<dtml-var table_1>.uid = <dtml-var table_0>.parent_uid
<dtml-var RELATED_QUERY_SEPARATOR>
<dtml-var table_2>.uid = <dtml-var table_1>.parent_uid
AND <dtml-var table_2>.base_category_uid = <dtml-var "portal_categories.specialise.getUid()">
<dtml-var RELATED_QUERY_SEPARATOR>
<dtml-var table_0>.uid = <dtml-var query_table>.parent_uid
......@@ -8,16 +8,13 @@
<dictionary>
<item>
<key> <string>allow_simple_one_argument_traversal</string> </key>
<value>
<none/>
</value>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>arguments_src</string> </key>
<value> <string>table_0\n
table_1\n
table_2\n
table_3\n
RELATED_QUERY_SEPARATOR=" AND "\n
query_table="catalog"</string> </value>
</item>
......@@ -27,11 +24,15 @@ query_table="catalog"</string> </value>
</item>
<item>
<key> <string>class_file_</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>class_name_</string> </key>
<value> <string></string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>connection_hook</string> </key>
......@@ -45,7 +46,7 @@ query_table="catalog"</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>z_related_grand_grand_parent_specialise</string> </value>
<value> <string>z_related_grand_grand_parent_specialise_uid</string> </value>
</item>
<item>
<key> <string>max_cache_</string> </key>
......
<key_list>
<key>grand_grand_grand_parent_simulation_state | catalog,catalog,catalog,catalog/simulation_state/z_related_grand_grand_grand_parent</key>
<key>grand_grand_parent_specialise_portal_type | category,catalog,catalog,catalog/portal_type/z_related_grand_grand_parent_specialise</key>
<key>grand_grand_parent_specialise_reference | category,catalog,catalog,catalog/reference/z_related_grand_grand_parent_specialise</key>
<key>grand_grand_parent_specialise_uid | catalog,catalog,category/category_uid/z_related_grand_grand_parent_specialise_uid</key>
</key_list>
\ No newline at end of file
......@@ -3,11 +3,16 @@
Simulation Movements can come from normal Invoice Transaction Rule
and same rule which is children of Trade Model Rule """
portal = context.getPortalObject()
searchRules = portal.portal_rules.searchFolder
getRuleUidList = lambda *args: [x.getUid() for x in searchRules(reference=args)]
# search for normal movements
kw['parent_specialise_reference'] = ['default_invoice_transaction_rule']
kw['grand_grand_parent_specialise_reference'] = [
'default_invoicing_rule', 'default_invoice_rule', 'default_tax_rule']
if context.Invoice_isAdvanced():
kw['parent_specialise_uid'] = getRuleUidList('default_invoice_transaction_rule')
kw['grand_grand_parent_specialise_uid'] = getRuleUidList(
'default_invoicing_rule', 'default_invoice_rule', 'default_tax_rule')
if portal.Invoice_isAdvanced():
kw['explanation_portal_type'] = ['%s Order' % trade_type,
'%s Invoice' % trade_type,
'%s Packing List' % trade_type,
......@@ -27,13 +32,14 @@ kw['group_by'] = ('uid',)
search_kw = kw.copy()
search_kw['grand_parent_simulation_state'] = ['started']
movement_list = list(context.portal_catalog(**search_kw))
movement_list = list(portal.portal_catalog(**search_kw))
# update query to search for movements which are children of Trade Model Rule
kw['grand_grand_parent_specialise_reference'] = 'default_trade_model_rule'
kw['grand_grand_parent_specialise_uid'] = getRuleUidList(
'default_trade_model_rule')
kw['grand_grand_grand_parent_simulation_state'] = ['started']
movement_list += list(context.portal_catalog(**kw))
movement_list += portal.portal_catalog(**kw)
# Simulation movement's state maybe not yet updated, make sure it's the right one
return [x for x in movement_list if x.getParentValue().getParentValue().getSimulationState() == 'started']
erp5_mysql_innodb/z_related_grand_grand_grand_parent
erp5_mysql_innodb/z_related_grand_grand_parent_specialise
\ No newline at end of file
erp5_mysql_innodb/z_related_grand_grand_parent_specialise_uid
\ No newline at end of file
grand_grand_grand_parent_simulation_state | catalog,catalog,catalog,catalog/simulation_state/z_related_grand_grand_grand_parent
grand_grand_parent_specialise_portal_type | category,catalog,catalog,catalog/portal_type/z_related_grand_grand_parent_specialise
grand_grand_parent_specialise_reference | category,catalog,catalog,catalog/reference/z_related_grand_grand_parent_specialise
\ No newline at end of file
grand_grand_parent_specialise_uid | catalog,catalog,category/category_uid/z_related_grand_grand_parent_specialise_uid
\ No newline at end of file
......@@ -98,12 +98,12 @@
<td></td>
</tr>
<tr>
<td>isElementPresent</td>
<td>assertElementPresent</td>
<td>//button[@id='zoomOut']</td>
<td></td>
</tr>
<tr>
<td>isElementPresent</td>
<td>assertElementPresent</td>
<td>//button[@id='zoomIn']</td>
<td></td>
</tr>
......
......@@ -29,8 +29,6 @@
context.editor = editor = monaco.editor.create(
this.element.querySelector('.monaco-container'),
{
/* because Alt+Click is LeftClick on ChromeOS */
multiCursorModifier: 'ctrlCmd',
autoIndent: true,
automaticLayout: true,
}
......@@ -145,6 +143,7 @@
// see http://json.schemastore.org/prettierrc for supported options.
singleQuote: true,
tabWidth: 2,
trailingComma: 'none'
});
return [
......
......@@ -103,10 +103,6 @@ $script.onload = function() {
{
value: $textarea.value,
language: mode,
/* because Alt+Click is LeftClick on ChromeOS */
multiCursorModifier: "ctrlCmd",
autoIndent: true
}
);
......@@ -153,7 +149,8 @@ $script.onload = function() {
plugins: [prettierPlugins.babel],
// see http://json.schemastore.org/prettierrc for supported options.
singleQuote: true,
tabWidth: 2
tabWidth: 2,
trailingComma: 'none'
});
return [
......
......@@ -139,6 +139,7 @@
},
form_definition: {
title: "Download",
action: "download",
group_list: [[
"center",
[["my_format"]]
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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