Hi!
Sorry i was totally wrong not posting it in the first place
So here are some js error from console:
Uncaught TypeError: $(...).bmdRipples is not a function
at run_bvr (eval at spt.behavior.run_cbjs (behavior.js?ver=4.8.0.a01:254), <anonymous>:2:15)
at Object.spt.behavior.run_cbjs (behavior.js?ver=4.8.0.a01:259)
at Object.spt.behavior.process_load_behaviors (behavior.js?ver=4.8.0.a01:1341)
at Object.spt.behavior._construct_behaviors (behavior.js?ver=4.8.0.a01:1279)
at Object.spt.behavior.construct_behaviors_on_startup (behavior.js?ver=4.8.0.a01:395)
at Object.spt.onload_startup (spt_onload_startup.js?ver=4.8.0.a01:18)
at onload ((index):67)
And one more:
Uncaught TypeError: $(...).bootstrapMaterialDesign is not a function
at HTMLDocument.<anonymous> ((index):224)
at e (jquery-3.4.1.min.js:2)
at t (jquery-3.4.1.min.js:2)
Here is error from server-side:
ERROR DURING TASK EXECUTION
Traceback (most recent call last):
File "/home/apache/tactic/src/tactic/command/kronos.py", line 842, in threadedcall
self.execute()
File "/home/apache/tactic/src/tactic/command/kronos.py", line 490, in execute
self.action(*self.args, **self.kw)
File "/home/apache/tactic/src/tactic/command/scheduler.py", line 237, in _do_execute
Batch(site=self.site, login_code=self.user, project_code=self.project,ticket=self.login_ticket)
File "/home/apache/tactic/src/pyasm/security/batch.py", line 60, in __init__
self._do_login()
File "/home/apache/tactic/src/pyasm/security/batch.py", line 86, in _do_login
security.login_as_batch(self.login_code, ticket=self.ticket)
File "/home/apache/tactic/src/pyasm/security/security.py", line 1453, in login_as_batch
self._login = Login.get_by_login(login_name, use_upn=True)
File "/home/apache/tactic/src/pyasm/security/security.py", line 255, in get_by_login
search = Search("sthpw/login")
File "/home/apache/tactic/src/pyasm/search/search.py", line 102, in __init__
project = Project.get_by_code(project_code)
File "/home/apache/tactic/src/pyasm/biz/project.py", line 223, in get_by_code
return super(Project, cls).get_by_code(project_name)
File "/home/apache/tactic/src/pyasm/search/search.py", line 5609, in get_by_code
search = Search( cls.SEARCH_TYPE )
File "/home/apache/tactic/src/pyasm/search/search.py", line 229, in __init__
raise SearchException('This database [%s] does not exist' %self.database)
pyasm.search.search.SearchException: This database [sthpw] does not exist
And one more:
user: admin
simple method: <function ApiXMLRPC.get_widget at 0x7f2d57de9170>
ticket: 6ff5033530698d4ad51
( 'tactic.ui.bootstrap_app.bootstrap_index_wdg.BootstrapSideBarPanelWdg',
{ 'args': { 'bvr_list': '[{"type": "load", "cbjs_action": '
'"\\nspt.side_bar = {};\\n// Side bar panel '
'functionality\\n//\\n//\\nspt.side_bar.load_section '
'= function(evt, bvr)\\n{\\nvar dst_el = '
'bvr.dst_el;\\nvar options = bvr.options;\\n// '
'get the class name from the destination '
'element\\nvar top_el = '
'dst_el.firstChild\\nvar class_name = '
'top_el.getAttribute(\\"spt_class_name\\")\\nEffects.fade_out(dst_el, '
'150);\\nvar server = '
'TacticServerStub.get();\\nvar kwargs = '
"{'args': options};\\nvar widget_html = "
'server.get_widget(class_name, '
'kwargs);\\nspt.behavior.replace_inner_html( '
'dst_el, widget_html '
');\\nEffects.fade_in(dst_el, 150);\\n}\\n// '
'Displays a table to a target id\\n//\\n// '
'behavior:\\n// target_id: the target id '
'element that the table will be put in\\n// '
'search_type: the search_type of the sobjects '
'in the table\\n// view: the view of the '
'table\\n//\\nspt.side_bar.display_link_cbk = '
'function(evt, bvr) {\\nvar target_id = '
'bvr.target_id;\\nvar title = bvr.title;\\nvar '
'options = bvr.options;\\nvar values = '
'bvr.values;\\nvar is_popup = '
'bvr.is_popup;\\nspt.side_bar._display_link_action( '
'target_id, title, options, values, is_popup '
');\\n}\\nspt.side_bar._display_link_action = '
'function(target_id, title, options, values, '
"is_popup)\\n{\\nvar busy_title = 'Load "
"View';\\nvar busy_msg = 'View is now loading "
"in a popup window ...';\\nif( ! "
'spt.is_TRUE(is_popup) ) {\\nbusy_msg = '
'\'\\"\' + title + \'\\" view is now loading '
"...';\\n}\\n//show busy "
'message\\n//spt.app_busy.show( busy_title, '
'busy_msg );\\nsetTimeout( function() '
'{\\nspt.side_bar._load_for_display_link_change(target_id, '
'title, options, values, is_popup);\\nif( '
'spt.is_TRUE(is_popup) '
')\\nspt.app_busy.hide();\\n}, 10 '
');\\n}\\nspt.side_bar._load_for_display_link_change '
'= function(target_id, title, options, values, '
'is_popup)\\n{\\n// var link = '
'spt.side_bar._link_display_info;\\nvar path = '
"options['path'];\\n// display a table\\nvar "
"widget_class = options['widget_key'];\\nif "
'(widget_class == null) {\\nwidget_class = '
'\\"tactic.ui.panel.ViewPanelWdg\\";\\n}\\noptions[\\"title\\"] '
'= title;\\nif( spt.is_TRUE(is_popup) ) '
"{\\noptions['target_id'] = "
'target_id;\\nspt.panel.load_popup(title, '
'widget_class, options);\\n}\\nelse {\\nvar '
'target_element = '
'document.id(target_id);\\nvar main_body = '
"document.id('main_body');\\nvar tab_top = "
'main_body.getElement(\\".spt_tab_top\\");\\nspt.tab.top '
'= tab_top;\\nvar class_name = '
"options['widget_key'];\\n// Use path instead "
'for the name\\n//var element_name = '
"options['element_name'];\\nvar element_name = "
"options['path'];\\nspt.tab.load_selected(element_name, "
'title, class_name, options, values);\\n// Set '
'the state of the page\\nvar key = '
'\\"top_layout\\";\\nvar panel_id = '
'\\"main_body\\";\\nvar server = '
'TacticServerStub.get();\\nserver.set_application_state(key, '
'panel_id, widget_class, options, '
'values);\\n// set the url hash\\nif '
'(typeof(options.element_name) != '
'\\"undefined\\") {\\nvar hash = '
'\\"/link/\\"+options.element_name;\\nif( ! '
'spt.browser.is_Firefox() && ! '
'spt.browser.is_Opera() ) {\\nhash = '
'encodeURI( hash );\\n}\\nvar state = '
"{\\nmode: 'tab',\\nhash: "
'hash,\\nelement_name: '
'options.element_name,\\ntitle: '
'title\\n};\\nvar url = '
'\\"link/\\"+options.element_name;\\nspt.hash.set_hash( '
'state, title, url );\\n}\\nelse '
'{\\nalert(\\"DEPRECATD: set hash in sidebar '
'load_display\\");\\nvar kwargs = '
"{'predefined': "
'true};\\nspt.panel.set_hash(panel_id, '
'widget_class, options, '
'kwargs)\\n}\\n}\\n}\\n// Command that occurs '
'when a user clicks on a '
'link\\n//\\nspt.side_bar.DisplayLinkCmd = '
'function(target_id, title, options, values, '
'is_popup) {\\nthis.target_id = '
'target_id;\\nthis.title = '
'title;\\nthis.options = '
'options;\\nthis.values = '
'values;\\nthis.is_popup = '
'is_popup;\\nthis.prev_options = '
'{};\\nthis.get_description = function () { '
'return \\"DisplayLinkCmd\\"};\\nthis.execute '
'= function() { \\n// get the target '
'element\\nvar target_element = '
'document.id(this.target_id);\\nthis.redo();\\n}\\nthis.redo '
'= function() {\\n// display a table\\nvar '
'widget_class = '
"this.options['class_name'];\\nif "
'(widget_class == null) {\\nwidget_class = '
'\\"tactic.ui.panel.ViewPanelWdg\\";\\n}\\nvar '
"path = this.options['path'];\\nif "
"(this.is_popup == 'true' || this.is_popup == "
'true) {\\n// set a default width of '
"600px\\n//this.options['width'] = "
"'600px';\\nthis.options['target_id'] = "
'this.target_id;\\nspt.panel.load_popup(path, '
'widget_class, this.options);\\n}\\nelse '
'{\\nvar target_element = '
'document.id(this.target_id);\\n//document.id(\\"breadcrumb\\").innerHTML '
"= '<div><img "
'src=\\"/context/icons/common/indicator_snake.gif\\" '
'border=\\"0\\"> \' '
"+\\n// 'Loading "
'\\"\' + this.title + \'\\" '
"...</div>';\\nspt.panel.load(target_element, "
'widget_class, this.options, this.values)\\n// '
'Set the state of the page\\nvar key = '
'\\"top_layout\\";\\nvar panel_id = '
'\\"main_body\\";\\nvar server = '
'TacticServerStub.get();\\n// Make sure to '
'send back the link title for the saved last '
'link options\\nthis.options[\\"title\\"] = '
'this.title\\nserver.set_application_state(key, '
'panel_id, widget_class, this.options, '
'this.values);\\n// also set the '
'breadcrumb\\n//document.id(\\"breadcrumb\\").innerHTML '
'= '
'path\\n//document.id(\\"breadcrumb\\").innerHTML '
'= this.title\\n// set the url hash\\nif '
'(typeof(this.options.element_name) != '
'\\"undefined\\") {\\nvar hash = '
'\\"link=\\"+this.options.element_name;\\nif( '
'! spt.browser.is_Firefox && ! '
'spt.browser.is_Opera ) {\\nhash = encodeURI( '
'hash );\\n}\\nspt.last_hash = '
'hash;\\nwindow.location.hash = '
'hash;\\n}\\n}\\n}\\nthis.undo = function() '
'{\\nvar target_element = '
'document.id(this.target_id);\\nEffects.fade_out(this.prev_target_id, '
'150);\\nvar server = '
'TacticServerStub.get();\\n// display a '
'table\\nwidget_class = '
'\\"tactic.ui.panel.ViewPanelWdg\\";\\nargs = '
'{\\n\\"search_type\\": '
'this.prev_search_type,\\n\\"view\\": '
'this.prev_view,\\n\\"search_view\\": '
'this.prev_search_view\\n};\\nvar kwargs = '
"{'args': args};\\nwidget_html = "
'server.get_widget(widget_class, kwargs);\\n// '
'Set the state of the page\\nkey = '
'\\"top_layout\\";\\npanel_name = '
'\\"main_body\\";\\nwidget_class = '
'\\"tactic.ui.panel.ViewPanelWdg\\";\\nserver.set_application_state(key, '
'panel_name, widget_class, args);\\n// replace '
'the former element with the new '
'element\\nspt.behavior.replace_inner_html( '
'target_element, widget_html '
');\\nEffects.fade_in(this.prev_target_id, '
'150);\\n// set the url\\nvar hash = '
'\\"search_type=\\" + this.search_type + '
'\\"&view=\\" + '
'this.view;\\nwindow.location.hash = '
'hash;\\n}\\n}\\n// This occurs when you use '
'the mouse wheel on the side bar. It causes '
'the\\n// whole side bar to '
'scroll\\n//\\nspt.side_bar.scroll = '
'function(evt, bvr) {\\nvar property = '
'\\"margin-top\\";\\nvar margin = '
'document.id(\\"side_bar_scroll\\").getStyle(property);\\nmargin '
'= parseInt(margin.replace(\\"px\\", '
'\\"\\"));\\nif (evt.wheel < 0) {\\nmargin -= '
'30;\\n}\\nelse {\\nmargin += 30;\\n}\\nif '
'(margin > 0) {\\nmargin = '
'0;\\ndocument.id(\\"side_bar_scroll_down\\").setStyle(\'display\', '
"'none');\\nvar pos = "
'document.id(window).getScroll();\\ndocument.id(window).scrollTo(pos.x, '
'pos.y - 30);\\n}\\nelse '
'{\\ndocument.id(\\"side_bar_scroll_down\\").setStyle(\'display\', '
'\'block\');\\n}\\ndocument.id(\\"side_bar_scroll\\").setStyle(property, '
'margin);\\n}\\n// This callback is called '
'when clicking on a section link in the side '
'bar.\\n// It toggles the display of a section '
'and then sets the state\\n//\\n// bvr.dst_el: '
'id of the section that is '
'displayed\\nspt.side_bar.toggle_section_display_cbk '
'= function(evt, bvr)\\n{\\nvar click_el = '
'document.id(bvr.src_el);\\n//hide el could be '
'the section or div inside the section\\nif '
'(spt.has_class(click_el, '
"'spt_side_bar_element'))\\nvar hide_el = "
'click_el.getElement(\\".spt_side_bar_section_content\\");\\nelse\\nvar '
'hide_el = spt.get_cousin(click_el, '
'\\".spt_side_bar_element\\", '
'\\".spt_side_bar_section_content\\");\\nbvr.slide_direction '
'= \\"vertical\\";\\nbvr.dst_el = '
'hide_el;\\nvar arrow_img_el = '
"click_el.getElement('img');\\nvar "
'arrow_img_src = '
"arrow_img_el.get('src');\\nif( "
'arrow_img_src.match( /_right_/ ) ) '
"{\\narrow_img_el.set('src', "
'arrow_img_src.replace(/_right_/,\\"_down_\\"));\\nhide_el.setStyle(\\"display\\", '
'\\"block\\");\\nhide_el.setStyle(\\"margin-top\\", '
'\\"-\\"+hide_el.getSize().y+\\"px\\")\\nnew '
'Fx.Tween(hide_el, '
'{duration:\\"short\\"}).start(\'margin-top\', '
'\\"0px\\");\\n}\\nelse '
"{\\narrow_img_el.set('src', "
'arrow_img_src.replace(/_down_/,\\"_right_\\"));\\nhide_el.setStyle(\\"margin-top\\", '
'\\"0px\\")\\nnew Fx.Tween(hide_el, '
'{duration:\\"short\\"}).start(\'margin-top\', '
'\\"-\\"+hide_el.getSize().y+\\"px\\");\\n//hide_el.setStyle(\\"display\\", '
'\\"none\\");\\n}\\nspt.side_bar.store_state();\\n}\\n//\\n// '
'Side bar state methods\\n//\\n// Stores the '
'state of the sidebar in a '
'cookie.\\nspt.side_bar.cookie = '
'null;\\nspt.side_bar.get_state = '
'function()\\n{\\nif (spt.side_bar_cookie == '
'null) {\\nspt.side_bar.cookie = new '
"Cookie('sidebar_status');\\n}\\nreturn "
'spt.side_bar.cookie;\\n}\\nspt.side_bar.store_state '
'= function()\\n{\\nvar elements = '
'document.id(\\"side_bar\\").getElements(\\".spt_side_bar_section_content\\");\\nvar '
'open_folders = {};\\nfor (var i = 0; i < '
'elements.length; i++) {\\nvar element = '
'elements[i];\\nif ( '
'element.getStyle(\\"display\\") == '
'\\"block\\" ) {\\nvar path = '
'element.getAttribute(\\"spt_path\\");\\nopen_folders[path] '
'= true;\\n}\\n}\\nvar state = '
'spt.side_bar.get_state();\\nstate.write(JSON.stringify(open_folders))\\n}\\nspt.side_bar.restore_state '
'= function()\\n{\\nvar side_bar_el = '
'document.id(\\"side_bar\\");\\nif( ! '
'side_bar_el ) {\\nspt.js_log.warning( '
'\\"WARNING: in spt.side_bar.restore_state(), '
'element with ID \'side_bar\' not found.\\" '
');\\nreturn;\\n}\\nvar elements = '
'side_bar_el.getElements(\\".spt_side_bar_section_content\\");\\nvar '
'state = spt.side_bar.get_state();\\nvar '
'open_folders = {};\\nif( state.read() ) '
'{\\nopen_folders = JSON.parse( state.read() '
');\\n}\\nelse {\\nreturn;\\n}\\nfor (var i = '
'0; i < elements.length; i++) {\\nvar element '
'= elements[i];\\nvar path = '
'element.getAttribute(\\"spt_path\\");\\n// '
'Find the element with the arrow indicator for '
'open or closed state of section ...\\nvar '
'prev = '
'document.id(element).getPrevious();\\nif '
'(!prev) continue;\\nvar arrow_img_el = '
'prev.getElement(\\"img\\");\\nvar img_src = '
"arrow_img_el.get('src');\\nif "
'(open_folders[path] == true) '
'{\\nelement.setStyle(\\"display\\", '
'\\"block\\");\\narrow_img_el.set(\'src\', '
'img_src.replace(/_right_/,\\"_down_\\"));\\n}\\nelse '
'{\\nelement.setStyle(\\"display\\", '
'\\"none\\");\\narrow_img_el.set(\'src\', '
'img_src.replace(/_down_/,\\"_right_\\"));\\n}\\n}\\n}\\n// '
'action widget '
'callback\\n//\\nspt.side_bar.manage_section_action_cbk '
'= function(element, view, is_personal) {\\n// '
'get the value of the element\\nvar value = '
'element.value;\\nif (value == \\"save\\") '
'{\\n// it could be saving other sub-views '
'involved as well like reordering \\n// within '
'the predefined views\\nif (confirm(\\"Save '
'ordering of this view [\\" + view + \\"] '
'?\\") ) {\\nvar server = '
'TacticServerStub.get();\\nserver.start({\\"title\\": '
'\\"Updating views\\"});\\nfor (changed_view '
'in spt.side_bar.changed_views) {\\nvar '
'search_type = '
'\\"SideBarWdg\\";\\nspt.side_bar.save_view(search_type, '
'changed_view, '
'is_personal);\\n}\\nspt.side_bar.changed_views '
'= '
'{};\\nserver.finish();\\nspt.panel.refresh(\\"side_bar\\");\\nspt.panel.refresh(\\"ManageSideBarBookmark_\\" '
'+ view);\\n}\\n}\\nelse if (value == '
'\\"predefined\\") '
"{\\nspt.popup.open('predefined_side_bar');\\n}\\nelse "
'if ( '
'[\\"new_link\\",\'new_folder\',\'new_separator\'].contains(value) '
') {\\nspt.side_bar.context_menu_cbk(value, '
'view, is_personal);\\n}\\nelse if (value == '
'\\"save_folder\\") {\\nvar popup_id = \\"New '
'Item Panel\\";\\nvar values = '
'spt.api.Utility.get_input_values(popup_id , '
'null, false);\\n// Convert the user input new '
'folder name all in lower case and replace all '
'spaces with underscores.\\n//var new_title = '
"values['new_name'].toLowerCase().replace(/ "
'/g,\\"_\\");;\\nvar new_title = '
"values['new_title'];\\nvar new_name = "
"values['new_name']\\nif "
'(spt.input.has_special_chars(new_name)) '
'{\\nalert(\\"The view name cannot contain '
'special characters. Please try again.\\"); '
'\\nreturn;\\n}\\nif '
'(spt.input.start_with_num(new_name)) '
'{\\nalert(\\"A view starting with a number is '
'not allowed.\\");\\nreturn;\\n}\\n// folder '
'view cannot be one of the predefined '
"views\\nvar predefined_views = ['_my_tactic', "
"'_preproduction','_asset_pipeline', "
"'_shot_pipeline', '_site_admin', "
"'_project_admin', '_overview', "
"'_application', '_editorial', '_template', "
"'definition', 'search', 'publish'];\\nif "
'(predefined_views.contains(new_title)) '
"{\\nalert('This view name [' + new_name + '] "
"is reserved');\\nreturn;\\n}\\n// don't "
'assign login for \\"project_view\\", but '
'personal and project view \\n// share the '
'same definition\\nvar kwargs = {};\\nvar '
'kwargs2 = {};\\nif (is_personal) {\\nvar user '
'= '
"spt.Environment.get().get_user();\\nkwargs['login'] "
"= user;\\nkwargs2['login'] = user;\\nnew_name "
"= user + '.' + new_name;\\n} \\n// save this "
'user-defined view\\nvar server = '
'TacticServerStub.get();\\nserver.start({\\"title\\": '
'\\"Adding folder\\", \\n\\"description\\": '
'\\"Adding folder [\\" + new_title + '
'\\"]\\"});\\nkwargs[\'class_name\'] '
"='SideBarSectionLinkWdg';\\nkwargs['element_attrs'] "
"= {'title': "
"new_title};\\nkwargs['display_options'] = "
"{'view': "
"new_name};\\nkwargs['auto_unique_name'] = "
"false;\\nkwargs['auto_unique_view'] = "
"false;\\nkwargs['unique'] = "
'true;\\ntry{ \\n// add it to the '
'project_view\\nsearch_type = '
"'SideBarWdg';\\n// Order matters here\\n// "
'set an option to auto adjust the element_name '
'to be unique\\nvar info = '
'server.add_config_element(search_type, '
"'definition', new_name, kwargs);\\nvar "
"unique_el_name = info['element_name'];\\n// "
'now add to project_view or '
'my_view_...\\nserver.add_config_element(search_type, '
'view, unique_el_name, kwargs2);\\n// only '
'extract elements inside the folder view '
'\\"new_folder\\"\\nvar folder_elements = '
"spt.side_bar.get_elements('new_folder', "
'popup_id);\\nvar folder_element_names = '
'[];\\nfolder_elements.each( function(x) '
'\\n{folder_element_names.push(x.getAttribute(\\"spt_element_name\\"))});\\nif '
'(folder_element_names.length > '
'0)\\nserver.update_config(search_type, '
'unique_el_name, folder_element_names, '
'kwargs2);\\nserver.finish();\\n}\\ncatch(err) '
'{\\nvar error_str = '
'spt.exception.handler(err);\\nalert(error_str);\\nserver.abort();\\nreturn;\\n}\\n//refresh '
'\\nspt.popup.destroy(popup_id);\\nspt.panel.refresh(\\"ManageSideBarBookmark_\\" '
'+ '
'view);\\nspt.panel.refresh(\\"side_bar\\");\\n}\\nelse '
'if (value == \\"save_link\\") {\\nvar '
'popup_id = \\"New Item Panel\\";\\nvar values '
'= spt.api.Utility.get_input_values(popup_id , '
'null, false);\\n// Convert the user input '
'link title all in lower case and replace all '
'spaces with underscores.\\nvar link_name = '
"values['new_link_title'].toLowerCase().replace(/ "
'/g,\\"_\\");\\nvar include_search_view = '
'values[\\"include_search_view\\"] == \'on\'; '
'\\nif '
'(spt.input.has_special_chars(link_name)) '
'{\\nalert(\\"The view name cannot contain '
'special characters. Please try again.\\"); '
'\\nreturn;\\n}\\n// link name cannot be one '
'of the predefined views\\nvar '
"predefined_views = ['_my_tactic', "
"'_preproduction','_asset_pipeline', "
"'_shot_pipeline', '_site_admin', "
"'_project_admin', '_overview', "
"'_application', '_editorial', '_template', "
"'definition', 'search', "
"'publish','edit','insert','edit_definition'];\\nif "
'(predefined_views.contains(link_name)) '
"{\\nalert('This view name [' + link_name + '] "
"is reserved');\\nreturn;\\n}\\nvar new_title "
'= link_name;\\nvar search_type = '
"values['new_search_type'];\\nif (!link_name "
"|| !search_type) {\\nalert('A title and a "
'search type are '
"required.');\\nreturn;\\n}\\nvar kwargs = "
'{};\\nvar kwargs2 = {};\\nvar new_view = '
"values['new_link_view'];\\nif (is_personal) "
'{\\nvar user = '
"spt.Environment.get().get_user();\\nkwargs['login'] "
"= user;\\nkwargs2['login'] = "
"user;\\nlink_name = user + '.' + "
"link_name;\\n//new_view = user + '.' + "
'new_view;\\n}\\nif (confirm(\\"Save this link '
'[\\" + new_title + \\"] ?\\") ) {\\ntry '
'{\\nvar server = '
'TacticServerStub.get();\\nserver.start({\\"title\\": '
'\\"Adding link\\",\\n\\"description\\": '
'\\"Adding link [\\" + new_title + '
'\\"]\\"});\\n//hard-code table view for '
"now\\nkwargs['class_name'] = "
"'LinkWdg';\\nkwargs['element_attrs'] = "
"{'title': new_title};\\nvar display_options "
"= {'search_type': search_type, 'view': "
'new_view};\\nif (include_search_view) '
"{\\ndisplay_options['search_view'] = "
"'link_search:' + new_view;\\n}\\n// special "
'case for CustomLayoutWdg\\nif (search_type == '
"'CustomLayoutWdg') {\\ndelete "
"display_options['search_view'];\\ndelete "
"display_options['search_type'];\\ndisplay_options['class_name'] "
'= '
"'tactic.ui.panel.CustomLayoutWdg';\\n}\\nkwargs['display_options'] "
'= '
"display_options;\\n//kwargs['auto_unique_name'] "
"= true;\\nkwargs['unique'] = true;\\n// add "
'it to the view, if view is self personal '
'view, add login\\nsearch_type = '
"'SideBarWdg';\\nvar info = "
'server.add_config_element(search_type, '
"'definition', link_name, kwargs);\\nvar "
"unique_el_name = info['element_name'];\\n// "
'now add to '
'project_view\\nserver.add_config_element(search_type, '
'view, unique_el_name, '
'kwargs2);\\nserver.finish();\\n//refresh '
'\\nspt.popup.destroy(popup_id);\\nspt.panel.refresh(\\"ManageSideBarBookmark_\\" '
'+ '
'view);\\nspt.panel.refresh(\\"side_bar\\");\\n}\\ncatch(e) '
'{\\nalert(spt.exception.handler(e));\\n}\\n}\\n}\\nelse '
'if (value == \\"save_separator\\") {\\nvar '
'popup_id = \\"New Item Panel\\";\\nvar name = '
"'separator';\\nvar server = "
'TacticServerStub.get();\\nserver.start({\\"title\\": '
'\\"Adding separator\\"});\\nvar kwargs = '
"{'class_name' : "
"'SeparatorWdg',\\n'element_attrs' : {'title': "
"'Separator'},\\n'unique': "
"false,\\n'auto_unique_name': "
"true,\\n'auto_unique_view': true}; \\n// add "
'it to the project_view\\nsearch_type = '
"'SideBarWdg';\\nvar kwargs2 = {};\\n//have "
'login for the view, and definition\\nif '
'(is_personal){\\nvar user = '
"spt.Environment.get().get_user();\\nkwargs['login'] "
"= user;\\nkwargs2['login'] = user;\\nname = "
"user + '.' + name;\\n}\\nvar info = "
'server.add_config_element(search_type, '
"'definition', name, kwargs);\\nvar "
"unique_el_name = info['element_name'];\\n// "
'now add to '
'project_view\\nserver.add_config_element(search_type, '
'view, unique_el_name, '
'kwargs2);\\nserver.finish();\\n//refresh '
'\\nspt.popup.destroy(popup_id);\\nspt.panel.refresh(\\"ManageSideBarBookmark_\\" '
'+ '
'view);\\nspt.panel.refresh(\\"side_bar\\");\\n}\\nelse '
'{\\nalert(\\"Unimplemented option: \\" + '
'value);\\n}\\nelement.value = '
'\\"\\";\\n}\\n// save the changed '
'views\\nspt.side_bar.save_view = '
'function(search_type, view, is_personal, '
'list_top) {\\n// backwards compatibility '
'(this is an id)\\nif (typeof(list_top) == '
"'undefined') {\\nvar elements;\\nif (view == "
'\\"definition\\") {\\nelements = '
'spt.side_bar.get_elements(view, '
'\\"menu_item_definition_list\\");\\n}\\nelse '
'{\\nelements = '
'spt.side_bar.get_elements(view);\\n}\\n}\\nelse '
'{\\nelements = '
'spt.side_bar.get_elements(view, '
'list_top);\\n}\\nif (spt.side_bar.found_view '
'== false) {\\nreturn;\\n}\\nvar element_names '
'= [];\\nfor (var i = 0; i < elements.length; '
'i++) {\\nvar element_name = '
'elements[i].getAttribute(\\"spt_element_name\\");\\nelement_names.push(element_name);\\n}\\nvar '
'server = TacticServerStub.get();\\n// will '
'get unexpected results if multiple folders '
'share the same view\\n//\\nvar kwargs = '
"{};\\nif (is_personal){\\nkwargs['login'] = "
'spt.Environment.get().get_user();\\n}\\n//add '
'the trashed '
"items\\nkwargs['deleted_element_names'] = "
'spt.side_bar.trashed_items;\\nserver.update_config(search_type, '
'view, element_names, '
'kwargs);\\nspt.side_bar.trashed_items = '
'[];\\n}\\n// get all the elements of a '
'specific view\\nspt.side_bar.found_view = '
'false;\\nspt.side_bar.get_elements = '
'function(view, list_id) {\\nif '
"(typeof(list_id) == 'undefined' || list_id == "
'null) {\\nlist_id = '
'\\"menu_item_list\\";\\n}\\nvar elements = '
'document.id(list_id).getElements(\\".spt_side_bar_element\\");\\nif '
"(typeof(view) == 'undefined') {\\nreturn "
'elements;\\n}\\nspt.side_bar.found_view = '
'false;\\nvar data = {};\\nfor (var i = 0; i < '
'elements.length; i++) {\\nvar element = '
'elements[i];\\nvar element_view = '
'element.getAttribute(\\"spt_view\\");\\nif '
'(element_view == view) '
'{\\nspt.side_bar.found_view = true;\\n}\\n// '
'ignore the dummy created when there are no '
'elements\\nif '
'(element.hasClass(\\"spt_side_bar_dummy\\")) '
'{\\ncontinue;\\n}\\n// dynamically create the '
'list\\nvar element_list = '
'data[element_view];\\nif (element_list == '
'null) {\\nelement_list = '
'[];\\ndata[element_view] = '
'element_list;\\n}\\n//var element_name = '
'elements[i].getAttribute(\\"spt_element_name\\");\\nelement_list.push(element);\\n}\\nif '
'(spt.side_bar.found_view) {\\nvar '
'element_list = data[view];\\nif '
'(element_list)\\nreturn '
'element_list;\\nelse\\nreturn [];\\n}\\nelse '
'{\\n// to prevent undefined from being '
'returned\\nreturn [];\\n}\\n}\\n//\\n// Drag '
'and drop actions for the '
'elements\\n//\\nspt.side_bar.changed_views = '
'{};\\nspt.side_bar.trashed_items = '
'[];\\nspt.side_bar.active_elems = '
'{};\\nspt.side_bar.pp_setup = function(evt, '
'bvr, mouse_411)\\n{ \\nvar clonable = '
'bvr.src_el;\\nif (! '
'clonable.hasClass(\\"spt_side_bar_element\\")) '
'{\\nclonable = '
"bvr.src_el.getParent('.spt_side_bar_element');\\n}\\n// "
'make sure that the src element is actually a '
'side bar element.\\n//if (! '
'bvr.src_el.hasClass(\\"spt_side_bar_element\\")) '
'{\\n// bvr.src_el = '
'bvr.src_el.parentNode;\\n//}\\nvar ghost_el = '
'document.id(bvr.drag_el);\\nif (!ghost_el) '
'{\\nvar ghost_el = '
'spt.mouse._create_drag_copy( bvr.src_el '
');\\nbvr.drag_el = ghost_el;\\n}\\nif( '
'ghost_el )\\n{\\n// Make a clone of the '
'source div that we clicked on to drag '
'...\\nvar src_copy = '
'spt.behavior.clone(clonable);\\nvar w = '
'clonable.clientWidth;\\nvar h = '
'clonable.clientHeight;\\n// Use this if you '
'want the initial ghost div position to be '
'offset from mouse same as on mouse momve '
'...\\nghost_el.setStyle( \\"left\\", '
'(mouse_411.curr_x + 10) '
');\\nghost_el.setStyle( \\"top\\", '
'(mouse_411.curr_y + 10) '
');\\nghost_el.setStyle( \\"width\\", w '
');\\nghost_el.setStyle( \\"height\\", h '
');\\n// Then plug the clone div into the '
'Utility ghost_el div to be the contents of '
'the drop ...\\nghost_el.innerHTML = '
'\\"\\";\\nghost_el.appendChild( '
'document.id(src_copy) );\\nghost_el.setStyle( '
'\\"display\\", \\"block\\" '
');\\nghost_el.setStyle( \\"text-align\\", '
'\\"left\\" );\\n//ghost_el.setStyle( '
'\\"background\\", '
'\\"#4F4FC4\\");\\nghost_el.setStyle( '
'\\"box-shadow\\", \\"0px 0px 5px '
'rgba(0,0,0,0.5)\\");\\n}\\nelse '
'{\\nspt.js_log.debug(\\"WARNING: NO ghost el '
'found in spt.side_bar.pp_setup() '
'callback!\\");\\n}\\n}\\nspt.side_bar.pp_motion '
'= function(evt, bvr, mouse_411)\\n{\\nvar '
'ghost_el = document.id(bvr.drag_el);\\nif( '
'ghost_el )\\n{\\nghost_el.setStyle( '
'\\"left\\", (mouse_411.curr_x + 10) '
');\\nghost_el.setStyle( \\"top\\", '
'(mouse_411.curr_y + 10) );\\nvar elem = '
'spt.side_bar.pp_find_drop_elem(evt, bvr, '
'mouse_411);\\n//make the Trash can having a '
'hard border\\nif '
'(spt.side_bar.pp_is_trash(elem))\\nspt.add_class(elem, '
"'look_menu_hover');\\nelse\\n{\\nelem = "
"spt.side_bar.active_elems['trash'];\\nif "
'(elem)\\nspt.remove_class(elem, '
"'look_menu_hover');\\n}\\n}\\n}\\n// Find "
'valid droppable '
'element\\nspt.side_bar.pp_find_drop_elem = '
'function(evt, bvr)\\n{\\n// find drop element '
'inside out\\nvar found = false;\\nvar '
'drop_on_el = '
'spt.get_event_target(evt);\\nwhile( '
"drop_on_el ) {\\nif( ('getAttribute' in "
'drop_on_el) && '
'drop_on_el.getAttribute(\\"SPT_ACCEPT_DROP\\") '
'== \\"manageSideBar\\" ) {\\nfound = '
'true;\\nbreak;\\n}\\ndrop_on_el = '
'drop_on_el.parentNode;\\n}\\nif ( found '
')\\nreturn drop_on_el;\\nelse\\nreturn '
'null;\\n}\\nspt.side_bar.pp_is_trash = '
'function(drop_on_el)\\n{\\nif (drop_on_el && '
'drop_on_el.hasClass(\\"spt_side_bar_trash\\") '
'== '
"true)\\n{\\nspt.side_bar.active_elems['trash'] "
'= drop_on_el;\\nreturn true;\\n}\\nreturn '
'false;\\n}\\nspt.side_bar.pp_action = '
'function(evt, bvr)\\n{\\nvar ghost_el = '
'bvr.drag_el;\\nif( ! ghost_el ) '
'{\\nreturn;\\n}\\n// Grab the cloned div that '
'we had plugged in as the contents '
'(firstChild) of the ghost_el Utility div '
'...\\nvar ghost_content = '
'ghost_el.removeChild( ghost_el.firstChild '
');\\nghost_el.innerHTML = '
'\\"\\";\\nghost_el.style.display = '
'\\"none\\";\\n// find valid drop '
'element\\nvar drop_on_el = '
'spt.side_bar.pp_find_drop_elem(evt, '
'bvr);\\nif (!drop_on_el)\\nreturn;\\nvar mode '
'= bvr.mode;\\nif (!mode) {\\n// look for '
'parent\\nvar start_content = '
'bvr.src_el.getParent(\\".spt_side_bar_content\\");\\nvar '
'end_content = '
'drop_on_el.getParent(\\".spt_side_bar_content\\");\\nif '
'(end_content == null) {\\nmode = '
'\\"move\\";\\n}\\nelse {\\nvar start_view = '
'start_content.getAttribute(\\"spt_view\\");\\nvar '
'end_view = '
'end_content.getAttribute(\\"spt_view\\");\\nif '
'(start_view != end_view) {\\nmode = '
'\\"copy\\";\\n}\\nelse {\\nmode = '
'\\"move\\";\\n}\\n}\\n}\\nvar contents;\\nif '
'(mode == \\"copy\\") {\\ncontents = '
'ghost_content;\\n}\\nelse {\\n// make sure '
'that the contents is actually a side bar '
'element.\\nvar contents = bvr.src_el;\\nif (! '
'contents.hasClass(\\"spt_side_bar_element\\")) '
'{\\ncontents = '
"contents.getParent('.spt_side_bar_element');\\n}\\n}\\nvar "
'view;\\n// Record that the old view has '
'changed if not in copy mode\\nvar old_view = '
'contents.getAttribute(\\"spt_view\\")\\nif '
"(mode != 'copy') "
'{\\nspt.side_bar.changed_views[old_view] = '
'true;\\n}\\n// up one level if dropped on a '
'section link\\nif '
'(drop_on_el.hasClass(\\"spt_side_bar_section_link\\"))\\ndrop_on_el '
'= '
'drop_on_el.getParent(\\".spt_side_bar_section\\");\\n// '
'if dropped on trash\\nif '
'(spt.side_bar.pp_is_trash(drop_on_el) ) '
'{\\nvar name = '
"contents.getAttribute('spt_element_name');\\nspt.side_bar.trashed_items.push(name);\\ncontents.destroy();\\nelem "
"= spt.side_bar.active_elems['trash'];\\nif "
'(elem)\\nspt.remove_class(elem, '
"'look_menu_hover');\\nreturn;\\n}\\n// if "
'dropped on a section or a section link\\nelse '
'if( '
'drop_on_el.hasClass(\\"spt_side_bar_section\\") '
') {\\nvar children = '
'drop_on_el.getElements(\\".spt_side_bar_element\\");\\nif '
'(children[0] != null && '
'!children[0].hasClass(\\"spt_side_bar_dummy\\")) '
'{\\ncontents.inject(children[0], '
"'before');\\nview = "
'children[0].getAttribute(\\"spt_view\\");\\n}\\nelse '
'{\\nvar container = '
'drop_on_el.getElement(\\".spt_side_bar_section_content\\");\\ncontainer.appendChild(contents);\\n// '
'get the view\\n// FIXME: assume view == '
'element_name\\n//view = '
'drop_on_el.getAttribute(\\"spt_view\\");\\nview '
'= '
'drop_on_el.getAttribute(\\"spt_element_name\\");\\n}\\n}\\n// '
'if dropped on a link\\nelse if ( '
'drop_on_el.hasClass(\\"spt_side_bar_link\\") '
'== true ) {\\ncontents.inject(drop_on_el, '
"'before');\\nview = "
'drop_on_el.getAttribute(\\"spt_view\\");\\n}\\nelse '
'if( '
'drop_on_el.hasClass(\\"spt_section_top\\") ) '
'{\\nvar children = '
'drop_on_el.getElements(\\".spt_side_bar_element\\");\\nvar '
'last = '
'children[children.length-1];\\ncontents.inject(last, '
"'after');\\nview = "
'last.getAttribute(\\"spt_view\\");\\n}\\n// '
'if dropped on any other element\\nelse '
'{\\nvar parent = '
'drop_on_el.getParent(\\".spt_side_bar_element\\");\\ncontents.inject(parent, '
"'before');\\nview = "
'parent.getAttribute(\\"spt_view\\");\\n}\\n// '
'switch view\\nif (view == null) '
'{\\nalert(\\"view is '
'NULL!!!!\\");\\n}\\n//\\nif (mode == '
"'copy') {\\nvar element_name = "
'contents.getAttribute(\\"spt_element_name\\");\\nvar '
'element_title = '
'contents.getAttribute(\\"spt_title\\");\\n//var '
'content_view = base + \\"_\\" + '
'element_name;\\nvar content_view = '
'element_name;\\nif (content_view.substr(0,1) '
'== \\"_\\") {\\ncontent_view = '
'content_view.substr(1, '
'content_view.length);\\n}\\n// check to see '
'what that there are no duplicate view '
'titles\\nvar menu_item_list = '
'contents.getParent(\\".spt_menu_item_list\\");\\nelements '
'= spt.side_bar.get_elements(view, '
'menu_item_list);\\nelement_list = new '
'Array();\\nfor (var i = 0; i < '
'elements.length; i++) {\\nvar '
'cur_element_name = '
'elements[i].getAttribute(\\"spt_element_name\\");\\npat '
"= new RegExp( '^' + element_name+ "
"'\\\\d*');\\nif (cur_element_name.match(pat)) "
'{\\nelement_list.push(cur_element_name);\\n}\\n}\\nif '
'(element_list.length > 0) {\\ncontent_view = '
'content_view + '
'element_list.length;\\nelement_title = '
'element_title + '
'element_list.length;\\n}\\ncontents.setAttribute(\\"spt_element_name\\", '
'content_view);\\ncontents.setAttribute(\\"spt_title\\", '
'element_title);\\n// set the new view of the '
'element\\ncontents.setAttribute(\\"spt_view\\", '
'view);\\n// go through the elements names and '
'change them to the new view\\nvar elements = '
'contents.getElements(\\".spt_side_bar_element\\");\\nfor '
'(var i = 0; i < elements.length; i++) {\\nvar '
'element = '
'elements[i];\\nelement.setAttribute(\\"spt_view\\", '
'content_view);\\n}\\n// change the '
'title\\nvar title = '
'contents.getElement(\\".spt_side_bar_title\\");\\nif '
'(title){\\nvar title_icon = '
'title.getFirst();\\nif (!title_icon) '
'{\\ntitle.innerHTML = element_title;\\n} else '
'{\\ntitle.innerHTML = '
"'';\\ntitle.appendChild(title_icon);\\ntitle.appendText(element_title);\\n}\\n}\\nspt.side_bar.changed_views[view] "
'= true;\\n}\\nelse {\\n// set the new view of '
'the '
'element\\ncontents.setAttribute(\\"spt_view\\", '
'view);\\nspt.side_bar.changed_views[view] = '
'true;\\n}\\nif( bvr.class_name ) '
'{\\nspt.side_bar.display_element_info_cbk(evt,bvr);\\n}\\n}\\nspt.side_bar.context_menu_cbk '
'= function(action, view, is_personal) {\\nvar '
'element_name = null;\\n/*\\nconfig = '
"document.createElement('config')\\nelement = "
"document.createElement('element')\\ndisplay "
'= '
"document.createElement('display')\\nconfig.appendChild(element);\\nelement.appendChild(display);\\n*/\\nif "
'(action == \\"new_link\\") {\\nelement_name = '
'\\"new_link\\";\\n}\\nelse if (action == '
'\\"new_folder\\") {\\nelement_name = '
'\\"new_folder\\";\\n}\\nelse if (action == '
'\\"new_separator\\") {\\nelement_name = '
'\\"new_separator\\";\\n}\\nif (element_name) '
'{\\nvar clone = '
'spt.side_bar.add_new_item(view, '
"element_name);\\n//clone.setStyle('background', "
"'#6CB87B');\\nif (element_name "
"=='new_separator') "
"{\\nspt.side_bar.manage_section_action_cbk({'value':'save_separator'},view, "
'is_personal);\\n}\\n}\\n}\\nspt.side_bar.add_new_item '
'= function(view, element_name, template_top) '
'{\\nvar list_id = \\"menu_item_list\\";\\nvar '
"options = {'type': element_name, 'view': "
'view};\\nvar popup_id = \\"New Item '
'Panel\\";\\nnew_item_class = '
"'tactic.ui.panel.ManageViewNewItemWdg';\\nspt.panel.load_popup(popup_id, "
"'tactic.ui.panel.ManageViewNewItemWdg', "
'options, {});\\n// get the template menu '
'items\\n// index is prone to error, use '
'element_name instead\\nif ( '
"typeof(template_top) == 'undefined' ) "
'{\\ntemplate_top = '
'document.id(\\"menu_item_template\\");\\n}\\nvar '
'menu_item = '
'template_top.getElement(\\"div[spt_element_name=\\" '
'+ element_name +\\"]\\");\\nif '
'(!menu_item)\\nreturn;\\nvar clone = '
'spt.behavior.clone(menu_item);\\n// get the '
'element and inject after\\nvar div = '
"document.id(popup_id).getElement('.spt_new_item');\\ndiv.appendChild(clone);\\n// "
'now add some properties to the new '
'element\\nif (element_name '
'=\'new_folder\')\\nclone.addClass(\\"spt_side_bar_section\\");\\nelse\\nclone.addClass(\\"spt_side_bar_element\\");\\nclone.setAttribute(\\"spt_view\\", '
'view);\\n// get the current name of the '
'cloned element\\nvar clone_name = '
'clone.getAttribute(\\"spt_element_name\\");\\nbvr '
'= {};\\nbvr.src_el = clone;\\nreturn '
'clone;\\n}\\n//\\n// Element info setting and '
'saving\\n//\\nspt.side_bar.display_element_info_cbk '
'= function(evt, bvr)\\n{\\nvar top = '
'bvr.src_el.getParent(\\".spt_view_manager_top\\");\\nif '
'(!top)\\nreturn;\\nvar detail_panel = '
'top.getElement(\\".spt_view_manager_detail\\");\\nvar '
'src_el = bvr.src_el;\\nvar element_name = '
'src_el.getAttribute(\\"spt_element_name\\");\\nif '
'(element_name == null) {\\nsrc_el = '
'src_el.getParent(\\".spt_side_bar_element\\");\\nelement_name '
'= '
'src_el.getAttribute(\\"spt_element_name\\");\\n}\\nvar '
'search_type = '
'detail_panel.getAttribute(\\"spt_search_type\\");\\nvar '
'personal = '
'detail_panel.getAttribute(\\"spt_personal\\");\\nvar '
'view = '
'src_el.getAttribute(\\"spt_view\\");\\nvar '
'path = '
'src_el.getAttribute(\\"spt_path\\");\\nvar '
'login = '
'detail_panel.getAttribute(\\"spt_login\\");\\nvar '
'is_default = '
'src_el.getAttribute(\\"spt_default\\");\\nvar '
'config_xml = bvr[\\"config_xml\\"];\\n// '
'rename\\nif (config_xml) {\\n//it could be '
'double or single quotes\\nvar pat = new '
"RegExp('(.*element "
'.*name=(?:\\\\\\"|\\\\\'))([^\\\\\\\\s\\\\\\\\t]*)((?:\\\\\\"|\\\\\').*)\')\\nvar '
'm = config_xml.match(pat);\\nif (m) '
"{\\nconfig_xml = config_xml.replace(pat, '$1' "
"+ element_name +'$3');\\n}\\n}\\nelse "
"{\\nconfig_xml = '';\\n}\\nvar server = "
'TacticServerStub.get();\\nvar class_name = '
'bvr.class_name;\\nvar options = '
Error: No module named 'spt'
--------------------------------------------------
By the way, some more minor errors:
GET http://MYSRV/plugins/pdfjs/web/viewer.js?ver=4.8.0.a01 net::ERR_ABORTED 404 (Not Found)
GET http://MYSRV/plugins/pdfjs/build/pdf.js?ver=4.8.0.a01 net::ERR_ABORTED 404 (Not Found)
-------------
xmlrpc.js?ver=4.8.0.a01:115 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
Connection.post @ xmlrpc.js?ver=4.8.0.a01:115
AjaxService.invoke @ xmlrpc.js?ver=4.8.0.a01:172
TacticServerStub._delegate @ client_api.js?ver=4.8.0.a01:2076
TacticServerStub.get_widget @ client_api.js?ver=4.8.0.a01:1566
spt.hash.onload_first @ spt_onload_startup.js?ver=4.8.0.a01:247
spt.onload_startup @ spt_onload_startup.js?ver=4.8.0.a01:40
onload @ (index):67
Sorry i was totally wrong not posting it in the first place
So here are some js error from console:
Uncaught TypeError: $(...).bmdRipples is not a function
at run_bvr (eval at spt.behavior.run_cbjs (behavior.js?ver=4.8.0.a01:254), <anonymous>:2:15)
at Object.spt.behavior.run_cbjs (behavior.js?ver=4.8.0.a01:259)
at Object.spt.behavior.process_load_behaviors (behavior.js?ver=4.8.0.a01:1341)
at Object.spt.behavior._construct_behaviors (behavior.js?ver=4.8.0.a01:1279)
at Object.spt.behavior.construct_behaviors_on_startup (behavior.js?ver=4.8.0.a01:395)
at Object.spt.onload_startup (spt_onload_startup.js?ver=4.8.0.a01:18)
at onload ((index):67)
And one more:
Uncaught TypeError: $(...).bootstrapMaterialDesign is not a function
at HTMLDocument.<anonymous> ((index):224)
at e (jquery-3.4.1.min.js:2)
at t (jquery-3.4.1.min.js:2)
Here is error from server-side:
ERROR DURING TASK EXECUTION
Traceback (most recent call last):
File "/home/apache/tactic/src/tactic/command/kronos.py", line 842, in threadedcall
self.execute()
File "/home/apache/tactic/src/tactic/command/kronos.py", line 490, in execute
self.action(*self.args, **self.kw)
File "/home/apache/tactic/src/tactic/command/scheduler.py", line 237, in _do_execute
Batch(site=self.site, login_code=self.user, project_code=self.project,ticket=self.login_ticket)
File "/home/apache/tactic/src/pyasm/security/batch.py", line 60, in __init__
self._do_login()
File "/home/apache/tactic/src/pyasm/security/batch.py", line 86, in _do_login
security.login_as_batch(self.login_code, ticket=self.ticket)
File "/home/apache/tactic/src/pyasm/security/security.py", line 1453, in login_as_batch
self._login = Login.get_by_login(login_name, use_upn=True)
File "/home/apache/tactic/src/pyasm/security/security.py", line 255, in get_by_login
search = Search("sthpw/login")
File "/home/apache/tactic/src/pyasm/search/search.py", line 102, in __init__
project = Project.get_by_code(project_code)
File "/home/apache/tactic/src/pyasm/biz/project.py", line 223, in get_by_code
return super(Project, cls).get_by_code(project_name)
File "/home/apache/tactic/src/pyasm/search/search.py", line 5609, in get_by_code
search = Search( cls.SEARCH_TYPE )
File "/home/apache/tactic/src/pyasm/search/search.py", line 229, in __init__
raise SearchException('This database [%s] does not exist' %self.database)
pyasm.search.search.SearchException: This database [sthpw] does not exist
And one more:
user: admin
simple method: <function ApiXMLRPC.get_widget at 0x7f2d57de9170>
ticket: 6ff5033530698d4ad51
( 'tactic.ui.bootstrap_app.bootstrap_index_wdg.BootstrapSideBarPanelWdg',
{ 'args': { 'bvr_list': '[{"type": "load", "cbjs_action": '
'"\\nspt.side_bar = {};\\n// Side bar panel '
'functionality\\n//\\n//\\nspt.side_bar.load_section '
'= function(evt, bvr)\\n{\\nvar dst_el = '
'bvr.dst_el;\\nvar options = bvr.options;\\n// '
'get the class name from the destination '
'element\\nvar top_el = '
'dst_el.firstChild\\nvar class_name = '
'top_el.getAttribute(\\"spt_class_name\\")\\nEffects.fade_out(dst_el, '
'150);\\nvar server = '
'TacticServerStub.get();\\nvar kwargs = '
"{'args': options};\\nvar widget_html = "
'server.get_widget(class_name, '
'kwargs);\\nspt.behavior.replace_inner_html( '
'dst_el, widget_html '
');\\nEffects.fade_in(dst_el, 150);\\n}\\n// '
'Displays a table to a target id\\n//\\n// '
'behavior:\\n// target_id: the target id '
'element that the table will be put in\\n// '
'search_type: the search_type of the sobjects '
'in the table\\n// view: the view of the '
'table\\n//\\nspt.side_bar.display_link_cbk = '
'function(evt, bvr) {\\nvar target_id = '
'bvr.target_id;\\nvar title = bvr.title;\\nvar '
'options = bvr.options;\\nvar values = '
'bvr.values;\\nvar is_popup = '
'bvr.is_popup;\\nspt.side_bar._display_link_action( '
'target_id, title, options, values, is_popup '
');\\n}\\nspt.side_bar._display_link_action = '
'function(target_id, title, options, values, '
"is_popup)\\n{\\nvar busy_title = 'Load "
"View';\\nvar busy_msg = 'View is now loading "
"in a popup window ...';\\nif( ! "
'spt.is_TRUE(is_popup) ) {\\nbusy_msg = '
'\'\\"\' + title + \'\\" view is now loading '
"...';\\n}\\n//show busy "
'message\\n//spt.app_busy.show( busy_title, '
'busy_msg );\\nsetTimeout( function() '
'{\\nspt.side_bar._load_for_display_link_change(target_id, '
'title, options, values, is_popup);\\nif( '
'spt.is_TRUE(is_popup) '
')\\nspt.app_busy.hide();\\n}, 10 '
');\\n}\\nspt.side_bar._load_for_display_link_change '
'= function(target_id, title, options, values, '
'is_popup)\\n{\\n// var link = '
'spt.side_bar._link_display_info;\\nvar path = '
"options['path'];\\n// display a table\\nvar "
"widget_class = options['widget_key'];\\nif "
'(widget_class == null) {\\nwidget_class = '
'\\"tactic.ui.panel.ViewPanelWdg\\";\\n}\\noptions[\\"title\\"] '
'= title;\\nif( spt.is_TRUE(is_popup) ) '
"{\\noptions['target_id'] = "
'target_id;\\nspt.panel.load_popup(title, '
'widget_class, options);\\n}\\nelse {\\nvar '
'target_element = '
'document.id(target_id);\\nvar main_body = '
"document.id('main_body');\\nvar tab_top = "
'main_body.getElement(\\".spt_tab_top\\");\\nspt.tab.top '
'= tab_top;\\nvar class_name = '
"options['widget_key'];\\n// Use path instead "
'for the name\\n//var element_name = '
"options['element_name'];\\nvar element_name = "
"options['path'];\\nspt.tab.load_selected(element_name, "
'title, class_name, options, values);\\n// Set '
'the state of the page\\nvar key = '
'\\"top_layout\\";\\nvar panel_id = '
'\\"main_body\\";\\nvar server = '
'TacticServerStub.get();\\nserver.set_application_state(key, '
'panel_id, widget_class, options, '
'values);\\n// set the url hash\\nif '
'(typeof(options.element_name) != '
'\\"undefined\\") {\\nvar hash = '
'\\"/link/\\"+options.element_name;\\nif( ! '
'spt.browser.is_Firefox() && ! '
'spt.browser.is_Opera() ) {\\nhash = '
'encodeURI( hash );\\n}\\nvar state = '
"{\\nmode: 'tab',\\nhash: "
'hash,\\nelement_name: '
'options.element_name,\\ntitle: '
'title\\n};\\nvar url = '
'\\"link/\\"+options.element_name;\\nspt.hash.set_hash( '
'state, title, url );\\n}\\nelse '
'{\\nalert(\\"DEPRECATD: set hash in sidebar '
'load_display\\");\\nvar kwargs = '
"{'predefined': "
'true};\\nspt.panel.set_hash(panel_id, '
'widget_class, options, '
'kwargs)\\n}\\n}\\n}\\n// Command that occurs '
'when a user clicks on a '
'link\\n//\\nspt.side_bar.DisplayLinkCmd = '
'function(target_id, title, options, values, '
'is_popup) {\\nthis.target_id = '
'target_id;\\nthis.title = '
'title;\\nthis.options = '
'options;\\nthis.values = '
'values;\\nthis.is_popup = '
'is_popup;\\nthis.prev_options = '
'{};\\nthis.get_description = function () { '
'return \\"DisplayLinkCmd\\"};\\nthis.execute '
'= function() { \\n// get the target '
'element\\nvar target_element = '
'document.id(this.target_id);\\nthis.redo();\\n}\\nthis.redo '
'= function() {\\n// display a table\\nvar '
'widget_class = '
"this.options['class_name'];\\nif "
'(widget_class == null) {\\nwidget_class = '
'\\"tactic.ui.panel.ViewPanelWdg\\";\\n}\\nvar '
"path = this.options['path'];\\nif "
"(this.is_popup == 'true' || this.is_popup == "
'true) {\\n// set a default width of '
"600px\\n//this.options['width'] = "
"'600px';\\nthis.options['target_id'] = "
'this.target_id;\\nspt.panel.load_popup(path, '
'widget_class, this.options);\\n}\\nelse '
'{\\nvar target_element = '
'document.id(this.target_id);\\n//document.id(\\"breadcrumb\\").innerHTML '
"= '<div><img "
'src=\\"/context/icons/common/indicator_snake.gif\\" '
'border=\\"0\\"> \' '
"+\\n// 'Loading "
'\\"\' + this.title + \'\\" '
"...</div>';\\nspt.panel.load(target_element, "
'widget_class, this.options, this.values)\\n// '
'Set the state of the page\\nvar key = '
'\\"top_layout\\";\\nvar panel_id = '
'\\"main_body\\";\\nvar server = '
'TacticServerStub.get();\\n// Make sure to '
'send back the link title for the saved last '
'link options\\nthis.options[\\"title\\"] = '
'this.title\\nserver.set_application_state(key, '
'panel_id, widget_class, this.options, '
'this.values);\\n// also set the '
'breadcrumb\\n//document.id(\\"breadcrumb\\").innerHTML '
'= '
'path\\n//document.id(\\"breadcrumb\\").innerHTML '
'= this.title\\n// set the url hash\\nif '
'(typeof(this.options.element_name) != '
'\\"undefined\\") {\\nvar hash = '
'\\"link=\\"+this.options.element_name;\\nif( '
'! spt.browser.is_Firefox && ! '
'spt.browser.is_Opera ) {\\nhash = encodeURI( '
'hash );\\n}\\nspt.last_hash = '
'hash;\\nwindow.location.hash = '
'hash;\\n}\\n}\\n}\\nthis.undo = function() '
'{\\nvar target_element = '
'document.id(this.target_id);\\nEffects.fade_out(this.prev_target_id, '
'150);\\nvar server = '
'TacticServerStub.get();\\n// display a '
'table\\nwidget_class = '
'\\"tactic.ui.panel.ViewPanelWdg\\";\\nargs = '
'{\\n\\"search_type\\": '
'this.prev_search_type,\\n\\"view\\": '
'this.prev_view,\\n\\"search_view\\": '
'this.prev_search_view\\n};\\nvar kwargs = '
"{'args': args};\\nwidget_html = "
'server.get_widget(widget_class, kwargs);\\n// '
'Set the state of the page\\nkey = '
'\\"top_layout\\";\\npanel_name = '
'\\"main_body\\";\\nwidget_class = '
'\\"tactic.ui.panel.ViewPanelWdg\\";\\nserver.set_application_state(key, '
'panel_name, widget_class, args);\\n// replace '
'the former element with the new '
'element\\nspt.behavior.replace_inner_html( '
'target_element, widget_html '
');\\nEffects.fade_in(this.prev_target_id, '
'150);\\n// set the url\\nvar hash = '
'\\"search_type=\\" + this.search_type + '
'\\"&view=\\" + '
'this.view;\\nwindow.location.hash = '
'hash;\\n}\\n}\\n// This occurs when you use '
'the mouse wheel on the side bar. It causes '
'the\\n// whole side bar to '
'scroll\\n//\\nspt.side_bar.scroll = '
'function(evt, bvr) {\\nvar property = '
'\\"margin-top\\";\\nvar margin = '
'document.id(\\"side_bar_scroll\\").getStyle(property);\\nmargin '
'= parseInt(margin.replace(\\"px\\", '
'\\"\\"));\\nif (evt.wheel < 0) {\\nmargin -= '
'30;\\n}\\nelse {\\nmargin += 30;\\n}\\nif '
'(margin > 0) {\\nmargin = '
'0;\\ndocument.id(\\"side_bar_scroll_down\\").setStyle(\'display\', '
"'none');\\nvar pos = "
'document.id(window).getScroll();\\ndocument.id(window).scrollTo(pos.x, '
'pos.y - 30);\\n}\\nelse '
'{\\ndocument.id(\\"side_bar_scroll_down\\").setStyle(\'display\', '
'\'block\');\\n}\\ndocument.id(\\"side_bar_scroll\\").setStyle(property, '
'margin);\\n}\\n// This callback is called '
'when clicking on a section link in the side '
'bar.\\n// It toggles the display of a section '
'and then sets the state\\n//\\n// bvr.dst_el: '
'id of the section that is '
'displayed\\nspt.side_bar.toggle_section_display_cbk '
'= function(evt, bvr)\\n{\\nvar click_el = '
'document.id(bvr.src_el);\\n//hide el could be '
'the section or div inside the section\\nif '
'(spt.has_class(click_el, '
"'spt_side_bar_element'))\\nvar hide_el = "
'click_el.getElement(\\".spt_side_bar_section_content\\");\\nelse\\nvar '
'hide_el = spt.get_cousin(click_el, '
'\\".spt_side_bar_element\\", '
'\\".spt_side_bar_section_content\\");\\nbvr.slide_direction '
'= \\"vertical\\";\\nbvr.dst_el = '
'hide_el;\\nvar arrow_img_el = '
"click_el.getElement('img');\\nvar "
'arrow_img_src = '
"arrow_img_el.get('src');\\nif( "
'arrow_img_src.match( /_right_/ ) ) '
"{\\narrow_img_el.set('src', "
'arrow_img_src.replace(/_right_/,\\"_down_\\"));\\nhide_el.setStyle(\\"display\\", '
'\\"block\\");\\nhide_el.setStyle(\\"margin-top\\", '
'\\"-\\"+hide_el.getSize().y+\\"px\\")\\nnew '
'Fx.Tween(hide_el, '
'{duration:\\"short\\"}).start(\'margin-top\', '
'\\"0px\\");\\n}\\nelse '
"{\\narrow_img_el.set('src', "
'arrow_img_src.replace(/_down_/,\\"_right_\\"));\\nhide_el.setStyle(\\"margin-top\\", '
'\\"0px\\")\\nnew Fx.Tween(hide_el, '
'{duration:\\"short\\"}).start(\'margin-top\', '
'\\"-\\"+hide_el.getSize().y+\\"px\\");\\n//hide_el.setStyle(\\"display\\", '
'\\"none\\");\\n}\\nspt.side_bar.store_state();\\n}\\n//\\n// '
'Side bar state methods\\n//\\n// Stores the '
'state of the sidebar in a '
'cookie.\\nspt.side_bar.cookie = '
'null;\\nspt.side_bar.get_state = '
'function()\\n{\\nif (spt.side_bar_cookie == '
'null) {\\nspt.side_bar.cookie = new '
"Cookie('sidebar_status');\\n}\\nreturn "
'spt.side_bar.cookie;\\n}\\nspt.side_bar.store_state '
'= function()\\n{\\nvar elements = '
'document.id(\\"side_bar\\").getElements(\\".spt_side_bar_section_content\\");\\nvar '
'open_folders = {};\\nfor (var i = 0; i < '
'elements.length; i++) {\\nvar element = '
'elements[i];\\nif ( '
'element.getStyle(\\"display\\") == '
'\\"block\\" ) {\\nvar path = '
'element.getAttribute(\\"spt_path\\");\\nopen_folders[path] '
'= true;\\n}\\n}\\nvar state = '
'spt.side_bar.get_state();\\nstate.write(JSON.stringify(open_folders))\\n}\\nspt.side_bar.restore_state '
'= function()\\n{\\nvar side_bar_el = '
'document.id(\\"side_bar\\");\\nif( ! '
'side_bar_el ) {\\nspt.js_log.warning( '
'\\"WARNING: in spt.side_bar.restore_state(), '
'element with ID \'side_bar\' not found.\\" '
');\\nreturn;\\n}\\nvar elements = '
'side_bar_el.getElements(\\".spt_side_bar_section_content\\");\\nvar '
'state = spt.side_bar.get_state();\\nvar '
'open_folders = {};\\nif( state.read() ) '
'{\\nopen_folders = JSON.parse( state.read() '
');\\n}\\nelse {\\nreturn;\\n}\\nfor (var i = '
'0; i < elements.length; i++) {\\nvar element '
'= elements[i];\\nvar path = '
'element.getAttribute(\\"spt_path\\");\\n// '
'Find the element with the arrow indicator for '
'open or closed state of section ...\\nvar '
'prev = '
'document.id(element).getPrevious();\\nif '
'(!prev) continue;\\nvar arrow_img_el = '
'prev.getElement(\\"img\\");\\nvar img_src = '
"arrow_img_el.get('src');\\nif "
'(open_folders[path] == true) '
'{\\nelement.setStyle(\\"display\\", '
'\\"block\\");\\narrow_img_el.set(\'src\', '
'img_src.replace(/_right_/,\\"_down_\\"));\\n}\\nelse '
'{\\nelement.setStyle(\\"display\\", '
'\\"none\\");\\narrow_img_el.set(\'src\', '
'img_src.replace(/_down_/,\\"_right_\\"));\\n}\\n}\\n}\\n// '
'action widget '
'callback\\n//\\nspt.side_bar.manage_section_action_cbk '
'= function(element, view, is_personal) {\\n// '
'get the value of the element\\nvar value = '
'element.value;\\nif (value == \\"save\\") '
'{\\n// it could be saving other sub-views '
'involved as well like reordering \\n// within '
'the predefined views\\nif (confirm(\\"Save '
'ordering of this view [\\" + view + \\"] '
'?\\") ) {\\nvar server = '
'TacticServerStub.get();\\nserver.start({\\"title\\": '
'\\"Updating views\\"});\\nfor (changed_view '
'in spt.side_bar.changed_views) {\\nvar '
'search_type = '
'\\"SideBarWdg\\";\\nspt.side_bar.save_view(search_type, '
'changed_view, '
'is_personal);\\n}\\nspt.side_bar.changed_views '
'= '
'{};\\nserver.finish();\\nspt.panel.refresh(\\"side_bar\\");\\nspt.panel.refresh(\\"ManageSideBarBookmark_\\" '
'+ view);\\n}\\n}\\nelse if (value == '
'\\"predefined\\") '
"{\\nspt.popup.open('predefined_side_bar');\\n}\\nelse "
'if ( '
'[\\"new_link\\",\'new_folder\',\'new_separator\'].contains(value) '
') {\\nspt.side_bar.context_menu_cbk(value, '
'view, is_personal);\\n}\\nelse if (value == '
'\\"save_folder\\") {\\nvar popup_id = \\"New '
'Item Panel\\";\\nvar values = '
'spt.api.Utility.get_input_values(popup_id , '
'null, false);\\n// Convert the user input new '
'folder name all in lower case and replace all '
'spaces with underscores.\\n//var new_title = '
"values['new_name'].toLowerCase().replace(/ "
'/g,\\"_\\");;\\nvar new_title = '
"values['new_title'];\\nvar new_name = "
"values['new_name']\\nif "
'(spt.input.has_special_chars(new_name)) '
'{\\nalert(\\"The view name cannot contain '
'special characters. Please try again.\\"); '
'\\nreturn;\\n}\\nif '
'(spt.input.start_with_num(new_name)) '
'{\\nalert(\\"A view starting with a number is '
'not allowed.\\");\\nreturn;\\n}\\n// folder '
'view cannot be one of the predefined '
"views\\nvar predefined_views = ['_my_tactic', "
"'_preproduction','_asset_pipeline', "
"'_shot_pipeline', '_site_admin', "
"'_project_admin', '_overview', "
"'_application', '_editorial', '_template', "
"'definition', 'search', 'publish'];\\nif "
'(predefined_views.contains(new_title)) '
"{\\nalert('This view name [' + new_name + '] "
"is reserved');\\nreturn;\\n}\\n// don't "
'assign login for \\"project_view\\", but '
'personal and project view \\n// share the '
'same definition\\nvar kwargs = {};\\nvar '
'kwargs2 = {};\\nif (is_personal) {\\nvar user '
'= '
"spt.Environment.get().get_user();\\nkwargs['login'] "
"= user;\\nkwargs2['login'] = user;\\nnew_name "
"= user + '.' + new_name;\\n} \\n// save this "
'user-defined view\\nvar server = '
'TacticServerStub.get();\\nserver.start({\\"title\\": '
'\\"Adding folder\\", \\n\\"description\\": '
'\\"Adding folder [\\" + new_title + '
'\\"]\\"});\\nkwargs[\'class_name\'] '
"='SideBarSectionLinkWdg';\\nkwargs['element_attrs'] "
"= {'title': "
"new_title};\\nkwargs['display_options'] = "
"{'view': "
"new_name};\\nkwargs['auto_unique_name'] = "
"false;\\nkwargs['auto_unique_view'] = "
"false;\\nkwargs['unique'] = "
'true;\\ntry{ \\n// add it to the '
'project_view\\nsearch_type = '
"'SideBarWdg';\\n// Order matters here\\n// "
'set an option to auto adjust the element_name '
'to be unique\\nvar info = '
'server.add_config_element(search_type, '
"'definition', new_name, kwargs);\\nvar "
"unique_el_name = info['element_name'];\\n// "
'now add to project_view or '
'my_view_...\\nserver.add_config_element(search_type, '
'view, unique_el_name, kwargs2);\\n// only '
'extract elements inside the folder view '
'\\"new_folder\\"\\nvar folder_elements = '
"spt.side_bar.get_elements('new_folder', "
'popup_id);\\nvar folder_element_names = '
'[];\\nfolder_elements.each( function(x) '
'\\n{folder_element_names.push(x.getAttribute(\\"spt_element_name\\"))});\\nif '
'(folder_element_names.length > '
'0)\\nserver.update_config(search_type, '
'unique_el_name, folder_element_names, '
'kwargs2);\\nserver.finish();\\n}\\ncatch(err) '
'{\\nvar error_str = '
'spt.exception.handler(err);\\nalert(error_str);\\nserver.abort();\\nreturn;\\n}\\n//refresh '
'\\nspt.popup.destroy(popup_id);\\nspt.panel.refresh(\\"ManageSideBarBookmark_\\" '
'+ '
'view);\\nspt.panel.refresh(\\"side_bar\\");\\n}\\nelse '
'if (value == \\"save_link\\") {\\nvar '
'popup_id = \\"New Item Panel\\";\\nvar values '
'= spt.api.Utility.get_input_values(popup_id , '
'null, false);\\n// Convert the user input '
'link title all in lower case and replace all '
'spaces with underscores.\\nvar link_name = '
"values['new_link_title'].toLowerCase().replace(/ "
'/g,\\"_\\");\\nvar include_search_view = '
'values[\\"include_search_view\\"] == \'on\'; '
'\\nif '
'(spt.input.has_special_chars(link_name)) '
'{\\nalert(\\"The view name cannot contain '
'special characters. Please try again.\\"); '
'\\nreturn;\\n}\\n// link name cannot be one '
'of the predefined views\\nvar '
"predefined_views = ['_my_tactic', "
"'_preproduction','_asset_pipeline', "
"'_shot_pipeline', '_site_admin', "
"'_project_admin', '_overview', "
"'_application', '_editorial', '_template', "
"'definition', 'search', "
"'publish','edit','insert','edit_definition'];\\nif "
'(predefined_views.contains(link_name)) '
"{\\nalert('This view name [' + link_name + '] "
"is reserved');\\nreturn;\\n}\\nvar new_title "
'= link_name;\\nvar search_type = '
"values['new_search_type'];\\nif (!link_name "
"|| !search_type) {\\nalert('A title and a "
'search type are '
"required.');\\nreturn;\\n}\\nvar kwargs = "
'{};\\nvar kwargs2 = {};\\nvar new_view = '
"values['new_link_view'];\\nif (is_personal) "
'{\\nvar user = '
"spt.Environment.get().get_user();\\nkwargs['login'] "
"= user;\\nkwargs2['login'] = "
"user;\\nlink_name = user + '.' + "
"link_name;\\n//new_view = user + '.' + "
'new_view;\\n}\\nif (confirm(\\"Save this link '
'[\\" + new_title + \\"] ?\\") ) {\\ntry '
'{\\nvar server = '
'TacticServerStub.get();\\nserver.start({\\"title\\": '
'\\"Adding link\\",\\n\\"description\\": '
'\\"Adding link [\\" + new_title + '
'\\"]\\"});\\n//hard-code table view for '
"now\\nkwargs['class_name'] = "
"'LinkWdg';\\nkwargs['element_attrs'] = "
"{'title': new_title};\\nvar display_options "
"= {'search_type': search_type, 'view': "
'new_view};\\nif (include_search_view) '
"{\\ndisplay_options['search_view'] = "
"'link_search:' + new_view;\\n}\\n// special "
'case for CustomLayoutWdg\\nif (search_type == '
"'CustomLayoutWdg') {\\ndelete "
"display_options['search_view'];\\ndelete "
"display_options['search_type'];\\ndisplay_options['class_name'] "
'= '
"'tactic.ui.panel.CustomLayoutWdg';\\n}\\nkwargs['display_options'] "
'= '
"display_options;\\n//kwargs['auto_unique_name'] "
"= true;\\nkwargs['unique'] = true;\\n// add "
'it to the view, if view is self personal '
'view, add login\\nsearch_type = '
"'SideBarWdg';\\nvar info = "
'server.add_config_element(search_type, '
"'definition', link_name, kwargs);\\nvar "
"unique_el_name = info['element_name'];\\n// "
'now add to '
'project_view\\nserver.add_config_element(search_type, '
'view, unique_el_name, '
'kwargs2);\\nserver.finish();\\n//refresh '
'\\nspt.popup.destroy(popup_id);\\nspt.panel.refresh(\\"ManageSideBarBookmark_\\" '
'+ '
'view);\\nspt.panel.refresh(\\"side_bar\\");\\n}\\ncatch(e) '
'{\\nalert(spt.exception.handler(e));\\n}\\n}\\n}\\nelse '
'if (value == \\"save_separator\\") {\\nvar '
'popup_id = \\"New Item Panel\\";\\nvar name = '
"'separator';\\nvar server = "
'TacticServerStub.get();\\nserver.start({\\"title\\": '
'\\"Adding separator\\"});\\nvar kwargs = '
"{'class_name' : "
"'SeparatorWdg',\\n'element_attrs' : {'title': "
"'Separator'},\\n'unique': "
"false,\\n'auto_unique_name': "
"true,\\n'auto_unique_view': true}; \\n// add "
'it to the project_view\\nsearch_type = '
"'SideBarWdg';\\nvar kwargs2 = {};\\n//have "
'login for the view, and definition\\nif '
'(is_personal){\\nvar user = '
"spt.Environment.get().get_user();\\nkwargs['login'] "
"= user;\\nkwargs2['login'] = user;\\nname = "
"user + '.' + name;\\n}\\nvar info = "
'server.add_config_element(search_type, '
"'definition', name, kwargs);\\nvar "
"unique_el_name = info['element_name'];\\n// "
'now add to '
'project_view\\nserver.add_config_element(search_type, '
'view, unique_el_name, '
'kwargs2);\\nserver.finish();\\n//refresh '
'\\nspt.popup.destroy(popup_id);\\nspt.panel.refresh(\\"ManageSideBarBookmark_\\" '
'+ '
'view);\\nspt.panel.refresh(\\"side_bar\\");\\n}\\nelse '
'{\\nalert(\\"Unimplemented option: \\" + '
'value);\\n}\\nelement.value = '
'\\"\\";\\n}\\n// save the changed '
'views\\nspt.side_bar.save_view = '
'function(search_type, view, is_personal, '
'list_top) {\\n// backwards compatibility '
'(this is an id)\\nif (typeof(list_top) == '
"'undefined') {\\nvar elements;\\nif (view == "
'\\"definition\\") {\\nelements = '
'spt.side_bar.get_elements(view, '
'\\"menu_item_definition_list\\");\\n}\\nelse '
'{\\nelements = '
'spt.side_bar.get_elements(view);\\n}\\n}\\nelse '
'{\\nelements = '
'spt.side_bar.get_elements(view, '
'list_top);\\n}\\nif (spt.side_bar.found_view '
'== false) {\\nreturn;\\n}\\nvar element_names '
'= [];\\nfor (var i = 0; i < elements.length; '
'i++) {\\nvar element_name = '
'elements[i].getAttribute(\\"spt_element_name\\");\\nelement_names.push(element_name);\\n}\\nvar '
'server = TacticServerStub.get();\\n// will '
'get unexpected results if multiple folders '
'share the same view\\n//\\nvar kwargs = '
"{};\\nif (is_personal){\\nkwargs['login'] = "
'spt.Environment.get().get_user();\\n}\\n//add '
'the trashed '
"items\\nkwargs['deleted_element_names'] = "
'spt.side_bar.trashed_items;\\nserver.update_config(search_type, '
'view, element_names, '
'kwargs);\\nspt.side_bar.trashed_items = '
'[];\\n}\\n// get all the elements of a '
'specific view\\nspt.side_bar.found_view = '
'false;\\nspt.side_bar.get_elements = '
'function(view, list_id) {\\nif '
"(typeof(list_id) == 'undefined' || list_id == "
'null) {\\nlist_id = '
'\\"menu_item_list\\";\\n}\\nvar elements = '
'document.id(list_id).getElements(\\".spt_side_bar_element\\");\\nif '
"(typeof(view) == 'undefined') {\\nreturn "
'elements;\\n}\\nspt.side_bar.found_view = '
'false;\\nvar data = {};\\nfor (var i = 0; i < '
'elements.length; i++) {\\nvar element = '
'elements[i];\\nvar element_view = '
'element.getAttribute(\\"spt_view\\");\\nif '
'(element_view == view) '
'{\\nspt.side_bar.found_view = true;\\n}\\n// '
'ignore the dummy created when there are no '
'elements\\nif '
'(element.hasClass(\\"spt_side_bar_dummy\\")) '
'{\\ncontinue;\\n}\\n// dynamically create the '
'list\\nvar element_list = '
'data[element_view];\\nif (element_list == '
'null) {\\nelement_list = '
'[];\\ndata[element_view] = '
'element_list;\\n}\\n//var element_name = '
'elements[i].getAttribute(\\"spt_element_name\\");\\nelement_list.push(element);\\n}\\nif '
'(spt.side_bar.found_view) {\\nvar '
'element_list = data[view];\\nif '
'(element_list)\\nreturn '
'element_list;\\nelse\\nreturn [];\\n}\\nelse '
'{\\n// to prevent undefined from being '
'returned\\nreturn [];\\n}\\n}\\n//\\n// Drag '
'and drop actions for the '
'elements\\n//\\nspt.side_bar.changed_views = '
'{};\\nspt.side_bar.trashed_items = '
'[];\\nspt.side_bar.active_elems = '
'{};\\nspt.side_bar.pp_setup = function(evt, '
'bvr, mouse_411)\\n{ \\nvar clonable = '
'bvr.src_el;\\nif (! '
'clonable.hasClass(\\"spt_side_bar_element\\")) '
'{\\nclonable = '
"bvr.src_el.getParent('.spt_side_bar_element');\\n}\\n// "
'make sure that the src element is actually a '
'side bar element.\\n//if (! '
'bvr.src_el.hasClass(\\"spt_side_bar_element\\")) '
'{\\n// bvr.src_el = '
'bvr.src_el.parentNode;\\n//}\\nvar ghost_el = '
'document.id(bvr.drag_el);\\nif (!ghost_el) '
'{\\nvar ghost_el = '
'spt.mouse._create_drag_copy( bvr.src_el '
');\\nbvr.drag_el = ghost_el;\\n}\\nif( '
'ghost_el )\\n{\\n// Make a clone of the '
'source div that we clicked on to drag '
'...\\nvar src_copy = '
'spt.behavior.clone(clonable);\\nvar w = '
'clonable.clientWidth;\\nvar h = '
'clonable.clientHeight;\\n// Use this if you '
'want the initial ghost div position to be '
'offset from mouse same as on mouse momve '
'...\\nghost_el.setStyle( \\"left\\", '
'(mouse_411.curr_x + 10) '
');\\nghost_el.setStyle( \\"top\\", '
'(mouse_411.curr_y + 10) '
');\\nghost_el.setStyle( \\"width\\", w '
');\\nghost_el.setStyle( \\"height\\", h '
');\\n// Then plug the clone div into the '
'Utility ghost_el div to be the contents of '
'the drop ...\\nghost_el.innerHTML = '
'\\"\\";\\nghost_el.appendChild( '
'document.id(src_copy) );\\nghost_el.setStyle( '
'\\"display\\", \\"block\\" '
');\\nghost_el.setStyle( \\"text-align\\", '
'\\"left\\" );\\n//ghost_el.setStyle( '
'\\"background\\", '
'\\"#4F4FC4\\");\\nghost_el.setStyle( '
'\\"box-shadow\\", \\"0px 0px 5px '
'rgba(0,0,0,0.5)\\");\\n}\\nelse '
'{\\nspt.js_log.debug(\\"WARNING: NO ghost el '
'found in spt.side_bar.pp_setup() '
'callback!\\");\\n}\\n}\\nspt.side_bar.pp_motion '
'= function(evt, bvr, mouse_411)\\n{\\nvar '
'ghost_el = document.id(bvr.drag_el);\\nif( '
'ghost_el )\\n{\\nghost_el.setStyle( '
'\\"left\\", (mouse_411.curr_x + 10) '
');\\nghost_el.setStyle( \\"top\\", '
'(mouse_411.curr_y + 10) );\\nvar elem = '
'spt.side_bar.pp_find_drop_elem(evt, bvr, '
'mouse_411);\\n//make the Trash can having a '
'hard border\\nif '
'(spt.side_bar.pp_is_trash(elem))\\nspt.add_class(elem, '
"'look_menu_hover');\\nelse\\n{\\nelem = "
"spt.side_bar.active_elems['trash'];\\nif "
'(elem)\\nspt.remove_class(elem, '
"'look_menu_hover');\\n}\\n}\\n}\\n// Find "
'valid droppable '
'element\\nspt.side_bar.pp_find_drop_elem = '
'function(evt, bvr)\\n{\\n// find drop element '
'inside out\\nvar found = false;\\nvar '
'drop_on_el = '
'spt.get_event_target(evt);\\nwhile( '
"drop_on_el ) {\\nif( ('getAttribute' in "
'drop_on_el) && '
'drop_on_el.getAttribute(\\"SPT_ACCEPT_DROP\\") '
'== \\"manageSideBar\\" ) {\\nfound = '
'true;\\nbreak;\\n}\\ndrop_on_el = '
'drop_on_el.parentNode;\\n}\\nif ( found '
')\\nreturn drop_on_el;\\nelse\\nreturn '
'null;\\n}\\nspt.side_bar.pp_is_trash = '
'function(drop_on_el)\\n{\\nif (drop_on_el && '
'drop_on_el.hasClass(\\"spt_side_bar_trash\\") '
'== '
"true)\\n{\\nspt.side_bar.active_elems['trash'] "
'= drop_on_el;\\nreturn true;\\n}\\nreturn '
'false;\\n}\\nspt.side_bar.pp_action = '
'function(evt, bvr)\\n{\\nvar ghost_el = '
'bvr.drag_el;\\nif( ! ghost_el ) '
'{\\nreturn;\\n}\\n// Grab the cloned div that '
'we had plugged in as the contents '
'(firstChild) of the ghost_el Utility div '
'...\\nvar ghost_content = '
'ghost_el.removeChild( ghost_el.firstChild '
');\\nghost_el.innerHTML = '
'\\"\\";\\nghost_el.style.display = '
'\\"none\\";\\n// find valid drop '
'element\\nvar drop_on_el = '
'spt.side_bar.pp_find_drop_elem(evt, '
'bvr);\\nif (!drop_on_el)\\nreturn;\\nvar mode '
'= bvr.mode;\\nif (!mode) {\\n// look for '
'parent\\nvar start_content = '
'bvr.src_el.getParent(\\".spt_side_bar_content\\");\\nvar '
'end_content = '
'drop_on_el.getParent(\\".spt_side_bar_content\\");\\nif '
'(end_content == null) {\\nmode = '
'\\"move\\";\\n}\\nelse {\\nvar start_view = '
'start_content.getAttribute(\\"spt_view\\");\\nvar '
'end_view = '
'end_content.getAttribute(\\"spt_view\\");\\nif '
'(start_view != end_view) {\\nmode = '
'\\"copy\\";\\n}\\nelse {\\nmode = '
'\\"move\\";\\n}\\n}\\n}\\nvar contents;\\nif '
'(mode == \\"copy\\") {\\ncontents = '
'ghost_content;\\n}\\nelse {\\n// make sure '
'that the contents is actually a side bar '
'element.\\nvar contents = bvr.src_el;\\nif (! '
'contents.hasClass(\\"spt_side_bar_element\\")) '
'{\\ncontents = '
"contents.getParent('.spt_side_bar_element');\\n}\\n}\\nvar "
'view;\\n// Record that the old view has '
'changed if not in copy mode\\nvar old_view = '
'contents.getAttribute(\\"spt_view\\")\\nif '
"(mode != 'copy') "
'{\\nspt.side_bar.changed_views[old_view] = '
'true;\\n}\\n// up one level if dropped on a '
'section link\\nif '
'(drop_on_el.hasClass(\\"spt_side_bar_section_link\\"))\\ndrop_on_el '
'= '
'drop_on_el.getParent(\\".spt_side_bar_section\\");\\n// '
'if dropped on trash\\nif '
'(spt.side_bar.pp_is_trash(drop_on_el) ) '
'{\\nvar name = '
"contents.getAttribute('spt_element_name');\\nspt.side_bar.trashed_items.push(name);\\ncontents.destroy();\\nelem "
"= spt.side_bar.active_elems['trash'];\\nif "
'(elem)\\nspt.remove_class(elem, '
"'look_menu_hover');\\nreturn;\\n}\\n// if "
'dropped on a section or a section link\\nelse '
'if( '
'drop_on_el.hasClass(\\"spt_side_bar_section\\") '
') {\\nvar children = '
'drop_on_el.getElements(\\".spt_side_bar_element\\");\\nif '
'(children[0] != null && '
'!children[0].hasClass(\\"spt_side_bar_dummy\\")) '
'{\\ncontents.inject(children[0], '
"'before');\\nview = "
'children[0].getAttribute(\\"spt_view\\");\\n}\\nelse '
'{\\nvar container = '
'drop_on_el.getElement(\\".spt_side_bar_section_content\\");\\ncontainer.appendChild(contents);\\n// '
'get the view\\n// FIXME: assume view == '
'element_name\\n//view = '
'drop_on_el.getAttribute(\\"spt_view\\");\\nview '
'= '
'drop_on_el.getAttribute(\\"spt_element_name\\");\\n}\\n}\\n// '
'if dropped on a link\\nelse if ( '
'drop_on_el.hasClass(\\"spt_side_bar_link\\") '
'== true ) {\\ncontents.inject(drop_on_el, '
"'before');\\nview = "
'drop_on_el.getAttribute(\\"spt_view\\");\\n}\\nelse '
'if( '
'drop_on_el.hasClass(\\"spt_section_top\\") ) '
'{\\nvar children = '
'drop_on_el.getElements(\\".spt_side_bar_element\\");\\nvar '
'last = '
'children[children.length-1];\\ncontents.inject(last, '
"'after');\\nview = "
'last.getAttribute(\\"spt_view\\");\\n}\\n// '
'if dropped on any other element\\nelse '
'{\\nvar parent = '
'drop_on_el.getParent(\\".spt_side_bar_element\\");\\ncontents.inject(parent, '
"'before');\\nview = "
'parent.getAttribute(\\"spt_view\\");\\n}\\n// '
'switch view\\nif (view == null) '
'{\\nalert(\\"view is '
'NULL!!!!\\");\\n}\\n//\\nif (mode == '
"'copy') {\\nvar element_name = "
'contents.getAttribute(\\"spt_element_name\\");\\nvar '
'element_title = '
'contents.getAttribute(\\"spt_title\\");\\n//var '
'content_view = base + \\"_\\" + '
'element_name;\\nvar content_view = '
'element_name;\\nif (content_view.substr(0,1) '
'== \\"_\\") {\\ncontent_view = '
'content_view.substr(1, '
'content_view.length);\\n}\\n// check to see '
'what that there are no duplicate view '
'titles\\nvar menu_item_list = '
'contents.getParent(\\".spt_menu_item_list\\");\\nelements '
'= spt.side_bar.get_elements(view, '
'menu_item_list);\\nelement_list = new '
'Array();\\nfor (var i = 0; i < '
'elements.length; i++) {\\nvar '
'cur_element_name = '
'elements[i].getAttribute(\\"spt_element_name\\");\\npat '
"= new RegExp( '^' + element_name+ "
"'\\\\d*');\\nif (cur_element_name.match(pat)) "
'{\\nelement_list.push(cur_element_name);\\n}\\n}\\nif '
'(element_list.length > 0) {\\ncontent_view = '
'content_view + '
'element_list.length;\\nelement_title = '
'element_title + '
'element_list.length;\\n}\\ncontents.setAttribute(\\"spt_element_name\\", '
'content_view);\\ncontents.setAttribute(\\"spt_title\\", '
'element_title);\\n// set the new view of the '
'element\\ncontents.setAttribute(\\"spt_view\\", '
'view);\\n// go through the elements names and '
'change them to the new view\\nvar elements = '
'contents.getElements(\\".spt_side_bar_element\\");\\nfor '
'(var i = 0; i < elements.length; i++) {\\nvar '
'element = '
'elements[i];\\nelement.setAttribute(\\"spt_view\\", '
'content_view);\\n}\\n// change the '
'title\\nvar title = '
'contents.getElement(\\".spt_side_bar_title\\");\\nif '
'(title){\\nvar title_icon = '
'title.getFirst();\\nif (!title_icon) '
'{\\ntitle.innerHTML = element_title;\\n} else '
'{\\ntitle.innerHTML = '
"'';\\ntitle.appendChild(title_icon);\\ntitle.appendText(element_title);\\n}\\n}\\nspt.side_bar.changed_views[view] "
'= true;\\n}\\nelse {\\n// set the new view of '
'the '
'element\\ncontents.setAttribute(\\"spt_view\\", '
'view);\\nspt.side_bar.changed_views[view] = '
'true;\\n}\\nif( bvr.class_name ) '
'{\\nspt.side_bar.display_element_info_cbk(evt,bvr);\\n}\\n}\\nspt.side_bar.context_menu_cbk '
'= function(action, view, is_personal) {\\nvar '
'element_name = null;\\n/*\\nconfig = '
"document.createElement('config')\\nelement = "
"document.createElement('element')\\ndisplay "
'= '
"document.createElement('display')\\nconfig.appendChild(element);\\nelement.appendChild(display);\\n*/\\nif "
'(action == \\"new_link\\") {\\nelement_name = '
'\\"new_link\\";\\n}\\nelse if (action == '
'\\"new_folder\\") {\\nelement_name = '
'\\"new_folder\\";\\n}\\nelse if (action == '
'\\"new_separator\\") {\\nelement_name = '
'\\"new_separator\\";\\n}\\nif (element_name) '
'{\\nvar clone = '
'spt.side_bar.add_new_item(view, '
"element_name);\\n//clone.setStyle('background', "
"'#6CB87B');\\nif (element_name "
"=='new_separator') "
"{\\nspt.side_bar.manage_section_action_cbk({'value':'save_separator'},view, "
'is_personal);\\n}\\n}\\n}\\nspt.side_bar.add_new_item '
'= function(view, element_name, template_top) '
'{\\nvar list_id = \\"menu_item_list\\";\\nvar '
"options = {'type': element_name, 'view': "
'view};\\nvar popup_id = \\"New Item '
'Panel\\";\\nnew_item_class = '
"'tactic.ui.panel.ManageViewNewItemWdg';\\nspt.panel.load_popup(popup_id, "
"'tactic.ui.panel.ManageViewNewItemWdg', "
'options, {});\\n// get the template menu '
'items\\n// index is prone to error, use '
'element_name instead\\nif ( '
"typeof(template_top) == 'undefined' ) "
'{\\ntemplate_top = '
'document.id(\\"menu_item_template\\");\\n}\\nvar '
'menu_item = '
'template_top.getElement(\\"div[spt_element_name=\\" '
'+ element_name +\\"]\\");\\nif '
'(!menu_item)\\nreturn;\\nvar clone = '
'spt.behavior.clone(menu_item);\\n// get the '
'element and inject after\\nvar div = '
"document.id(popup_id).getElement('.spt_new_item');\\ndiv.appendChild(clone);\\n// "
'now add some properties to the new '
'element\\nif (element_name '
'=\'new_folder\')\\nclone.addClass(\\"spt_side_bar_section\\");\\nelse\\nclone.addClass(\\"spt_side_bar_element\\");\\nclone.setAttribute(\\"spt_view\\", '
'view);\\n// get the current name of the '
'cloned element\\nvar clone_name = '
'clone.getAttribute(\\"spt_element_name\\");\\nbvr '
'= {};\\nbvr.src_el = clone;\\nreturn '
'clone;\\n}\\n//\\n// Element info setting and '
'saving\\n//\\nspt.side_bar.display_element_info_cbk '
'= function(evt, bvr)\\n{\\nvar top = '
'bvr.src_el.getParent(\\".spt_view_manager_top\\");\\nif '
'(!top)\\nreturn;\\nvar detail_panel = '
'top.getElement(\\".spt_view_manager_detail\\");\\nvar '
'src_el = bvr.src_el;\\nvar element_name = '
'src_el.getAttribute(\\"spt_element_name\\");\\nif '
'(element_name == null) {\\nsrc_el = '
'src_el.getParent(\\".spt_side_bar_element\\");\\nelement_name '
'= '
'src_el.getAttribute(\\"spt_element_name\\");\\n}\\nvar '
'search_type = '
'detail_panel.getAttribute(\\"spt_search_type\\");\\nvar '
'personal = '
'detail_panel.getAttribute(\\"spt_personal\\");\\nvar '
'view = '
'src_el.getAttribute(\\"spt_view\\");\\nvar '
'path = '
'src_el.getAttribute(\\"spt_path\\");\\nvar '
'login = '
'detail_panel.getAttribute(\\"spt_login\\");\\nvar '
'is_default = '
'src_el.getAttribute(\\"spt_default\\");\\nvar '
'config_xml = bvr[\\"config_xml\\"];\\n// '
'rename\\nif (config_xml) {\\n//it could be '
'double or single quotes\\nvar pat = new '
"RegExp('(.*element "
'.*name=(?:\\\\\\"|\\\\\'))([^\\\\\\\\s\\\\\\\\t]*)((?:\\\\\\"|\\\\\').*)\')\\nvar '
'm = config_xml.match(pat);\\nif (m) '
"{\\nconfig_xml = config_xml.replace(pat, '$1' "
"+ element_name +'$3');\\n}\\n}\\nelse "
"{\\nconfig_xml = '';\\n}\\nvar server = "
'TacticServerStub.get();\\nvar class_name = '
'bvr.class_name;\\nvar options = '
Error: No module named 'spt'
--------------------------------------------------
By the way, some more minor errors:
GET http://MYSRV/plugins/pdfjs/web/viewer.js?ver=4.8.0.a01 net::ERR_ABORTED 404 (Not Found)
GET http://MYSRV/plugins/pdfjs/build/pdf.js?ver=4.8.0.a01 net::ERR_ABORTED 404 (Not Found)
-------------
xmlrpc.js?ver=4.8.0.a01:115 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
Connection.post @ xmlrpc.js?ver=4.8.0.a01:115
AjaxService.invoke @ xmlrpc.js?ver=4.8.0.a01:172
TacticServerStub._delegate @ client_api.js?ver=4.8.0.a01:2076
TacticServerStub.get_widget @ client_api.js?ver=4.8.0.a01:1566
spt.hash.onload_first @ spt_onload_startup.js?ver=4.8.0.a01:247
spt.onload_startup @ spt_onload_startup.js?ver=4.8.0.a01:40
onload @ (index):67