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')
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']
}
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]
portal_type = action['query'].get('portal_type', None)
if (portal_type):
if not same_type(portal_type, ''):
portal_type = portal_type[0]
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
worklist_module_id = portal.getDefaultModuleId(portal_type, default=None, only_visible=True)
if (worklist_module_id is not None):
work_list.append({
'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 % {
"relative_url": worklist_module_id
}
})
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,14 +12,23 @@
function repair_and_redirect(gadget) {
gadget.props.element.querySelector("button").disabled = true;
return new RSVP.Queue()
.push(function () {
return gadget.repair()
})
.push(function (result) {
if (result !== undefined && result.hasOwnProperty('redirect')){
return gadget.redirect(result.redirect);
}
return gadget.redirect({});
.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({});
});
});
}
......@@ -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;
return gadget.updateHeader({
title: "Synchronisation"
})
gadget.props.options = options;
return new RSVP.Queue()
.push(function () {
return gadget.translateHtml(template());
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: "Nouvelle " + gadget.props.document_title
});
})
.push(function (html) {
gadget.props.element.innerHTML = html;
.push(function () {
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>
.preview {
border-radius: 5px;
cursor: pointer;
transition: 0.3s;
}
.preview:hover {opacity: 0.7;}
/* The Modal (background) */
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 20; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}
/* Modal Content (Image) */
.modal-content {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
}
/* Caption of Modal Image (Image Text) - Same Width as the Image */
#caption {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
text-align: center;
color: #ccc;
padding: 10px 0;
height: 150px;
}
/* Add Animation - Zoom in the Modal */
.modal-content, #caption {
-webkit-animation-name: zoom;
-webkit-animation-duration: 0.6s;
animation-name: zoom;
animation-duration: 0.6s;
}
@-webkit-keyframes zoom {
from {-webkit-transform:scale(0)}
to {-webkit-transform:scale(1)}
}
@keyframes zoom {
from {transform:scale(0)}
to {transform:scale(1)}
}
/* The Close Button */
.close {
position: absolute;
top: 15px;
right: 35px;
color: #f1f1f1;
font-size: 40px;
font-weight: bold;
transition: 0.3s;
}
.close:hover,
.close:focus {
color: #bbb;
text-decoration: none;
cursor: pointer;
}
/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px){
.modal-content {
width: 100%;
}
}
\ No newline at end of file
/*!
* TableExport.js v3.2.10 (https://www.travismclarke.com)
* Copyright 2016 Travis Clarke
* Licensed under the MIT license
*/
!function(t,e){"function"==typeof define&&define.amd?define(["exports","jquery","file-saver","xlsx"],e):"object"==typeof exports&&"string"!=typeof exports.nodeName?e(exports,require("jquery"),require("file-saver"),require("xlsx")):e(t,t.jQuery,t.saveAs,t.XLSX)}(this,function(t,e,n,o){"use strict";var i=function(t,n,r){var s=this;s.settings=r?n:e.extend({},i.prototype.defaults,n),s.selectors=t;var a,p,f,l=i.prototype.rowDel,u=s.settings.ignoreRows instanceof Array?s.settings.ignoreRows:[s.settings.ignoreRows],c=s.settings.ignoreCols instanceof Array?s.settings.ignoreCols:[s.settings.ignoreCols],x=s.settings.ignoreCSS instanceof Array?s.settings.ignoreCSS.join(", "):s.settings.ignoreCSS;return s.settings.bootstrap?(a=i.prototype.bootstrap[0]+" ",p=i.prototype.bootstrap[1]+" ",f=i.prototype.bootstrap[2]+" "):(a=i.prototype.defaultButton+" ",p=f=""),s.selectors.each(function(){function t(t){var e=d.find("caption:not(.head)");e.length?e.append(t):d.prepend('<caption class="'+f+s.settings.position+'">'+t+"</caption>")}function n(e,n,o){var i="<button data-fileblob='"+e+"' class='"+a+p+o+"'>"+n+"</button>";t(i)}var d=e(this);r&&d.find("caption:not(.head)").remove();var y=d.find("tbody").find("tr"),y=s.settings.headings?y.add(d.find("thead>tr")):y,y=s.settings.footers?y.add(d.find("tfoot>tr")):y,m=s.settings.headings?d.find("thead>tr").length:0,g="id"===s.settings.fileName?d.attr("id")?d.attr("id"):i.prototype.defaultFileName:s.settings.fileName,h={xlsx:function(t,o){var r={},s=y.map(function(t,n){if(!~u.indexOf(t-m)&&!e(n).is(x)){var o=e(n).find("th, td");return[o.map(function(n,o){if(!~c.indexOf(n)&&!e(o).is(x)){if(o.hasAttribute("colspan")&&(r[t]=r[t]||{},r[t][n+1]=o.getAttribute("colspan")-1),o.hasAttribute("rowspan"))for(var i=1;i<o.getAttribute("rowspan");i++)r[t+i]=r[t+i]||{},r[t+i][n]=1;return r[t]&&r[t][n]?new Array(r[t][n]).concat(e(o).text()):e(o).text()}}).get()]}}).get(),a=i.prototype.escapeHtml(JSON.stringify({data:s,fileName:o,mimeType:i.prototype.xlsx.mimeType,fileExtension:i.prototype.xlsx.fileExtension})),p=i.prototype.xlsx.buttonContent,f=i.prototype.xlsx.defaultClass;n(a,p,f)},xlsm:function(t,o){var r={},s=y.map(function(t,n){if(!~u.indexOf(t-m)&&!e(n).is(x)){var o=e(n).find("th, td");return[o.map(function(n,o){if(!~c.indexOf(n)&&!e(o).is(x)){if(o.hasAttribute("colspan")&&(r[t]=r[t]||{},r[t][n+1]=o.getAttribute("colspan")-1),o.hasAttribute("rowspan"))for(var i=1;i<o.getAttribute("rowspan");i++)r[t+i]=r[t+i]||{},r[t+i][n]=1;return r[t]&&r[t][n]?new Array(r[t][n]).concat(e(o).text()):e(o).text()}}).get()]}}).get(),a=i.prototype.escapeHtml(JSON.stringify({data:s,fileName:o,mimeType:i.prototype.xls.mimeType,fileExtension:i.prototype.xls.fileExtension})),p=i.prototype.xls.buttonContent,f=i.prototype.xls.defaultClass;n(a,p,f)},xls:function(t,o){var r=i.prototype.xls.separator,s=y.map(function(t,n){if(!~u.indexOf(t-m)&&!e(n).is(x)){var o=e(n).find("th, td");return o.map(function(t,n){if(!~c.indexOf(t)&&!e(n).is(x))return e(n).text()}).get().join(r)}}).get().join(t),a=i.prototype.escapeHtml(JSON.stringify({data:s,fileName:o,mimeType:i.prototype.xls.mimeType,fileExtension:i.prototype.xls.fileExtension})),p=i.prototype.xls.buttonContent,f=i.prototype.xls.defaultClass;n(a,p,f)},csv:function(t,o){var r=i.prototype.csv.separator,s=y.map(function(t,n){if(!~u.indexOf(t-m)&&!e(n).is(x)){var o=e(n).find("th, td");return o.map(function(t,n){if(!~c.indexOf(t)&&!e(n).is(x))return e(n).text()}).get().join(r)}}).get().join(t),a=i.prototype.escapeHtml(JSON.stringify({data:s,fileName:o,mimeType:i.prototype.csv.mimeType,fileExtension:i.prototype.csv.fileExtension})),p=i.prototype.csv.buttonContent,f=i.prototype.csv.defaultClass;n(a,p,f)},txt:function(t,o){var r=i.prototype.txt.separator,s=y.map(function(t,n){if(!~u.indexOf(t-m)&&!e(n).is(x)){var o=e(n).find("th, td");return o.map(function(t,n){if(!~c.indexOf(t)&&!e(n).is(x))return e(n).text()}).get().join(r)}}).get().join(t),a=i.prototype.escapeHtml(JSON.stringify({data:s,fileName:o,mimeType:i.prototype.txt.mimeType,fileExtension:i.prototype.txt.fileExtension})),p=i.prototype.txt.buttonContent,f=i.prototype.txt.defaultClass;n(a,p,f)}};s.settings.formats.forEach(function(t){!(!o||"xls"!==t)&&(t="xlsm"),!o&&"xlsx"===t&&(t=null),t&&h[t](l,g)})}),e("button[data-fileblob]").off("click").on("click",function(){var t=e(this).data("fileblob"),n=t.data,o=t.fileName,r=t.mimeType,s=t.fileExtension;i.prototype.export2file(n,r,o,s)}),s};i.prototype={defaults:{headings:!0,footers:!0,formats:["xls","csv","txt"],fileName:"id",bootstrap:!0,position:"bottom",ignoreRows:null,ignoreCols:null,ignoreCSS:".tableexport-ignore"},charset:"charset=utf-8",defaultFileName:"myDownload",defaultButton:"button-default",bootstrap:["btn","btn-default","btn-toolbar"],rowDel:"\r\n",entityMap:{"&":"&#38;","<":"&#60;",">":"&#62;","'":"&#39;","/":"&#47"},xlsx:{defaultClass:"xlsx",buttonContent:"Export to xlsx",mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",fileExtension:".xlsx"},xls:{defaultClass:"xls",buttonContent:"Export to xls",separator:"\t",mimeType:"application/vnd.ms-excel",fileExtension:".xls"},csv:{defaultClass:"csv",buttonContent:"Export to csv",separator:",",mimeType:"application/csv",fileExtension:".csv"},txt:{defaultClass:"txt",buttonContent:"Export to txt",separator:" ",mimeType:"text/plain",fileExtension:".txt"},escapeHtml:function(t){return String(t).replace(/[&<>'\/]/g,function(t){return i.prototype.entityMap[t]})},dateNum:function(t,e){e&&(t+=1462);var n=Date.parse(t);return(n-new Date(Date.UTC(1899,11,30)))/864e5},createSheet:function(t){for(var e={},n={s:{c:1e7,r:1e7},e:{c:0,r:0}},i=0;i!=t.length;++i)for(var r=0;r!=t[i].length;++r){n.s.r>i&&(n.s.r=i),n.s.c>r&&(n.s.c=r),n.e.r<i&&(n.e.r=i),n.e.c<r&&(n.e.c=r);var s={v:t[i][r]};if(null!=s.v){var a=o.utils.encode_cell({c:r,r:i});"number"==typeof s.v?s.t="n":"boolean"==typeof s.v?s.t="b":s.v instanceof Date?(s.t="n",s.z=o.SSF._table[14],s.v=this.dateNum(s.v)):s.t="s",e[a]=s}}return n.s.c<1e7&&(e["!ref"]=o.utils.encode_range(n)),e},Workbook:function(){this.SheetNames=[],this.Sheets={}},string2ArrayBuffer:function(t){for(var e=new ArrayBuffer(t.length),n=new Uint8Array(e),o=0;o!=t.length;++o)n[o]=255&t.charCodeAt(o);return e},export2file:function(t,e,i,r){if(o&&r.startsWith(".xls")){var s=new this.Workbook,a=this.createSheet(t);s.SheetNames.push(i),s.Sheets[i]=a;var p={bookType:r.substr(1,3)+(r.substr(4)||"m"),bookSST:!1,type:"binary"},f=o.write(s,p);t=this.string2ArrayBuffer(f)}n(new Blob([t],{type:e+";"+this.charset}),i+r)},update:function(t){return new i(this.selectors,e.extend({},this.settings,t),(!0))},reset:function(){return new i(this.selectors,settings,(!0))},remove:function(){this.selectors.each(function(){e(this).find("caption:not(.head)").remove()})}},e.fn.tableExport=function(t,e){return new i(this,t,e)};for(var r in i.prototype)e.fn.tableExport[r]=i.prototype[r];t["default"]=t.TableExport=i});
\ No newline at end of file
......@@ -4,16 +4,15 @@
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title>Jio Gadget</title>
<link rel="stylesheet" type="text/css" href="alertify.css" />
<!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script>
<script src="travel_expense_renderjs.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<script src="jiodev.js" type="text/javascript"></script>
<script src="travel_expense_jiodev_renderjs_storage.js" type="text/javascript"></script>
<script src="alertify.js" type="text/javascript"></script>
<!-- custom script -->
<script src="gadget_travel_expense_standalone_jio.js" type="text/javascript"></script>
<script src="gadget_hr_jio.js" type="text/javascript"></script>
</head>
<body>
......
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