diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_html.html b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_html.html
new file mode 100644
index 0000000000000000000000000000000000000000..30065e066691ade5eb5b842751594757bdc471d4
--- /dev/null
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_html.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<!--
+   data-i18n=User
+   data-i18n=Language
+   data-i18n=Update
+ -->
+  <head>
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+    <meta name="viewport" content="width=device-width" />
+    <title>ERP5 Page Language</title>
+    <link rel="http://www.renderjs.org/rel/interface" href="interface_page.html">
+
+    <!-- renderjs -->
+    <script src="rsvp.js" type="text/javascript"></script>
+    <script src="renderjs.js" type="text/javascript"></script>
+    <script src="handlebars.js" type="text/javascript"></script>
+
+    <script id="dialog-button-template" type="text/x-handlebars-template">
+      <input name="action_update" type="submit" value="{{button_text}}"></input>
+    </script>
+    <script src="gadget_erp5_page_slap_access_denied_view.js" type="text/javascript"></script>
+
+  </head>
+  <body>
+    <form>
+      <button type="submit" class="ui-icon-edit ui-btn-icon-right ui-screen-hidden"></button>
+      <div data-gadget-url="gadget_erp5_form.html"
+          data-gadget-scope="erp5_form"
+          data-gadget-sandbox="public">
+      </div>
+      <input type="submit" />
+    </form>
+  </body>
+</html>
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_html.xml b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_html.xml
new file mode 100644
index 0000000000000000000000000000000000000000..16a7661c11c1d9741f5044e03d43e3ef5a874057
--- /dev/null
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_html.xml
@@ -0,0 +1,325 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Page" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <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>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_erp5_page_slap_access_denied_view.html</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>rjs_gadget_erp5_page_slap_access_denied_view_html</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value> <string>en</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Page</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Gadget SlapOS Access Denied View</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>003</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <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>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</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>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1576492033.13</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+        <none/>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>zope</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>980.35642.21160.39253</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</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>1576598237.42</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+        <none/>
+      </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>1576491929.3</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+        <none/>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_js.js b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_js.js
new file mode 100644
index 0000000000000000000000000000000000000000..90d033efb7e785b1e34effa5b0f0f2712a2828ef
--- /dev/null
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_js.js
@@ -0,0 +1,101 @@
+/*global window, rJS, RSVP, Handlebars, UriTemplate */
+/*jslint nomen: true, indent: 2, maxerr: 3 */
+(function (window, rJS, RSVP, Handlebars, UriTemplate) {
+  "use strict";
+  var gadget_klass = rJS(window),
+    dialog_button_source = gadget_klass.__template_element
+                         .getElementById("dialog-button-template")
+                         .innerHTML,
+    dialog_button_template = Handlebars.compile(dialog_button_source);
+
+  gadget_klass
+    .declareAcquiredMethod("getUrlForList", "getUrlForList")
+    .declareAcquiredMethod("updateHeader", "updateHeader")
+    .declareAcquiredMethod("jio_getAttachment", "jio_getAttachment")
+    .declareAcquiredMethod("translate", "translate")
+    .declareAcquiredMethod("getUrlFor", "getUrlFor")
+    .declareAcquiredMethod("redirect", "redirect")
+
+    /////////////////////////////////////////////////////////////////
+    // declared methods
+    /////////////////////////////////////////////////////////////////
+    .declareMethod("render", function () {
+      var gadget = this;
+
+      return new RSVP.Queue()
+        .push(function () {
+          return RSVP.all([
+            gadget.getUrlForList([{command: 'display'}]),
+            gadget.getDeclaredGadget("erp5_form"),
+            gadget.translate("You are not allowed to access this content, please login with an user which has the right permission")
+          ]);
+        })
+        .push(function (result_list) {
+          var user,
+            key,
+            list_item = [];
+
+          return RSVP.all([
+            gadget.updateHeader({
+              page_title: 'Error page',
+              front_url: result_list[0][0]
+            }),
+
+            result_list[1].render({
+              erp5_document: {"_embedded": {"_view": {
+                'Message': {
+                  "default": result_list[2],
+                  "editable": 0,
+                  "key": "field_message",
+                  "title": "",
+                  "type": "StringField"
+                }
+              }},
+                "_links": {
+                  "type": {
+                    name: ""
+                  }
+                }
+                },
+                form_definition: {
+                  group_list: [[
+                    "left",
+                    [["Message"]]
+                  ]]
+                }
+              })
+            ]);
+        })
+        .push(function () {
+          return gadget.translate('Logout');
+        })
+        .push(function (translated_text) {
+          gadget.element.querySelector('input').value = translated_text;
+        });
+    })
+      .onEvent('submit', function () {
+        var gadget = this,
+          logout_url_template;
+
+        return gadget.jio_getAttachment('acl_users', 'links')
+        .push(function (links) {
+          logout_url_template = links._links.logout.href;
+          return gadget.getUrlFor({
+            command: 'display',
+            absolute_url: true,
+            options: {}
+          });
+        })
+        .push(function (came_from) {
+          return gadget.redirect({
+            command: 'raw',
+            options: {
+              url: UriTemplate.parse(logout_url_template).expand({came_from: came_from})
+            }
+          });
+        });
+      })
+    .declareMethod("triggerSubmit", function () {
+      return;
+    });
+}(window, rJS, RSVP, Handlebars, UriTemplate));
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_js.xml b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_js.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d206cde446d3e739ec0149a151b40814e23e2ba6
--- /dev/null
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_js.xml
@@ -0,0 +1,321 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Script" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <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>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_erp5_page_slap_access_denied_view.js</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>rjs_gadget_erp5_page_slap_access_denied_view_js</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value> <string>en</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Script</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Gadget SlapOS Access Denied View</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>003</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <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>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</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>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1576492288.33</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+        <none/>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>zope</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>980.38250.49558.15530</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</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>1576752736.24</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+        <none/>
+      </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>1576492220.61</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+        <none/>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_html.html b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_html.html
index 6c6d3abdc977530de855d2b384a32999ffbcd32d..66e9693adc3a522782f2369f9fbac76b2cb3e7fc 100644
--- a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_html.html
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_html.html
@@ -9,6 +9,7 @@
     <script src="renderjs.js" type="text/javascript"></script>
 
     <!-- custom script -->
+    <script src="gadget_slapos_utils.js" type="text/javascript"></script>
     <script src="gadget_erp5_page_slap_controller.js" type="text/javascript"></script>
 
   </head>
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_html.xml b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_html.xml
index bd46a49af348e0a79bae6e2a3d56e4b6f6566508..9d8ffd7ca34c2f7de4ab0d891979f4606de42bf9 100644
--- a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_html.xml
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_html.xml
@@ -202,6 +202,7 @@
             </item>
           </dictionary>
         </list>
+        <none/>
       </tuple>
     </pickle>
   </record>
@@ -234,7 +235,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>962.57488.48170.50312</string> </value>
+                <value> <string>980.6873.14525.36027</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -252,7 +253,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1508424107.98</float>
+                        <float>1576490697.25</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
@@ -261,6 +262,7 @@
             </item>
           </dictionary>
         </list>
+        <none/>
       </tuple>
     </pickle>
   </record>
@@ -318,6 +320,7 @@
             </item>
           </dictionary>
         </list>
+        <none/>
       </tuple>
     </pickle>
   </record>
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_js.js b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_js.js
index be7614041aa85c7195706bce0832d06909857057..12dbda3a902992d26782ff29e36e9a45da2772b0 100644
--- a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_js.js
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_js.js
@@ -49,7 +49,7 @@
       var gadget = this,
         child_gadget_url;
 
-      return gadget.jio_get(options.jio_key)
+      return window.getValidDocument(gadget, options.jio_key)
         .push(function (result) {
 
           if (result.portal_type === "Support Request Module") {
@@ -77,6 +77,12 @@
             throw new Error('Can not display document: ' + options.jio_key);
           }
 
+          if (child_gadget_url === 'gadget_erp5_page_slap_access_denied_view.html') {
+            // if user try to access a document without correct permission
+            // user will be redirected to this page, in this case, set the jio_key
+            // to null to avoid some further processing.
+            options.jio_key = null;
+          }
           return gadget.changeState({
             jio_key: options.jio_key,
             doc: result,
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_js.xml b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_js.xml
index a8f908cc2166f0166c1169e2608460126fee13d0..2bd4b45bee2e26cde4657764b7232ef838081fcc 100644
--- a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_js.xml
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_controller_js.xml
@@ -198,6 +198,7 @@
             </item>
           </dictionary>
         </list>
+        <none/>
       </tuple>
     </pickle>
   </record>
@@ -230,7 +231,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>978.36745.20465.19319</string> </value>
+                <value> <string>980.35642.57629.14574</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -248,7 +249,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1568971515.61</float>
+                        <float>1576597179.41</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
@@ -257,6 +258,7 @@
             </item>
           </dictionary>
         </list>
+        <none/>
       </tuple>
     </pickle>
   </record>
@@ -314,6 +316,7 @@
             </item>
           </dictionary>
         </list>
+        <none/>
       </tuple>
     </pickle>
   </record>
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_panel_html.html b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_panel_html.html
index e04213ef6fddab31ec3e7bf499552468fcd4330a..4d0ba9aaa4724d9c65c8821fbf112004b73e920e 100644
--- a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_panel_html.html
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_panel_html.html
@@ -57,6 +57,7 @@
       </div>
     </script>
     <!-- custom script -->
+    <script src="gadget_slapos_utils.js" type="text/javascript"></script>
     <script src="gadget_slapos_panel.js" type="text/javascript"></script>
 
   </head>
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_panel_html.xml b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_panel_html.xml
index a04bc7df678cee616686250fcfa659049e0bb416..c2316b7c0e9e385f0ad2a7486bea06f89cebfb1c 100644
--- a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_panel_html.xml
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_panel_html.xml
@@ -202,6 +202,7 @@
             </item>
           </dictionary>
         </list>
+        <none/>
       </tuple>
     </pickle>
   </record>
@@ -234,7 +235,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>974.61786.203.13243</string> </value>
+                <value> <string>980.6873.14525.36027</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -252,7 +253,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1554918794.64</float>
+                        <float>1576494063.72</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
@@ -261,6 +262,7 @@
             </item>
           </dictionary>
         </list>
+        <none/>
       </tuple>
     </pickle>
   </record>
@@ -318,6 +320,7 @@
             </item>
           </dictionary>
         </list>
+        <none/>
       </tuple>
     </pickle>
   </record>
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_utils_js.js b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_utils_js.js
index 3d68ea0932c0ca30501990eba83ada0d0d6a712d..a24217a14e9cb9fd6377358d6b736f0d4625b438 100644
--- a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_utils_js.js
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_utils_js.js
@@ -41,4 +41,13 @@
         return redirectToLoginPage(gadget);
       });
   };
+  window.getValidDocument = function getValidDocument(gadget, jio_key) {
+    return new RSVP.Queue()
+      .push(function () {
+        return gadget.jio_get(jio_key);
+      })
+      .push(undefined, function (error) {
+        return {"portal_type": "access_denied"};
+      });
+  };
 }(window, RSVP, UriTemplate));
\ No newline at end of file
diff --git a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_utils_js.xml b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_utils_js.xml
index acd97b38aa6f166f9e4af5ea1f1ab3667f5e25f3..3067f71cf1ffe5bdab3499079dc4f680cddf9ab5 100644
--- a/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_utils_js.xml
+++ b/master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_utils_js.xml
@@ -229,7 +229,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>980.28540.27588.10854</string> </value>
+                <value> <string>980.35650.56461.57958</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -247,7 +247,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1576170214.7</float>
+                        <float>1576597139.51</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/master/bt5/slapos_jio/bt/template_keep_last_workflow_history_only_path_list b/master/bt5/slapos_jio/bt/template_keep_last_workflow_history_only_path_list
index 8a8f092e2aeb631a502338a6bf50389c533412d7..bbbebe7de64223e5f97e68c89da5965bf4a64453 100644
--- a/master/bt5/slapos_jio/bt/template_keep_last_workflow_history_only_path_list
+++ b/master/bt5/slapos_jio/bt/template_keep_last_workflow_history_only_path_list
@@ -61,6 +61,8 @@ web_page_module/rjs_gadget_erp5_page_slap_google_login_view_html
 web_page_module/rjs_gadget_erp5_page_slap_google_login_view_js
 web_page_module/rjs_gadget_erp5_page_slap_hosting_subscription_view_html
 web_page_module/rjs_gadget_erp5_page_slap_hosting_subscription_view_js
+web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_html
+web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_js
 web_page_module/rjs_gadget_erp5_page_slap_intent_html
 web_page_module/rjs_gadget_erp5_page_slap_intent_js
 web_page_module/rjs_gadget_erp5_page_slap_invalidate_login_html
diff --git a/master/bt5/slapos_jio/bt/template_path_list b/master/bt5/slapos_jio/bt/template_path_list
index 376ef4aac919280a4dc66d7dfd5e213aac2d32c2..e9f69301609508daedd6f003d5247ba65ee138c9 100644
--- a/master/bt5/slapos_jio/bt/template_path_list
+++ b/master/bt5/slapos_jio/bt/template_path_list
@@ -9,6 +9,8 @@ web_page_module/rjs_gadget_erp5_page_map_html
 web_page_module/rjs_gadget_erp5_page_map_js
 web_page_module/rjs_gadget_erp5_page_slap_accept_upgrade_decision_html
 web_page_module/rjs_gadget_erp5_page_slap_accept_upgrade_decision_js
+web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_html
+web_page_module/rjs_gadget_erp5_page_slap_access_denied_view_js
 web_page_module/rjs_gadget_erp5_page_slap_add_computer_html
 web_page_module/rjs_gadget_erp5_page_slap_add_computer_js
 web_page_module/rjs_gadget_erp5_page_slap_add_hosting_subscription_html