diff --git a/py/core/doctype/customize_form/customize_form.js b/py/core/doctype/customize_form/customize_form.js
index 5cd43a1ae6..c2fcbc3f36 100644
--- a/py/core/doctype/customize_form/customize_form.js
+++ b/py/core/doctype/customize_form/customize_form.js
@@ -33,9 +33,10 @@ cur_frm.cscript.onload = function(doc, dt, dn) {
cur_frm.cscript.refresh = function(doc, dt, dn) {
//console.log(p)
- $(cur_frm.frm_head.timestamp_area).toggle(false);
- $(cur_frm.frm_head.page_head.buttons.Save).toggle(false);
- $(cur_frm.page_layout.footer).toggle(false);
+ //$(cur_frm.frm_head.timestamp_area).toggle(false);
+ //$(cur_frm.frm_head.page_head.buttons.Save).toggle(false);
+ //$(cur_frm.page_layout.footer).toggle(false);
+ cur_frm.frm_head.appframe.clear_buttons();
cur_frm.add_custom_button('Update', function() {
if(cur_frm.fields_dict['doc_type'].value) {
@@ -43,17 +44,17 @@ cur_frm.cscript.refresh = function(doc, dt, dn) {
if(r.exc) {
msgprint(r.exc);
} else {
- wn.ui.toolbar.clear_cache();
if(r.server_messages) { cur_frm.cscript.doc_type(doc, doc.doctype, doc.name); }
- cur_frm.frm_head.status_area.innerHTML =
- 'Saved';
+ this.$w.find('.label-area').html(repl('\
+ %(lab_status)s', {
+ lab_status: 'Saved',
+ lab_class: 'label-success'
+ }));
}
});
}
},1);
- $(cur_frm.frm_head.page_head.buttons.Update).addClass('btn-info');
+ //$(cur_frm.frm_head.page_head.buttons.Update).addClass('btn-info');
cur_frm.add_custom_button('Refresh Form', function() {
cur_frm.cscript.doc_type(doc, dt, dn);
@@ -65,10 +66,10 @@ cur_frm.cscript.refresh = function(doc, dt, dn) {
}, 1);
if(!doc.doc_type) {
- var page_head = cur_frm.frm_head.page_head;
- page_head.buttons['Update'].disabled = true;
- page_head.buttons['Refresh Form'].disabled = true;
- page_head.buttons['Reset to defaults'].disabled = true;
+ var frm_head = cur_frm.frm_head.appframe;
+ $(frm_head.buttons['Update']).attr('disabled', true);
+ $(frm_head.buttons['Refresh Form']).attr('disabled', true);
+ $(frm_head.buttons['Reset to defaults']).attr('disabled', true);
}
cur_frm.cscript.hide_allow_attach(doc, dt, dn);
@@ -119,7 +120,6 @@ cur_frm.confirm = function(msg, doc, dt, dn) {
'Saved';
- wn.ui.toolbar.clear_cache();
}
});
});
diff --git a/py/webnotes/install_lib/install.py b/py/webnotes/install_lib/install.py
index 77f8a21f3d..092a4808b9 100755
--- a/py/webnotes/install_lib/install.py
+++ b/py/webnotes/install_lib/install.py
@@ -79,9 +79,9 @@ class Installer:
# fresh app
if 'Framework.sql' in source_path:
- from webnotes.model.sync import sync_core_doctypes
- print "Building tables from core module..."
- sync_core_doctypes()
+ from webnotes.model.sync import sync_install
+ print "Building tables from all module..."
+ sync_install()
# framework cleanups
self.framework_cleanups(target)
@@ -94,7 +94,6 @@ class Installer:
import webnotes
self.create_sessions_table()
self.create_scheduler_log()
- self.create_doctype_cache()
self.create_session_cache()
self.create_cache_item()
@@ -127,15 +126,6 @@ class Installer:
error text
) engine=MyISAM""")
- def create_doctype_cache(self):
- import webnotes
- self.dbman.drop_table('__DocTypeCache')
- webnotes.conn.sql("""create table `__DocTypeCache` (
- name VARCHAR(120),
- modified DATETIME,
- content TEXT,
- server_code_compiled TEXT)""")
-
def create_session_cache(self):
import webnotes
self.dbman.drop_table('__SessionCache')
diff --git a/py/webnotes/model/sync.py b/py/webnotes/model/sync.py
index f7ffadf554..1702b95fcc 100644
--- a/py/webnotes/model/sync.py
+++ b/py/webnotes/model/sync.py
@@ -5,19 +5,26 @@
import webnotes
def sync_all(force=0):
- sync_core_doctypes(force)
- sync_modules(force)
- webnotes.conn.sql("DELETE FROM __CacheItem")
+ modules = []
+ modules += sync_core_doctypes(force)
+ modules += sync_modules(force)
+ try:
+ webnotes.conn.begin()
+ webnotes.conn.sql("DELETE FROM __CacheItem")
+ webnotes.conn.commit()
+ except Exception, e:
+ if e[0]!=1146: raise e
+ return modules
def sync_core_doctypes(force=0):
import os
import core
# doctypes
- walk_and_sync(os.path.abspath(os.path.dirname(core.__file__)), force)
+ return walk_and_sync(os.path.abspath(os.path.dirname(core.__file__)), force)
def sync_modules(force=0):
import conf
- walk_and_sync(conf.modules_path, force)
+ return walk_and_sync(conf.modules_path, force)
def walk_and_sync(start_path, force=0):
"""walk and sync all doctypes and pages"""
@@ -46,9 +53,7 @@ def walk_and_sync(start_path, force=0):
reload_doc(module_name, 'page', name)
print module_name + ' | ' + doctype + ' | ' + name
- # load install docs
- load_install_docs(modules)
-
+ return modules
# docname in small letters with underscores
@@ -124,6 +129,13 @@ def save_perms_if_none_exist(doclist):
if d.get('doctype') != 'DocPerm': continue
Document(fielddata=d).save(1, check_links=0, ignore_fields=1)
+def sync_install(force=1):
+ # sync all doctypes
+ modules = sync_all(force)
+
+ # load install docs
+ load_install_docs(modules)
+
def load_install_docs(modules):
import os
if isinstance(modules, basestring): modules = [modules]
diff --git a/py/webnotes/widgets/form/load.py b/py/webnotes/widgets/form/load.py
index 77737200a2..a2ae4c9168 100644
--- a/py/webnotes/widgets/form/load.py
+++ b/py/webnotes/widgets/form/load.py
@@ -130,4 +130,4 @@ def get_search_criteria(dt):
for sc in sc_list:
if sc[0]:
dl += webnotes.model.doc.get('Search Criteria', sc[0])
- return dl
\ No newline at end of file
+ return dl