Fixes in patches for user permissions

This commit is contained in:
Anand Doshi 2014-06-04 15:20:02 +05:30
parent 2b2a608bab
commit 274ccd1eae
4 changed files with 28 additions and 11 deletions

View file

@ -7,6 +7,7 @@ from __future__ import unicode_literals
import os
import subprocess
import frappe
from frappe.utils import cint
site_arg_optional = ['serve', 'build', 'watch', 'celery', 'resize_images']
@ -287,9 +288,9 @@ def use(sites_path):
sitefile.write(frappe.local.site)
# install
@cmd
def install(db_name, root_login="root", root_password=None, source_sql=None,
def _install(db_name, root_login="root", root_password=None, source_sql=None,
admin_password = 'admin', force=False, site_config=None, reinstall=False, quiet=False, install_apps=None):
from frappe.installer import install_db, install_app, make_site_dirs
import frappe.utils.scheduler
@ -312,17 +313,22 @@ def install(db_name, root_login="root", root_password=None, source_sql=None,
install_app(app, verbose=verbose, set_as_patched=not source_sql)
frappe.utils.scheduler.toggle_scheduler(enable_scheduler)
scheduler_status = "disabled" if frappe.utils.scheduler.is_scheduler_disabled() else "enabled"
print "*** Scheduler is", scheduler_status, "***"
@cmd
def install(db_name, root_login="root", root_password=None, source_sql=None,
admin_password = 'admin', force=False, site_config=None, reinstall=False, quiet=False, install_apps=None):
_install(db_name, root_login, root_password, source_sql, admin_password, force, site_config, reinstall, quiet, install_apps)
frappe.destroy()
def _is_scheduler_enabled():
enable_scheduler = False
try:
frappe.connect()
enable_scheduler = frappe.db.get_default("enable_scheduler")
enable_scheduler = cint(frappe.db.get_default("enable_scheduler"))
except:
pass
finally:
frappe.db.close()
@ -363,10 +369,13 @@ def reinstall(quiet=False):
@cmd
def restore(db_name, source_sql, force=False, quiet=False, with_scheduler_enabled=False):
import frappe.utils.scheduler
verbose = not quiet
install(db_name, source_sql=source_sql, verbose=verbose, force=force)
_install(db_name, source_sql=source_sql, quiet=quiet, force=force)
frappe.utils.scheduler.toggle_scheduler(with_scheduler_enabled)
try:
frappe.connect()
frappe.utils.scheduler.toggle_scheduler(with_scheduler_enabled)
finally:
frappe.destroy()
@cmd
def add_system_manager(email, first_name=None, last_name=None):

View file

@ -473,6 +473,13 @@
"submit": 0,
"write": 1
},
{
"apply_user_permissions": 1,
"permlevel": 0,
"read": 1,
"role": "All",
"write": 1
},
{
"apply_user_permissions": 0,
"create": 0,

View file

@ -3,7 +3,7 @@ execute:import inlinestyler # new requirement
execute:frappe.db.sql("""update `tabPatch Log` set patch=replace(patch, '.4_0.', '.v4_0.')""") #2014-05-12
execute:frappe.reload_doc('core', 'doctype', 'doctype', force=True) #2014-01-24
execute:frappe.reload_doc('core', 'doctype', 'docfield', force=True) #2014-03-01
execute:frappe.reload_doc('core', 'doctype', 'docperm') #2013-13-26
execute:frappe.reload_doc('core', 'doctype', 'docperm') #2014-06-04
execute:frappe.reload_doc('core', 'doctype', 'page') #2013-13-26
execute:frappe.reload_doc('core', 'doctype', 'report') #2014-06-03
execute:frappe.reload_doc('core', 'doctype', 'version') #2014-02-21

View file

@ -16,8 +16,8 @@ def create_custom_field_for_owner_match():
where `match`='owner' and permlevel=0"""):
# a link field pointing to User already exists
if frappe.db.get_value("DocField", {"parent": dt, "fieldtype": "Link", "options": "User",
"default": "__user"}):
if (frappe.db.get_value("DocField", {"parent": dt, "fieldtype": "Link", "options": "User", "default": "__user"})
or frappe.db.get_value("Custom Field", {"dt": dt, "fieldtype": "Link", "options": "User", "default": "__user"})):
print "User link field already exists for", dt
continue
@ -28,7 +28,8 @@ def create_custom_field_for_owner_match():
"label": "{} Owner".format(dt),
"fieldname": fieldname,
"fieldtype": "Link",
"options": "User"
"options": "User",
"default": "__user"
}))
frappe.db.sql("""update `tab{doctype}` set `{fieldname}`=owner""".format(doctype=dt,