Commit 90827af3 authored by Boris Kocherov's avatar Boris Kocherov

Merge branch 'master' into bk_officejs

parents 78935c32 cf3371b3
......@@ -44,7 +44,7 @@
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>AccessContentsInformation</string>
<string>Access contents information</string>
<string>Modify portal content</string>
<string>View</string>
<string>Delete objects</string>
......
......@@ -53,7 +53,7 @@
<value>
<dictionary>
<item>
<key> <string>AccessContentsInformation</string> </key>
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignee</string>
......
......@@ -56,7 +56,7 @@
<value>
<dictionary>
<item>
<key> <string>AccessContentsInformation</string> </key>
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignor</string>
......
......@@ -57,7 +57,7 @@
<value>
<dictionary>
<item>
<key> <string>AccessContentsInformation</string> </key>
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignor</string>
......
......@@ -56,7 +56,7 @@
<value>
<dictionary>
<item>
<key> <string>AccessContentsInformation</string> </key>
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignor</string>
......
......@@ -40,7 +40,7 @@
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>AccessContentsInformation</string>
<string>Access contents information</string>
<string>Modify portal content</string>
<string>View</string>
<string>Delete objects</string>
......
......@@ -53,7 +53,7 @@
<value>
<dictionary>
<item>
<key> <string>AccessContentsInformation</string> </key>
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignor</string>
......
......@@ -56,7 +56,7 @@
<value>
<dictionary>
<item>
<key> <string>AccessContentsInformation</string> </key>
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignor</string>
......
......@@ -57,7 +57,7 @@
<value>
<dictionary>
<item>
<key> <string>AccessContentsInformation</string> </key>
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignor</string>
......
......@@ -56,7 +56,7 @@
<value>
<dictionary>
<item>
<key> <string>AccessContentsInformation</string> </key>
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignor</string>
......
......@@ -491,6 +491,7 @@
indentWithTabs: false,
matchBrackets: true,
extraKeys: {"Ctrl-Space": "autocomplete",
"Alt-Space": "autocomplete",
"Ctrl-Q": function(cm){cm.foldCode(cm.getCursor());},
"Tab": function(cm) {
// We want to insert spaces, not tab, and we also want to keep the behaviour of indenting selection.
......@@ -500,6 +501,8 @@
var spaces = Array(cm.getOption("indentUnit") + 1).join(" ");
cm.replaceSelection(spaces);
},
"Ctrl-I": "indentAuto",
"Shift-Tab": "indentLess",
"Ctrl-S": function(cm){saveDocument(cm, $.Event('click'))}},
foldGutter: true,
lineWrapping: true,
......@@ -703,3 +706,4 @@
generateHistorySelectElement();
</dtml-unless>
</script>
......@@ -1219,24 +1219,33 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
.asSearchTextExpression(sql_catalog)
query += ' AND %s' % role_query.replace('simulation_state', 'local_roles')
portal_type = action['query'].get('portal_type', None)
if (portal_type):
if not same_type(portal_type, ''):
portal_type = portal_type[0]
worklist_module_id = portal.getDefaultModuleId(portal_type, default=None, only_visible=True)
if (worklist_module_id is not None):
work_list.append({
worklist_dict = {
'href': url_template_dict["jio_search_template"] % {
"query": make_query({"query": query})
},
'name': Base_translateString(re.sub(r' \(\d+\)$', '', action['name'])),
'count': action['count'],
'module': default_document_uri_template % {
'count': action['count']
}
portal_type_list = action['query'].get('portal_type', None)
if (portal_type_list):
worklist_module_id = None
if same_type(portal_type_list, ''):
portal_type_list = [portal_type_list]
for portal_type in portal_type_list:
if (worklist_module_id is None):
worklist_module_id = portal.getDefaultModuleId(portal_type, default=None, only_visible=True)
elif (worklist_module_id != portal.getDefaultModuleId(portal_type, default=None, only_visible=True)):
worklist_module_id = None
if worklist_module_id is None:
break
if (worklist_module_id is not None):
worklist_dict['module'] = default_document_uri_template % {
"relative_url": worklist_module_id
}
})
work_list.append(worklist_dict)
result_dict["worklist"] = work_list
......
......@@ -1080,7 +1080,7 @@ class TestERP5Document_getHateoas_mode_worklist(ERP5HALJSONStyleSkinsMixin):
self.assertEqual(len(work_list), 1)
self.assertTrue(work_list[0]['count'] > 0)
self.assertEqual(work_list[0]['name'], 'Draft To Validate')
self.assertEqual(work_list[0]['module'], 'urn:jio:get:bar_module')
self.assertFalse('module' in work_list[0])
self.assertEqual(work_list[0]['href'], 'urn:jio:allDocs?query=portal_type%3A%28%22Bar%22%20OR%20%22Foo%22%29%20AND%20simulation_state%3A%22draft%22')
self.assertEqual(result_dict['_debug'], "worklist")
......@@ -1182,7 +1182,7 @@ return msg"
self.assertEqual(len(work_list), 1)
self.assertEqual(work_list[0]['name'], 'daiyanzhen')
self.assertTrue(work_list[0]['count'] > 0)
self.assertEqual(work_list[0]['module'], 'urn:jio:get:bar_module')
self.assertFalse('module' in work_list[0])
self.assertEqual(work_list[0]['href'], 'urn:jio:allDocs?query=portal_type%3A%28%22Bar%22%20OR%20%22Foo%22%29%20AND%20simulation_state%3A%22draft%22')
self.assertEqual(result_dict['_debug'], "worklist")
......
......@@ -59,7 +59,7 @@
return gadget.setSetting('jio_storage_name', "DAV");
})
.push(function () {
return gadget.reload();
return gadget.setSetting('sync_reload', true);
})
.push(function () {
return gadget.redirect({page: 'sync', auto_repair: 'true'});
......
......@@ -103,11 +103,13 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS jIO DAV Configurator Page JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value> <string>gadget_officejs_page_jio_dav_configurator.js</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -167,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -189,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1442831622.16</float>
<float>1481896181.34</float>
<string>UTC</string>
</tuple>
</state>
......@@ -234,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>954.38524.51199.12134</string> </value>
<value> <string>956.4046.59099.17288</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -252,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1476437846.74</float>
<float>1482142993.78</float>
<string>UTC</string>
</tuple>
</state>
......@@ -279,7 +281,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -309,7 +311,7 @@
</tuple>
<state>
<tuple>
<float>1442830548.22</float>
<float>1481896152.61</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -64,7 +64,7 @@
return gadget.setGlobalSetting('erp5_url', erp5_url);
})
.push(function () {
return gadget.reload();
return gadget.setSetting('sync_reload', true);
})
.push(function () {
return gadget.redirect({page: 'sync', auto_repair: 'true'});
......
......@@ -138,11 +138,13 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS jIO ERP5 Configurator Page JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value> <string>gadget_officejs_page_jio_erp5_configurator.js</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -269,7 +271,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>956.5899.18377.36727</string> </value>
<value> <string>956.4077.57694.30242</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -287,7 +289,7 @@
</tuple>
<state>
<tuple>
<float>1482255975.26</float>
<float>1482145123.94</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -12,15 +12,24 @@
function repair_and_redirect(gadget) {
gadget.props.element.querySelector("button").disabled = true;
return new RSVP.Queue()
.push(function(){
return gadget.getSetting('sync_reload', false);
})
.push(function (sync_reload) {
if (sync_reload) {
return gadget.setSetting('sync_reload', false)
.push(function () {
return gadget.reload();
});
}
return gadget.repair()
})
.push(function (result) {
if (result !== undefined && result.hasOwnProperty('redirect')){
return gadget.redirect(result.redirect);
}
return gadget.redirect({});
});
});
}
gadget_klass
......@@ -55,6 +64,9 @@
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("repair", "jio_repair")
.declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("setSetting", "setSetting")
.declareAcquiredMethod("reload", "reload")
.declareService(function () {
var gadget = this;
......
......@@ -103,11 +103,13 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS Sync Page JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value> <string>gadget_officejs_page_sync.js</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -140,6 +142,12 @@
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>processing_status_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
......@@ -161,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -183,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1442854079.85</float>
<float>1481896177.33</float>
<string>UTC</string>
</tuple>
</state>
......@@ -228,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>954.38795.35440.52684</string> </value>
<value> <string>956.4036.55463.52258</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -246,7 +254,64 @@
</tuple>
<state>
<tuple>
<float>1476450033.82</float>
<float>1482142570.33</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</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>external_processing_state</string> </key>
<value> <string>converted</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</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>1481896139.44</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title>OfficeJS Router Gadget</title>
<title>OfficeJS Setting Gadget</title>
<!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script>
......
......@@ -255,7 +255,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -269,7 +269,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>951.59871.55640.20445</string> </value>
<value> <string>955.55339.49252.52855</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -287,7 +287,7 @@
</tuple>
<state>
<tuple>
<float>1466151233.52</float>
<float>1481292203.77</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -18,6 +18,6 @@
<script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">web_page_module</script>
<script data-renderjs-configuration="document_title" type="text/x-renderjs-configuration">Text Document</script>
<script data-renderjs-configuration="document_title_plural" type="text/x-renderjs-configuration">Text Documents</script>
<script data-renderjs-configuration="global_setting_gadget_url" type="text/x-renderjs-configuration">/erp5/web_site_module/officejs_setting_gadget/</script>
<script data-renderjs-configuration="global_setting_gadget_url" type="text/x-renderjs-configuration">../officejs_setting_gadget/</script>
</body>
</html>
\ No newline at end of file
......@@ -277,7 +277,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.53933.55187.36181</string> </value>
<value> <string>955.64196.10129.12987</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -295,7 +295,7 @@
</tuple>
<state>
<tuple>
<float>1481204936.04</float>
<float>1481897751.13</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -6,6 +6,24 @@
</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>Authenticated</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
......@@ -49,7 +67,24 @@
<string>Assignee</string>
<string>Assignor</string>
<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>Authenticated</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
......@@ -312,9 +347,7 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -340,7 +373,7 @@
</tuple>
<state>
<tuple>
<float>1481190696.09</float>
<float>1481897969.25</float>
<string>UTC</string>
</tuple>
</state>
......@@ -349,7 +382,7 @@
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>embedded</string> </value>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
......
context.Base_prepareCorsResponse(RESPONSE=context.REQUEST.RESPONSE)
return context.Base_download(*args, **kw)
<?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>*args, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_downloadWithCors</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<dtml-var table_1>.uid = <dtml-var table_0>.category_uid
AND <dtml-var table_0>.base_category_uid = <dtml-var "portal_categories.base_contribution.getUid()">
AND <dtml-var table_0>.uid = catalog.parent_uid
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="SQL" module="Products.ZSQLMethods.SQL"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>allow_simple_one_argument_traversal</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>arguments_src</string> </key>
<value> <string>table_0\r\n
table_1</string> </value>
</item>
<item>
<key> <string>cache_time_</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>class_file_</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>class_name_</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>connection_hook</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>connection_id</string> </key>
<value> <string>erp5_sql_connection</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>z_related_parent_base_contribution</string> </value>
</item>
<item>
<key> <string>max_cache_</string> </key>
<value> <int>100</int> </value>
</item>
<item>
<key> <string>max_rows_</string> </key>
<value> <int>1000</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<key_list>
<key>parent_base_contribution_uid | category,catalog/uid/z_related_parent_base_contribution</key>
</key_list>
\ No newline at end of file
erp5_mysql_innodb/z_related_parent_base_contribution
\ No newline at end of file
parent_base_contribution_uid | category,catalog/uid/z_related_parent_base_contribution
\ No newline at end of file
......@@ -25,8 +25,9 @@
#
##############################################################################
from test import pystone
from time import time
pystone.clock = time
from Products.ERP5Type.tests.testPerformance import TestPerformanceMixin
from Products.DCWorkflow.DCWorkflow import ValidationFailed
from Testing import ZopeTestCase
......@@ -71,6 +72,7 @@ class TestWorkflowPerformance(TestPerformanceMixin):
end = time()
print "\n%s pystones/second" % pystone.pystones()[1]
message = "\n%s took %.4gs (%s foo(s))" % (self._testMethodName,
end - start, foo_count)
print message
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_list</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_list</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/TravelRequestModule_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -75,7 +75,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/ExpenseValidationItem_view</string> </value>
<value> <string>string:${object_url}/ExpenseValidationRequest_view</string> </value>
</item>
</dictionary>
</pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_jio_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_jio_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>jio_view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>100.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/LeaveRequestRecord_viewAsJio</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/Event_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -75,7 +75,7 @@
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/ExpenseValidationItemModule_viewExpenseValidationItemList</string> </value>
<value> <string>string:${object_url}/RecordModule_viewLeaveRecordList</string> </value>
</item>
</dictionary>
</pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_list</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_list</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/TravelRequestModule_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_jio_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_jio_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>jio_view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>100.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/TravelRequestRecord_viewAsJio</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/TravelRequestRecord_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view_as_jio</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>2.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>jIO View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/TravelRequestRecord_viewAsJio</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/TravelRequest_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<module>
<id>expense_validation_request_module</id>
<permission_list>
<permission type='tuple'>
<name>Access Transient Objects</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Access contents information</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Access session data</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Add portal content</name>
<role>Assignor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Add portal folders</name>
<role>Assignor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Change local roles</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Copy or Move</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Delete objects</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>List folder contents</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Modify portal content</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>View</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>View History</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
</permission_list>
<portal_type>Expense Validation Request Module</portal_type>
<title>Expense Validation Requests</title>
</module>
\ No newline at end of file
<module>
<id>record_module</id>
<permission_list>
<permission type='tuple'>
<name>Access Transient Objects</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Access contents information</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
<role>Owner</role>
</permission>
<permission type='tuple'>
<name>Access session data</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Add portal content</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Author</role>
<role>Manager</role>
<role>Owner</role>
</permission>
<permission type='tuple'>
<name>Add portal folders</name>
<role>Assignor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Change local roles</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Copy or Move</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Delete objects</name>
<role>Assignor</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>List folder contents</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
<permission type='tuple'>
<name>Modify portal content</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Author</role>
<role>Manager</role>
<role>Owner</role>
</permission>
<permission type='tuple'>
<name>View</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
<role>Owner</role>
</permission>
<permission type='tuple'>
<name>View History</name>
<role>Assignee</role>
<role>Assignor</role>
<role>Associate</role>
<role>Auditor</role>
<role>Author</role>
<role>Manager</role>
</permission>
</permission_list>
<portal_type>Record Module</portal_type>
<title>Records</title>
</module>
\ No newline at end of file
<module>
<id>expense_validation_item_module</id>
<id>travel_request_module</id>
<permission_list>
<permission type='tuple'>
<name>Access Transient Objects</name>
......@@ -91,6 +91,6 @@
<role>Manager</role>
</permission>
</permission_list>
<portal_type>Expense Validation Item Module</portal_type>
<title>Expense Validation Items</title>
<portal_type>Travel Request Module</portal_type>
<title>Travel Requests</title>
</module>
\ No newline at end of file
......@@ -8,7 +8,7 @@
<dictionary>
<item>
<key> <string>active_sense_method_id</string> </key>
<value> <string>Alarm_createExpenseValidationItem</string> </value>
<value> <string>Alarm_processDraftRecordList</string> </value>
</item>
<item>
<key> <string>automatic_solve</string> </key>
......@@ -26,7 +26,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>travel_expense_create_validation_item</string> </value>
<value> <string>alarm_process_draft_record_list</string> </value>
</item>
<item>
<key> <string>periodicity_hour</string> </key>
......@@ -87,7 +87,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Create Expense Validation Item</string> </value>
<value> <string>Process Draft Record List</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -4,16 +4,15 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Expense Record Module View</title>
<title>OfficeJS Add Text Document</title>
<script src="rsvp.js"></script>
<script src="travel_expense_renderjs.js"></script>
<script src="gadget_global.js" ></script>
<script src="gadget_travel_expense_jio_expense_record_module_view.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_officejs_page_add_leave_request_record.js"></script>
</head>
<body>
<div data-gadget-url="gadget_travel_expense_widget_listbox.html" data-gadget-scope="listbox"></div>
</body>
</html>
/*globals window, RSVP, rJS, promiseEventListener, Handlebars*/
/*jslint indent: 2, maxlen: 80, nomen: true*/
(function (window, RSVP, rJS, promiseEventListener, Handlebars) {
/*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) {
"use strict";
var gadget_klass = rJS(window),
templater = gadget_klass.__template_element,
template = Handlebars.compile(
templater.getElementById("page-template").innerHTML
);
var gadget_klass = rJS(window);
gadget_klass
.ready(function (g) {
......@@ -15,51 +11,54 @@
return g.getElement()
.push(function (element) {
g.props.element = element;
g.props.deferred = RSVP.defer();
});
})
.declareAcquiredMethod('allDocs', 'jio_allDocs')
.declareAcquiredMethod("post", "jio_post")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("translateHtml", "translateHtml")
.declareMethod("render", function () {
.declareAcquiredMethod('getSetting', 'getSetting')
.declareMethod("render", function (options) {
var gadget = this;
gadget.props.options = options;
return new RSVP.Queue()
.push(function () {
gadget.props.portal_type = "Leave Request Record";
gadget.props.document_title = "Demande de congée";
gadget.props.parent_relative_url = "record_module";
return gadget.updateHeader({
title: "Synchronisation"
title: "Nouvelle " + gadget.props.document_title
});
})
.push(function () {
return gadget.translateHtml(template());
})
.push(function (html) {
gadget.props.element.innerHTML = html;
gadget.props.deferred.resolve();
});
})
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("repair", "jio_repair")
.declareAcquiredMethod("post", "jio_post")
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return promiseEventListener(
gadget.props.element.querySelector('form.synchro-form'),
'submit',
false
);
})
.push(function () {
gadget.props.element.querySelector("input[type=submit]")
.disabled = true;
return gadget.props.deferred.promise;
})
.push(function () {
return gadget.repair();
var doc = {
// XXX Hardcoded
parent_relative_url: gadget.props.parent_relative_url,
portal_type: gadget.props.portal_type
};
return gadget.post(doc);
})
.push(function () {
alert(translateString('Synchronisation Finished'));
return gadget.redirect({jio_key:"expense_record_module", page:"view"});
.push(function (data) {
return gadget.redirect({
jio_key: data,
page: "view"
});
});
});
}(window, RSVP, rJS, promiseEventListener, Handlebars));
\ No newline at end of file
}(window, RSVP, rJS));
\ No newline at end of file
......@@ -66,7 +66,10 @@
<item>
<key> <string>categories</string> </key>
<value>
<tuple/>
<tuple>
<string>contributor/person_module/1</string>
<string>contributor/person_module/2</string>
</tuple>
</value>
</item>
<item>
......@@ -76,14 +79,16 @@
</value>
</item>
<item>
<key> <string>contributors</string> </key>
<key> <string>creators</string> </key>
<value>
<tuple/>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_travel_expense_record_application.js</string> </value>
<value> <string>gadget_officejs_page_add_leave_request_record.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -93,11 +98,32 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_travel_expense_record_application.js</string> </value>
<value> <string>gadget_hr_add_leave_request_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value> <string>en</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284351.49</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
......@@ -111,11 +137,13 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Travel Expense Record Application JS</string> </value>
<value> <string>OfficeJS Add Leave Request Record JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -175,7 +203,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
<value> <string>supercedriclen</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -197,7 +225,7 @@
</tuple>
<state>
<tuple>
<float>1472526622.66</float>
<float>1479291214.81</float>
<string>UTC</string>
</tuple>
</state>
......@@ -228,7 +256,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
<value> <string>supercedriclen</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -242,7 +270,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>953.37743.37390.17152</string> </value>
<value> <string>955.40829.57244.13073</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -260,7 +288,7 @@
</tuple>
<state>
<tuple>
<float>1472541186.51</float>
<float>1480504244.16</float>
<string>UTC</string>
</tuple>
</state>
......@@ -287,7 +315,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
<value> <string>supercedriclen</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -317,7 +345,7 @@
</tuple>
<state>
<tuple>
<float>1472523951.83</float>
<float>1479285723.65</float>
<string>UTC</string>
</tuple>
</state>
......
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Add Text Document</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_officejs_page_add_travel_request_record.js"></script>
</head>
<body>
</body>
</html>
/*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) {
"use strict";
var gadget_klass = rJS(window);
gadget_klass
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
g.props.deferred = RSVP.defer();
});
})
.declareAcquiredMethod("post", "jio_post")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting')
.declareMethod("render", function (options) {
var gadget = this;
gadget.props.options = options;
return new RSVP.Queue()
.push(function () {
gadget.props.portal_type = "Travel Request Record";
gadget.props.document_title = "Mission Request";
gadget.props.parent_relative_url = "record_module";
return gadget.updateHeader({
title: "New " + gadget.props.document_title
});
})
.push(function () {
gadget.props.deferred.resolve();
});
})
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return gadget.props.deferred.promise;
})
.push(function () {
var doc = {
// XXX Hardcoded
parent_relative_url: gadget.props.parent_relative_url,
portal_type: gadget.props.portal_type
};
return gadget.post(doc);
})
.push(function (data) {
return gadget.redirect({
jio_key: data,
page: "view"
});
});
});
}(window, RSVP, rJS));
\ No newline at end of file
.alertify,
.alertify-show,
.alertify-log {
-webkit-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
-moz-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
-ms-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
-o-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275); /* easeOutBack */
}
.alertify-hide {
-webkit-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
-moz-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
-ms-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
-o-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045); /* easeInBack */
}
.alertify-log-hide {
-webkit-transition: all 500ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
-moz-transition: all 500ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
-ms-transition: all 500ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
-o-transition: all 500ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
transition: all 500ms cubic-bezier(0.600, -0.280, 0.735, 0.045); /* easeInBack */
}
.alertify-cover {
position: fixed; z-index: 99999;
top: 0; right: 0; bottom: 0; left: 0;
background-color:white;
filter:alpha(opacity=0);
opacity:0;
}
.alertify-cover-hidden {
display: none;
}
.alertify {
position: fixed; z-index: 99999;
top: 50px; left: 50%;
width: 550px;
margin-left: -275px;
opacity: 1;
}
.alertify-hidden {
-webkit-transform: translate(0,-150px);
-moz-transform: translate(0,-150px);
-ms-transform: translate(0,-150px);
-o-transform: translate(0,-150px);
transform: translate(0,-150px);
opacity: 0;
display: none;
}
/* overwrite display: none; for everything except IE6-8 */
:root *> .alertify-hidden {
display: block;
visibility: hidden;
}
.alertify-logs {
position: fixed;
z-index: 5000;
bottom: 10px;
right: 10px;
width: 300px;
}
.alertify-logs-hidden {
display: none;
}
.alertify-log {
display: block;
margin-top: 10px;
position: relative;
right: -300px;
opacity: 0;
}
.alertify-log-show {
right: 0;
opacity: 1;
}
.alertify-log-hide {
-webkit-transform: translate(300px, 0);
-moz-transform: translate(300px, 0);
-ms-transform: translate(300px, 0);
-o-transform: translate(300px, 0);
transform: translate(300px, 0);
opacity: 0;
}
.alertify-dialog {
padding: 25px;
}
.alertify-resetFocus {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.alertify-inner {
text-align: center;
}
.alertify-text {
margin-bottom: 15px;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
font-size: 100%;
}
.alertify-buttons {
}
.alertify-button,
.alertify-button:hover,
.alertify-button:active,
.alertify-button:visited {
background: none;
text-decoration: none;
border: none;
/* line-height and font-size for input button */
line-height: 1.5;
font-size: 100%;
display: inline-block;
cursor: pointer;
margin-left: 5px;
}
@media only screen and (max-width: 680px) {
.alertify,
.alertify-logs {
width: 90%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.alertify {
left: 5%;
margin: 0;
}
}
/**
* Default Look and Feel
*/
.alertify,
.alertify-log {
font-family: sans-serif;
}
.alertify {
background: #FFF;
border: 10px solid #333; /* browsers that don't support rgba */
border: 10px solid rgba(0,0,0,.7);
border-radius: 8px;
box-shadow: 0 3px 3px rgba(0,0,0,.3);
-webkit-background-clip: padding; /* Safari 4? Chrome 6? */
-moz-background-clip: padding; /* Firefox 3.6 */
background-clip: padding-box; /* Firefox 4, Safari 5, Opera 10, IE 9 */
}
.alertify-text {
border: 1px solid #CCC;
padding: 10px;
border-radius: 4px;
}
.alertify-button {
border-radius: 4px;
color: #FFF;
font-weight: bold;
padding: 6px 15px;
text-decoration: none;
text-shadow: 1px 1px 0 rgba(0,0,0,.5);
box-shadow: inset 0 1px 0 0 rgba(255,255,255,.5);
background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
background-image: -moz-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
background-image: -ms-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
background-image: -o-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
background-image: linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
}
.alertify-button:hover,
.alertify-button:focus {
outline: none;
background-image: -webkit-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
background-image: -moz-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
background-image: -ms-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
background-image: -o-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
background-image: linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
}
.alertify-button:focus {
box-shadow: 0 0 15px #2B72D5;
}
.alertify-button:active {
position: relative;
box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
}
.alertify-button-cancel,
.alertify-button-cancel:hover,
.alertify-button-cancel:focus {
background-color: #FE1A00;
border: 1px solid #D83526;
}
.alertify-button-ok,
.alertify-button-ok:hover,
.alertify-button-ok:focus {
background-color: #5CB811;
border: 1px solid #3B7808;
}
.alertify-log {
background: #1F1F1F;
background: rgba(0,0,0,.9);
padding: 15px;
border-radius: 4px;
color: #FFF;
text-shadow: -1px -1px 0 rgba(0,0,0,.5);
}
.alertify-log-error {
background: #FE1A00;
background: rgba(254,26,0,.9);
}
.alertify-log-success {
background: #5CB811;
background: rgba(92,184,17,.9);
/*
background: #70AD47;
background: rgba(112, 173, 71, .9);
*/
}
\ No newline at end of file
......@@ -69,9 +69,13 @@
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>travel_expense_app.css</string> </value>
<value> <string>alertify.css</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -81,11 +85,13 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>travel_expense_app.css</string> </value>
<value> <string>gadget_hr_alertify_css</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value> <string>en</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
......@@ -99,11 +105,11 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Travel Expense APP CSS</string> </value>
<value> <string>21</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
<value> <string>0.3.11</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -185,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1472526693.82</float>
<float>1478773826.59</float>
<string>UTC</string>
</tuple>
</state>
......@@ -230,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>953.37464.51607.30515</string> </value>
<value> <string>955.11990.60314.54033</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -248,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1472525572.84</float>
<float>1478773882.26</float>
<string>UTC</string>
</tuple>
</state>
......@@ -271,7 +277,9 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -287,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -305,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1472523951.17</float>
<float>1478773769.88</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -69,9 +69,13 @@
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_travel_expense_standalone_jio.js</string> </value>
<value> <string>alertify.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -81,11 +85,13 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_travel_expense_standalone_jio.js</string> </value>
<value> <string>gadget_hr_alertify_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value> <string>en</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
......@@ -99,11 +105,11 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Travel Expense Standalone Jio Gadget JS</string> </value>
<value> <string>20</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
<value> <string>0.3.11</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -185,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1472526622.65</float>
<float>1478773888.72</float>
<string>UTC</string>
</tuple>
</state>
......@@ -230,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
<value> <string>955.11991.31431.2577</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -248,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1472523951.93</float>
<float>1478774280.95</float>
<string>UTC</string>
</tuple>
</state>
......@@ -271,7 +277,9 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -287,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -305,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1472523951.91</float>
<float>1478773758.32</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -66,7 +66,10 @@
<item>
<key> <string>categories</string> </key>
<value>
<tuple/>
<tuple>
<string>contributor/person_module/1</string>
<string>contributor/person_module/2</string>
</tuple>
</value>
</item>
<item>
......@@ -77,7 +80,7 @@
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_travel_expense_record_application.appcache</string> </value>
<value> <string>gadget_officejs_hr.appcache</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -87,7 +90,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_travel_expense_record_application.appcache</string> </value>
<value> <string>gadget_hr_appcache</string> </value>
</item>
<item>
<key> <string>language</string> </key>
......@@ -105,65 +108,106 @@
</item>
<item>
<key> <string>text_content</string> </key>
<value> <string>CACHE MANIFEST\n
# generated on Thu, 15 Oct 2015 17:15:51 +0800\n
# XXX + fonts ....\n
<value> <string encoding="cdata"><![CDATA[
CACHE MANIFEST\n
# generated on Fri, 09 Jun 2016 11:45:33 +0000\n
# XXX + fonts\n
# images/ajax-loader.gif\n
# version 1.0\n
CACHE:\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.eot?v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.woff?v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.ttf?v=4.2.0\n
https://cdn.jsdelivr.net/chartist.js/0.9.8/chartist.min.css\n
https://cdn.jsdelivr.net/chartist.js/0.9.8/chartist.min.js\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular\n
URI.js\n
dygraph.js\n
gadget_erp5.css\n
gadget_global.js\n
gadget_jio.html\n
gadget_jio.js\n
travel_expense_app.css\n
travel_expense_js_cookie.js\n
travel_expense_utility.js\n
travel_expense_megapix_image.js\n
travel_expense_excellentexport.min.js\n
gadget_translate.html\n
gadget_translate.js\n
handlebars.js\n
i18next.js\n
jiodev.js\n
travel_expense_jiodev_renderjs_storage.js\n
jquery.js\n
jquerymobile.css\n
jquerymobile.js\n
travel_expense_renderjs.js\n
renderjs.js\n
rsvp.js\n
gadget_travel_expense_jio.html\n
gadget_travel_expense_jio.js\n
gadget_travel_expense_jio_expense_record_module_add_expense_record.html\n
gadget_travel_expense_jio_expense_record_module_add_expense_record.js\n
gadget_travel_expense_jio_expense_record_module_view.html\n
gadget_travel_expense_jio_expense_record_module_view.js\n
gadget_travel_expense_jio_expense_record_view.html\n
gadget_travel_expense_jio_expense_record_view.js\n
gadget_travel_expense_page_login.html\n
gadget_travel_expense_page_login.js\n
gadget_travel_expense_page_setting.html\n
gadget_travel_expense_page_setting.js\n
gadget_travel_expense_page_sync.html\n
gadget_travel_expense_page_sync.js\n
gadget_travel_expense_page_report.html\n
gadget_travel_expense_page_report.js\n
gadget_travel_expense_record_application.html\n
gadget_travel_expense_record_application.js\n
gadget_travel_expense_standalone_jio.html\n
gadget_travel_expense_standalone_jio.js\n
gadget_travel_expense_translation.html\n
gadget_travel_expense_translation.js\n
gadget_travel_expense_translation_data.js\n
gadget_travel_expense_widget_listbox.html\n
gadget_travel_expense_widget_listbox.js\n
gadget_officejs_header.html\n
gadget_officejs_jio.html\n
gadget_officejs_page_add_document.html\n
gadget_officejs_page_login.html\n
gadget_officejs_page_logout.html\n
gadget_officejs_page_sync.html\n
gadget_translation.html\n
gadget_officejs_widget_listbox.html\n
gadget_erp5_editor_panel.html\n
gadget_erp5_editor_panel.js\n
gadget_officejs_header.js\n
gadget_officejs_jio.js\n
gadget_officejs_page_add_document.js\n
gadget_officejs_page_login.js\n
gadget_officejs_page_logout.js\n
gadget_officejs_page_sync.js\n
gadget_officejs_router.js\n
gadget_translation.js\n
gadget_translation_data.js\n
gadget_officejs_widget_listbox.js\n
erp5_launcher.js\n
erp5_launcher.html\n
\n
gadget_officejs_page_expense_report.html\n
gadget_officejs_page_expense_report.js\n
gadget_officejs_jio_expense_record_view.html\n
gadget_officejs_jio_expense_record_view.js\n
gadget_officejs_page_expense_record_list.html\n
gadget_officejs_page_expense_record_list.js\n
\n
gadget_officejs_page_leave_request_record_list.html\n
gadget_officejs_page_leave_request_record_list.js\n
gadget_officejs_page_add_leave_request_record.html\n
gadget_officejs_page_add_leave_request_record.js\n
gadget_officejs_jio_leave_request_record_view.html\n
gadget_officejs_jio_leave_request_record_view.js\n
\n
gadget_officejs_page_travel_request_record_list.html\n
gadget_officejs_page_travel_request_record_list.js\n
gadget_officejs_page_add_travel_request_record.html\n
gadget_officejs_page_add_travel_request_record.js\n
gadget_officejs_jio_travel_request_record_view.html\n
gadget_officejs_jio_travel_request_record_view.js\n
\n
\n
\n
alertify.css\n
alertify.js\n
expense_record_image.css\n
\n
gadget_officejs_expense_excellentexport.js\n
gadget_officejs_expense_xlsx.core.min.js\n
gadget_officejs_expense_filesaver.min.js\n
gadget_officejs_expense_tableexport.min.js\n
gadget_officejs_hr_router.html\n
gadget_officejs_hr_router.js\n
\n
gadget_officejs_hr_panel.html\n
gadget_officejs_application_panel.js\n
chartist.min.js\n
chartist.min.css\n
gadget_hr_jio.html\n
gadget_hr_jio.js\n
NETWORK:\n
*</string> </value>
*
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Travel Expense Record Application AppCache</string> </value>
<value> <string>RenderJS Gadget HR JS AppCache</string> </value>
</item>
<item>
<key> <string>version</string> </key>
......@@ -227,7 +271,7 @@ NETWORK:\n
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
<value> <string>supercedriclen</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -249,7 +293,7 @@ NETWORK:\n
</tuple>
<state>
<tuple>
<float>1472527126.62</float>
<float>1481818156.45</float>
<string>UTC</string>
</tuple>
</state>
......@@ -280,7 +324,7 @@ NETWORK:\n
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
<value> <string>supercedriclen</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -294,7 +338,7 @@ NETWORK:\n
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>953.46532.22360.47496</string> </value>
<value> <string>955.64169.17995.61457</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -312,7 +356,7 @@ NETWORK:\n
</tuple>
<state>
<tuple>
<float>1473070350.4</float>
<float>1481818221.17</float>
<string>UTC</string>
</tuple>
</state>
......@@ -339,7 +383,7 @@ NETWORK:\n
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
<value> <string>supercedriclen</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -369,7 +413,7 @@ NETWORK:\n
</tuple>
<state>
<tuple>
<float>1472527025.1</float>
<float>1481818046.36</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -63,21 +63,19 @@
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_travel_expense_widget_listbox.js</string> </value>
<value> <string>chartist.min.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -87,11 +85,13 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_travel_expense_widget_listbox.js</string> </value>
<value> <string>gadget_hr_chartist_min_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value> <string>en</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
......@@ -105,11 +105,13 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Travel Expense Widget Listbox JS</string> </value>
<value> <string>Gadget Officejs chartist.min.js</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -191,7 +193,7 @@
</tuple>
<state>
<tuple>
<float>1472526622.59</float>
<float>1478709106.75</float>
<string>UTC</string>
</tuple>
</state>
......@@ -236,7 +238,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
<value> <string>955.10911.51080.4676</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -254,7 +256,7 @@
</tuple>
<state>
<tuple>
<float>1472523952.12</float>
<float>1478709119.14</float>
<string>UTC</string>
</tuple>
</state>
......@@ -311,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1472523952.1</float>
<float>1478709072.41</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -69,9 +69,13 @@
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>travel_expense_jiodev_renderjs_storage.js</string> </value>
<value> <string>gadget_officejs_expense_excellentexport.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -81,11 +85,13 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>travel_expense_jiodev_renderjs_storage.js</string> </value>
<value> <string>gadget_hr_expense_excellentexport_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value> <string>en</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
......@@ -99,13 +105,13 @@
</item>
<item>
<key> <string>title</string> </key>
<value>
<none/>
</value>
<value> <string>Gadget Office Expense Excellentexport JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -187,7 +193,7 @@
</tuple>
<state>
<tuple>
<float>1472538527.56</float>
<float>1478708901.0</float>
<string>UTC</string>
</tuple>
</state>
......@@ -232,7 +238,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>953.37690.25781.51865</string> </value>
<value> <string>955.10908.58609.50961</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -250,7 +256,7 @@
</tuple>
<state>
<tuple>
<float>1472537912.78</float>
<float>1478708962.57</float>
<string>UTC</string>
</tuple>
</state>
......@@ -307,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1472537866.62</float>
<float>1478708896.2</float>
<string>UTC</string>
</tuple>
</state>
......
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
var saveAs=saveAs||function(e){"use strict";if(typeof e==="undefined"||typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var t=e.document,n=function(){return e.URL||e.webkitURL||e},r=t.createElementNS("http://www.w3.org/1999/xhtml","a"),o="download"in r,i=function(e){var t=new MouseEvent("click");e.dispatchEvent(t)},a=/constructor/i.test(e.HTMLElement),f=/CriOS\/[\d]+/.test(navigator.userAgent),u=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},d="application/octet-stream",s=1e3*40,c=function(e){var t=function(){if(typeof e==="string"){n().revokeObjectURL(e)}else{e.remove()}};setTimeout(t,s)},l=function(e,t,n){t=[].concat(t);var r=t.length;while(r--){var o=e["on"+t[r]];if(typeof o==="function"){try{o.call(e,n||e)}catch(i){u(i)}}}},p=function(e){if(/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)){return new Blob([String.fromCharCode(65279),e],{type:e.type})}return e},v=function(t,u,s){if(!s){t=p(t)}var v=this,w=t.type,m=w===d,y,h=function(){l(v,"writestart progress write writeend".split(" "))},S=function(){if((f||m&&a)&&e.FileReader){var r=new FileReader;r.onloadend=function(){var t=f?r.result:r.result.replace(/^data:[^;]*;/,"data:attachment/file;");var n=e.open(t,"_blank");if(!n)e.location.href=t;t=undefined;v.readyState=v.DONE;h()};r.readAsDataURL(t);v.readyState=v.INIT;return}if(!y){y=n().createObjectURL(t)}if(m){e.location.href=y}else{var o=e.open(y,"_blank");if(!o){e.location.href=y}}v.readyState=v.DONE;h();c(y)};v.readyState=v.INIT;if(o){y=n().createObjectURL(t);setTimeout(function(){r.href=y;r.download=u;i(r);h();c(y);v.readyState=v.DONE});return}S()},w=v.prototype,m=function(e,t,n){return new v(e,t||e.name||"download",n)};if(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob){return function(e,t,n){t=t||e.name||"download";if(!n){e=p(e)}return navigator.msSaveOrOpenBlob(e,t)}}w.abort=function(){};w.readyState=w.INIT=0;w.WRITING=1;w.DONE=2;w.error=w.onwritestart=w.onprogress=w.onwrite=w.onabort=w.onerror=w.onwriteend=null;return m}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module.exports){module.exports.saveAs=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!==null){define([],function(){return saveAs})}
\ No newline at end of file
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Text Editor List</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_officejs_page_expense_record_list.js"></script>
</head>
<body>
<div data-gadget-url="gadget_officejs_widget_listbox.html" data-gadget-scope="listbox"></div>
</body>
</html>
......@@ -66,7 +66,10 @@
<item>
<key> <string>categories</string> </key>
<value>
<tuple/>
<tuple>
<string>contributor/person_module/1</string>
<string>contributor/person_module/2</string>
</tuple>
</value>
</item>
<item>
......@@ -80,14 +83,16 @@
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>contributors</string> </key>
<key> <string>creators</string> </key>
<value>
<tuple/>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_travel_expense_jio_expense_record_module_add_expense_record.html</string> </value>
<value> <string>gadget_officejs_page_expense_record_list.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -97,11 +102,32 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_travel_expense_jio_expense_record_module_add_expense_record.html</string> </value>
<value> <string>gadget_hr_expense_record_html</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value> <string>en</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284352.14</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
......@@ -115,11 +141,13 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Travel Expense Record Jio Expense Record Module Add Expense Record</string> </value>
<value> <string>OfficeJS expense record List</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -201,7 +229,7 @@
</tuple>
<state>
<tuple>
<float>1472526672.66</float>
<float>1478705816.11</float>
<string>UTC</string>
</tuple>
</state>
......@@ -232,7 +260,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
<value> <string>supercedriclen</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -246,7 +274,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>953.40592.27546.51592</string> </value>
<value> <string>955.64155.37573.64068</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -264,7 +292,7 @@
</tuple>
<state>
<tuple>
<float>1472712088.95</float>
<float>1481817340.76</float>
<string>UTC</string>
</tuple>
</state>
......@@ -321,7 +349,7 @@
</tuple>
<state>
<tuple>
<float>1472523951.35</float>
<float>1478705720.83</float>
<string>UTC</string>
</tuple>
</state>
......
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