@@ -1,8 +1,8 @@ | |||||
## wnframework | |||||
## frappe | |||||
Full-stack web application framework that uses Python/MySql on the server side and a tightly integrated client side library. Primarily built for erpnext. | Full-stack web application framework that uses Python/MySql on the server side and a tightly integrated client side library. Primarily built for erpnext. | ||||
Projects: [erpnext](http://erpnext.org) | [webnotes/erpnext](https://github.com/webnotes/erpnext) | |||||
Projects: [erpnext](http://erpnext.org) | [frappe/erpnext](https://github.com/frappe/erpnext) | |||||
## Setup | ## Setup | ||||
@@ -11,25 +11,30 @@ To start a new project, in the application root: | |||||
Install: | Install: | ||||
1. Go to the project folder | 1. Go to the project folder | ||||
1. Install webnotes and your app: | |||||
$ git clone git@github.com:webnotes/wnframework lib | |||||
$ git clone git@github.com:webnotes/[your app] app | |||||
$ lib/wnf.py --make_conf | |||||
$ lib/wnf.py --reinstall | |||||
$ lib/wnf.py --build | |||||
1. Install frappe and your app: | |||||
mkdir bench | |||||
cd bench | |||||
git clone https://github.com/frappe/frappe.git | |||||
git clone https://github.com/frappe/[your_app] | |||||
sudo pip install -e frappe/ erpnext/ your_app/ | |||||
mkdir sites | |||||
echo app >> sites/apps.txt | |||||
cd sites | |||||
frappe site.local --install erpnext | |||||
frappe site.local --install_app your_app | |||||
1. Run development server: | 1. Run development server: | ||||
$ lib/wnf.py --serve | |||||
cd sites | |||||
frappe site.local --serve | |||||
enjoy! | enjoy! | ||||
## wnf.py | ## wnf.py | ||||
`$ lib/wnf.py --help` for more info | |||||
`frappe --help` for more info | |||||
## License | ## License | ||||
wnframework is freely available to use under the MIT License | |||||
frappe is freely available to use under the MIT License |
@@ -416,6 +416,7 @@ def get_hooks(hook=None, app_name=None): | |||||
def load_app_hooks(app_name=None): | def load_app_hooks(app_name=None): | ||||
hooks = {} | hooks = {} | ||||
for app in [app_name] if app_name else get_installed_apps(): | for app in [app_name] if app_name else get_installed_apps(): | ||||
if app=="webnotes": app="frappe" | |||||
for item in get_file_items(get_pymodule_path(app, "hooks.txt")): | for item in get_file_items(get_pymodule_path(app, "hooks.txt")): | ||||
key, value = item.split("=", 1) | key, value = item.split("=", 1) | ||||
key, value = key.strip(), value.strip() | key, value = key.strip(), value.strip() | ||||
@@ -441,7 +442,8 @@ def setup_module_map(): | |||||
if not local.app_modules: | if not local.app_modules: | ||||
local.module_app, local.app_modules = {}, {} | local.module_app, local.app_modules = {}, {} | ||||
for app in get_all_apps(True): | |||||
for app in get_all_apps(True): | |||||
if app=="webnotes": app="frappe" | |||||
local.app_modules.setdefault(app, []) | local.app_modules.setdefault(app, []) | ||||
for module in get_module_list(app): | for module in get_module_list(app): | ||||
local.module_app[module] = app | local.module_app[module] = app | ||||
@@ -21,6 +21,7 @@ from frappe.utils import get_site_name | |||||
local_manager = LocalManager([frappe.local]) | local_manager = LocalManager([frappe.local]) | ||||
_site = None | _site = None | ||||
_sites_path = os.environ.get("SITES_PATH", ".") | |||||
def handle_session_stopped(): | def handle_session_stopped(): | ||||
res = Response("""<html> | res = Response("""<html> | ||||
@@ -41,7 +42,7 @@ def application(request): | |||||
try: | try: | ||||
site = _site or get_site_name(request.host) | site = _site or get_site_name(request.host) | ||||
frappe.init(site=site) | |||||
frappe.init(site=site, sites_path=_sites_path) | |||||
if not frappe.local.conf: | if not frappe.local.conf: | ||||
# site does not exist | # site does not exist | ||||
@@ -79,9 +80,10 @@ def application(request): | |||||
application = local_manager.make_middleware(application) | application = local_manager.make_middleware(application) | ||||
def serve(port=8000, profile=False, site=None): | |||||
global application, _site | |||||
def serve(port=8000, profile=False, site=None, sites_path='.'): | |||||
global application, _site, _sites_path | |||||
_site = site | _site = site | ||||
_sites_path = sites_path | |||||
from werkzeug.serving import run_simple | from werkzeug.serving import run_simple | ||||
@@ -90,12 +92,12 @@ def serve(port=8000, profile=False, site=None): | |||||
if not os.environ.get('NO_STATICS'): | if not os.environ.get('NO_STATICS'): | ||||
application = SharedDataMiddleware(application, { | application = SharedDataMiddleware(application, { | ||||
'/assets': 'assets', | |||||
'/assets': os.path.join(sites_path, 'assets'), | |||||
}) | }) | ||||
if site: | if site: | ||||
application = SharedDataMiddleware(application, { | application = SharedDataMiddleware(application, { | ||||
'/files': os.path.join(site, 'public', 'files') | |||||
'/files': os.path.join(sites_path, site, 'public', 'files') | |||||
}) | }) | ||||
run_simple('0.0.0.0', int(port), application, use_reloader=True, | run_simple('0.0.0.0', int(port), application, use_reloader=True, | ||||
@@ -13,8 +13,11 @@ site_arg_optional = [] | |||||
def main(): | def main(): | ||||
parsed_args = frappe._dict(vars(setup_parser())) | parsed_args = frappe._dict(vars(setup_parser())) | ||||
fn = get_function(parsed_args) | fn = get_function(parsed_args) | ||||
if not parsed_args.get("sites_path"): | |||||
parsed_args["sites_path"] = "." | |||||
if parsed_args.get("sites_path"): | |||||
parsed_args["sites_path"] = parsed_args["sites_path"][0] | |||||
else: | |||||
parsed_args["sites_path"] = os.environ.get("SITES_PATH", ".") | |||||
sites_path = parsed_args.get("sites_path") | |||||
if not parsed_args.get("make_app"): | if not parsed_args.get("make_app"): | ||||
@@ -22,25 +25,25 @@ def main(): | |||||
for site in get_sites(parsed_args["sites_path"]): | for site in get_sites(parsed_args["sites_path"]): | ||||
args = parsed_args.copy() | args = parsed_args.copy() | ||||
args["site"] = site | args["site"] = site | ||||
frappe.init(site) | |||||
frappe.init(site, sites_path=sites_path) | |||||
run(fn, args) | run(fn, args) | ||||
else: | else: | ||||
if not fn in site_arg_optional: | if not fn in site_arg_optional: | ||||
if not parsed_args.get("site") and os.path.exists("currentsite.txt"): | |||||
with open("currentsite.txt", "r") as sitefile: | |||||
site = sitefile.read() | |||||
else: | |||||
site = parsed_args.get("site") | |||||
if not parsed_args.get("site") and os.path.exists(os.path.join(sites_path, "currentsite.txt")): | |||||
with open(os.path.join(sites_path, "currentsite.txt"), "r") as sitefile: | |||||
parsed_args["site"] = sitefile.read().strip() | |||||
site = parsed_args.get("site") | |||||
if not site: | if not site: | ||||
print "Site argument required" | print "Site argument required" | ||||
exit(1) | exit(1) | ||||
if fn != 'install' and not os.path.exists(site): | |||||
if fn != 'install' and not os.path.exists(os.path.join(parsed_args["sites_path"], site)): | |||||
print "Did not find folder '{}'. Are you in sites folder?".format(parsed_args.get("site")) | print "Did not find folder '{}'. Are you in sites folder?".format(parsed_args.get("site")) | ||||
exit(1) | exit(1) | ||||
frappe.init(site) | |||||
frappe.init(site, sites_path=sites_path) | |||||
run(fn, parsed_args) | run(fn, parsed_args) | ||||
else: | else: | ||||
run(fn, parsed_args) | run(fn, parsed_args) | ||||
@@ -106,6 +109,8 @@ def setup_install(parser): | |||||
help="Make a new application with boilerplate") | help="Make a new application with boilerplate") | ||||
parser.add_argument("--install", metavar="DB-NAME", nargs=1, | parser.add_argument("--install", metavar="DB-NAME", nargs=1, | ||||
help="Install a new db") | help="Install a new db") | ||||
parser.add_argument("--sites_path", metavar="SITES_PATH", nargs=1, | |||||
help="path to directory with sites") | |||||
parser.add_argument("--install_app", metavar="APP-NAME", nargs=1, | parser.add_argument("--install_app", metavar="APP-NAME", nargs=1, | ||||
help="Install a new app") | help="Install a new app") | ||||
parser.add_argument("--root-password", nargs=1, | parser.add_argument("--root-password", nargs=1, | ||||
@@ -290,7 +295,7 @@ def update(remote=None, branch=None, reload_gunicorn=False): | |||||
subprocess.check_output("killall -HUP gunicorn".split()) | subprocess.check_output("killall -HUP gunicorn".split()) | ||||
@cmd | @cmd | ||||
def latest(verbose=True): | |||||
def latest(verbose=True, rebuild_website_config=True): | |||||
import frappe.modules.patch_handler | import frappe.modules.patch_handler | ||||
import frappe.model.sync | import frappe.model.sync | ||||
from frappe.website import rebuild_config | from frappe.website import rebuild_config | ||||
@@ -308,7 +313,8 @@ def latest(verbose=True): | |||||
frappe.model.sync.sync_all() | frappe.model.sync.sync_all() | ||||
# build website config if any changes in templates etc. | # build website config if any changes in templates etc. | ||||
rebuild_config() | |||||
if rebuild_website_config: | |||||
rebuild_config() | |||||
except frappe.modules.patch_handler.PatchError, e: | except frappe.modules.patch_handler.PatchError, e: | ||||
print "\n".join(frappe.local.patch_log_list) | print "\n".join(frappe.local.patch_log_list) | ||||
@@ -625,9 +631,9 @@ def run_tests(app=None, module=None, doctype=None, verbose=False): | |||||
exit(1) | exit(1) | ||||
@cmd | @cmd | ||||
def serve(port=8000, profile=False): | |||||
def serve(port=8000, profile=False, sites_path='.'): | |||||
import frappe.app | import frappe.app | ||||
frappe.app.serve(port=port, profile=profile, site=frappe.local.site) | |||||
frappe.app.serve(port=port, profile=profile, site=frappe.local.site, sites_path=sites_path) | |||||
@cmd | @cmd | ||||
def request(args): | def request(args): | ||||
@@ -132,7 +132,7 @@ def get_js(src): | |||||
code = srcfile.read() | code = srcfile.read() | ||||
if frappe.local.lang != "en": | if frappe.local.lang != "en": | ||||
code += "\n\n$.extend(wn._messages, {})".format(json.dumps(\ | |||||
code += "\n\n$.extend(frappe._messages, {})".format(json.dumps(\ | |||||
frappe.get_lang_dict("jsfile", contentpath))) | frappe.get_lang_dict("jsfile", contentpath))) | ||||
return code | return code | ||||
@@ -1 +1 @@ | |||||
Core module contains the models required for the basic functioning of wnframework including DocType, Profile (user), Role and others. | |||||
Core module contains the models required for the basic functioning of frappe including DocType, Profile (user), Role and others. |
@@ -49,8 +49,8 @@ class DocType: | |||||
# js | # js | ||||
if not os.path.exists(path + '.js'): | if not os.path.exists(path + '.js'): | ||||
with open(path + '.js', 'w') as f: | with open(path + '.js', 'w') as f: | ||||
f.write("""wn.pages['%s'].onload = function(wrapper) { | |||||
wn.ui.make_app_page({ | |||||
f.write("""frappe.pages['%s'].onload = function(wrapper) { | |||||
frappe.ui.make_app_page({ | |||||
parent: wrapper, | parent: wrapper, | ||||
title: '%s', | title: '%s', | ||||
single_column: true | single_column: true | ||||
@@ -57,46 +57,59 @@ class TestProfile(unittest.TestCase): | |||||
self.assertEquals(len(p_meta.get({"fieldname": ["not in", ["first_name", "last_name"]]})), len(p_meta) - 2) | self.assertEquals(len(p_meta.get({"fieldname": ["not in", ["first_name", "last_name"]]})), len(p_meta) - 2) | ||||
test_records = [[{ | |||||
"doctype":"Profile", | |||||
"email": "test@example.com", | |||||
"first_name": "_Test", | |||||
"new_password": "testpassword", | |||||
"enabled": 1 | |||||
}, { | |||||
"doctype":"UserRole", | |||||
"parentfield":"user_roles", | |||||
"role": "_Test Role" | |||||
}, { | |||||
"doctype":"UserRole", | |||||
"parentfield":"user_roles", | |||||
"role": "System Manager" | |||||
}], | |||||
[{ | |||||
"doctype":"Profile", | |||||
"email": "test1@example.com", | |||||
"first_name": "_Test1", | |||||
"new_password": "testpassword" | |||||
}], | |||||
[{ | |||||
"doctype":"Profile", | |||||
"email": "test2@example.com", | |||||
"first_name": "_Test2", | |||||
"new_password": "testpassword" | |||||
}], | |||||
[{ | |||||
"doctype":"Profile", | |||||
"email": "testdelete@example.com", | |||||
"first_name": "_Test", | |||||
"new_password": "testpassword", | |||||
"enabled": 1 | |||||
}, { | |||||
"doctype":"UserRole", | |||||
"parentfield":"user_roles", | |||||
"role": "_Test Role 2" | |||||
}, { | |||||
"doctype":"UserRole", | |||||
"parentfield":"user_roles", | |||||
"role": "System Manager" | |||||
}], | |||||
test_records = [ | |||||
[ | |||||
{ | |||||
"doctype":"Profile", | |||||
"email": "test@example.com", | |||||
"first_name": "_Test", | |||||
"new_password": "testpassword", | |||||
"enabled": 1 | |||||
}, | |||||
{ | |||||
"doctype":"UserRole", | |||||
"parentfield":"user_roles", | |||||
"role": "_Test Role" | |||||
}, | |||||
{ | |||||
"doctype":"UserRole", | |||||
"parentfield":"user_roles", | |||||
"role": "System Manager" | |||||
} | |||||
], | |||||
[ | |||||
{ | |||||
"doctype":"Profile", | |||||
"email": "test1@example.com", | |||||
"first_name": "_Test1", | |||||
"new_password": "testpassword" | |||||
} | |||||
], | |||||
[ | |||||
{ | |||||
"doctype":"Profile", | |||||
"email": "test2@example.com", | |||||
"first_name": "_Test2", | |||||
"new_password": "testpassword" | |||||
} | |||||
], | |||||
[ | |||||
{ | |||||
"doctype":"Profile", | |||||
"email": "testdelete@example.com", | |||||
"first_name": "_Test", | |||||
"new_password": "testpassword", | |||||
"enabled": 1 | |||||
}, | |||||
{ | |||||
"doctype":"UserRole", | |||||
"parentfield":"user_roles", | |||||
"role": "_Test Role 2" | |||||
}, | |||||
{ | |||||
"doctype":"UserRole", | |||||
"parentfield":"user_roles", | |||||
"role": "System Manager" | |||||
} | |||||
], | |||||
] | ] |
@@ -112,7 +112,7 @@ | |||||
}, | }, | ||||
{ | { | ||||
"depends_on": "eval:doc.report_type==\"Query Report\"", | "depends_on": "eval:doc.report_type==\"Query Report\"", | ||||
"description": "JavaScript Format: wn.query_reports['REPORTNAME'] = {}", | |||||
"description": "JavaScript Format: frappe.query_reports['REPORTNAME'] = {}", | |||||
"doctype": "DocField", | "doctype": "DocField", | ||||
"fieldname": "javascript", | "fieldname": "javascript", | ||||
"fieldtype": "Code", | "fieldtype": "Code", | ||||
@@ -45,7 +45,7 @@ frappe.pages['permission-manager'].onload = function(wrapper) { | |||||
"<li>"+frappe._("If 'Restricted' is checked, the owner is always allowed based on Role.")+"</li>"+ | "<li>"+frappe._("If 'Restricted' is checked, the owner is always allowed based on Role.")+"</li>"+ | ||||
"<li>"+frappe._("Once you have set this, the users will only be able access documents where the link (e.g Company) exists.")+"</li>"+ | "<li>"+frappe._("Once you have set this, the users will only be able access documents where the link (e.g Company) exists.")+"</li>"+ | ||||
"<li>"+frappe._("Apart from System Manager, roles with Restrict permission can restrict other users for that Document Type")+"</li></ol><hr>\ | "<li>"+frappe._("Apart from System Manager, roles with Restrict permission can restrict other users for that Document Type")+"</li></ol><hr>\ | ||||
<p>"+frappe._("If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe.ramework/issues'>GitHub Issues</a>")+"</p>\ | |||||
<p>"+frappe._("If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>")+"</p>\ | |||||
</tr></td>\ | </tr></td>\ | ||||
</table>"); | </table>"); | ||||
wrapper.permission_engine = new frappe.PermissionEngine(wrapper); | wrapper.permission_engine = new frappe.PermissionEngine(wrapper); | ||||
@@ -38,7 +38,7 @@ def install_db(root_login="root", root_password=None, db_name=None, source_sql=N | |||||
frappe.flags.in_install_db = False | frappe.flags.in_install_db = False | ||||
def create_database_and_user(force, verbose): | def create_database_and_user(force, verbose): | ||||
db_name = frappe.conf.db_name | |||||
db_name = frappe.local.conf.db_name | |||||
dbman = DbManager(frappe.local.conn) | dbman = DbManager(frappe.local.conn) | ||||
if force or (db_name not in dbman.get_database_list()): | if force or (db_name not in dbman.get_database_list()): | ||||
dbman.delete_user(db_name) | dbman.delete_user(db_name) | ||||
@@ -112,15 +112,16 @@ def install_app(name, verbose=False): | |||||
frappe.flags.in_install_app = False | frappe.flags.in_install_app = False | ||||
def add_to_installed_apps(app_name): | |||||
def add_to_installed_apps(app_name, rebuild_sitemap=True): | |||||
installed_apps = frappe.get_installed_apps() | installed_apps = frappe.get_installed_apps() | ||||
if not app_name in installed_apps: | if not app_name in installed_apps: | ||||
installed_apps.append(app_name) | installed_apps.append(app_name) | ||||
frappe.conn.set_global("installed_apps", json.dumps(installed_apps)) | frappe.conn.set_global("installed_apps", json.dumps(installed_apps)) | ||||
frappe.conn.commit() | frappe.conn.commit() | ||||
from frappe.website.doctype.website_sitemap_config.website_sitemap_config import rebuild_website_sitemap_config | |||||
rebuild_website_sitemap_config() | |||||
if rebuild_sitemap: | |||||
from frappe.website.doctype.website_sitemap_config.website_sitemap_config import rebuild_website_sitemap_config | |||||
rebuild_website_sitemap_config() | |||||
frappe.clear_cache() | frappe.clear_cache() | ||||
@@ -137,8 +138,9 @@ def set_all_patches_as_completed(app): | |||||
def make_conf(db_name=None, db_password=None, site_config=None): | def make_conf(db_name=None, db_password=None, site_config=None): | ||||
site = frappe.local.site | site = frappe.local.site | ||||
make_site_config(db_name, db_password, site_config) | make_site_config(db_name, db_password, site_config) | ||||
sites_path = frappe.local.sites_path | |||||
frappe.destroy() | frappe.destroy() | ||||
frappe.init(site) | |||||
frappe.init(site, sites_path=sites_path) | |||||
def make_site_config(db_name=None, db_password=None, site_config=None): | def make_site_config(db_name=None, db_password=None, site_config=None): | ||||
frappe.create_folder(os.path.join(frappe.local.site_path)) | frappe.create_folder(os.path.join(frappe.local.site_path)) | ||||
@@ -38,6 +38,9 @@ class Bean: | |||||
if dt and dn: | if dt and dn: | ||||
if isinstance(dn, dict): | if isinstance(dn, dict): | ||||
dn = frappe.conn.get_value(dt, dn, "name") | dn = frappe.conn.get_value(dt, dn, "name") | ||||
if dn is None: | |||||
raise frappe.DoesNotExistError | |||||
self.load_from_db(dt, dn) | self.load_from_db(dt, dn) | ||||
elif isinstance(dt, list): | elif isinstance(dt, list): | ||||
self.set_doclist(dt) | self.set_doclist(dt) | ||||
@@ -15,7 +15,7 @@ from frappe.utils import * | |||||
class Document: | class Document: | ||||
""" | """ | ||||
The wn(meta-data)framework equivalent of a Database Record. | |||||
The frappe(meta-data)framework equivalent of a Database Record. | |||||
Stores,Retrieves,Updates the record in the corresponding table. | Stores,Retrieves,Updates the record in the corresponding table. | ||||
Runs the triggers required. | Runs the triggers required. | ||||
@@ -29,6 +29,9 @@ def run_all(): | |||||
def get_all_patches(): | def get_all_patches(): | ||||
patches = [] | patches = [] | ||||
for app in frappe.get_installed_apps(): | for app in frappe.get_installed_apps(): | ||||
# 3-to-4 fix | |||||
if app=="webnotes": | |||||
app="frappe" | |||||
patches.extend(frappe.get_file_items(frappe.get_pymodule_path(app, "patches.txt"))) | patches.extend(frappe.get_file_items(frappe.get_pymodule_path(app, "patches.txt"))) | ||||
return patches | return patches | ||||
@@ -10,4 +10,5 @@ frappe.patches.4_0.remove_index_sitemap | |||||
frappe.patches.4_0.add_delete_permission | frappe.patches.4_0.add_delete_permission | ||||
frappe.patches.4_0.move_match_to_restricted | frappe.patches.4_0.move_match_to_restricted | ||||
frappe.patches.4_0.set_todo_checked_as_closed | frappe.patches.4_0.set_todo_checked_as_closed | ||||
frappe.patches.4_0.website_sitemap_hierarchy | |||||
frappe.patches.4_0.website_sitemap_hierarchy | |||||
frappe.patches.4_0.webnotes_to_frappe |
@@ -2,4 +2,7 @@ import frappe | |||||
def execute(): | def execute(): | ||||
frappe.reload_doc("core", "doctype", "todo") | frappe.reload_doc("core", "doctype", "todo") | ||||
frappe.conn.sql("""update tabToDo set status = if(ifnull(checked,0)=0, 'Open', 'Closed')""") | |||||
try: | |||||
frappe.conn.sql("""update tabToDo set status = if(ifnull(checked,0)=0, 'Open', 'Closed')""") | |||||
except: | |||||
pass |
@@ -0,0 +1,9 @@ | |||||
import frappe, json | |||||
def execute(): | |||||
installed = frappe.get_installed_apps() | |||||
if "webnotes" in installed: | |||||
installed.remove("webnotes") | |||||
installed = ["frappe"] + installed | |||||
frappe.conn.set_global("installed_apps", json.dumps(installed)) | |||||
frappe.clear_cache() |
@@ -216,11 +216,11 @@ div#freeze { | |||||
} | } | ||||
/* form */ | /* form */ | ||||
.wn-editor { | |||||
.frappe-editor { | |||||
cursor: text; | cursor: text; | ||||
} | } | ||||
.wn-editor img { | |||||
.frappe-editor img { | |||||
max-width: 100%; | max-width: 100%; | ||||
} | } | ||||
@@ -173,7 +173,7 @@ frappe.Application = Class.extend({ | |||||
make_nav_bar: function() { | make_nav_bar: function() { | ||||
// toolbar | // toolbar | ||||
if(frappe.boot) { | if(frappe.boot) { | ||||
frappe.container.frappe.oolbar = new frappe.ui.toolbar.Toolbar(); | |||||
frappe.container.frappe_toolbar = new frappe.ui.toolbar.Toolbar(); | |||||
} | } | ||||
}, | }, | ||||
logout: function() { | logout: function() { | ||||
@@ -1,7 +1,7 @@ | |||||
// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors | // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors | ||||
// MIT License. See license.txt | // MIT License. See license.txt | ||||
if(!window.frappe. frappe.= {}; | |||||
if(!window.frappe) window.frappe = {}; | |||||
function flt(v, decimals, number_format) { | function flt(v, decimals, number_format) { | ||||
if(v==null || v=='')return 0; | if(v==null || v=='')return 0; | ||||
@@ -26,14 +26,14 @@ function prettyDate(time){ | |||||
var comment_when = function(datetime) { | var comment_when = function(datetime) { | ||||
return '<span class="frappe.timestamp" data-timestamp="'+datetime+'">' + prettyDate(datetime) + '</span>'; | |||||
return '<span class="frappe-timestamp" data-timestamp="'+datetime+'">' + prettyDate(datetime) + '</span>'; | |||||
}; | }; | ||||
frappe.provide("frappe.datetime"); | frappe.provide("frappe.datetime"); | ||||
frappe.datetime.comment_when = prettyDate; | frappe.datetime.comment_when = prettyDate; | ||||
frappe.datetime.refresh_when = function() { | frappe.datetime.refresh_when = function() { | ||||
if(jQuery) { | if(jQuery) { | ||||
$(".frappe.timestamp").each(function() { | |||||
$(".frappe-timestamp").each(function() { | |||||
$(this).html(prettyDate($(this).attr("data-timestamp"))); | $(this).html(prettyDate($(this).attr("data-timestamp"))); | ||||
}) | }) | ||||
} | } | ||||
@@ -2,7 +2,8 @@ | |||||
// MIT License. See license.txt | // MIT License. See license.txt | ||||
// provide a namespace | // provide a namespace | ||||
if(!window.frappe.frappe.= {} | |||||
if(!window.frappe) | |||||
window.frappe = {}; | |||||
frappe.provide = function(namespace) { | frappe.provide = function(namespace) { | ||||
// docs: create a namespace // | // docs: create a namespace // | ||||
var nsl = namespace.split('.'); | var nsl = namespace.split('.'); | ||||
@@ -15,7 +15,7 @@ bsEditor = Class.extend({ | |||||
this.setup_fixed_toolbar(); | this.setup_fixed_toolbar(); | ||||
} else if(this.options.parent) { | } else if(this.options.parent) { | ||||
this.wrapper = $("<div></div>").appendTo(this.options.parent); | this.wrapper = $("<div></div>").appendTo(this.options.parent); | ||||
this.setup_editor($("<div class='frappe.editor'></div>").appendTo(this.wrapper)); | |||||
this.setup_editor($("<div class='frappe-list'></div>").appendTo(this.wrapper)); | |||||
this.setup_inline_toolbar(); | this.setup_inline_toolbar(); | ||||
this.editor.css(this.options.inline_editor_style); | this.editor.css(this.options.inline_editor_style); | ||||
this.set_editing(); | this.set_editing(); | ||||
@@ -223,8 +223,8 @@ bsEditorToolbar = Class.extend({ | |||||
make: function(parent) { | make: function(parent) { | ||||
if(!parent) | if(!parent) | ||||
parent = $("body"); | parent = $("body"); | ||||
if(!parent.find(".frappe.editor-toolbar").length) { | |||||
this.toolbar = $('<div class="frappe.editor-toolbar frappe.ignore-click">\ | |||||
if(!parent.find(".frappe-list-toolbar").length) { | |||||
this.toolbar = $('<div class="frappe-list-toolbar frappe-ignore-click">\ | |||||
<div class="btn-toolbar" data-role="editor-toolbar" style="margin-bottom: 7px;">\ | <div class="btn-toolbar" data-role="editor-toolbar" style="margin-bottom: 7px;">\ | ||||
<div class="btn-group form-group">\ | <div class="btn-group form-group">\ | ||||
<a class="btn btn-default btn-small dropdown-toggle" data-toggle="dropdown" \ | <a class="btn btn-default btn-small dropdown-toggle" data-toggle="dropdown" \ | ||||
@@ -438,7 +438,7 @@ bsHTMLEditor = Class.extend({ | |||||
style="height: 400px; width: 100%; font-family: Monaco, \'Courier New\', monospace; font-size: 11px">\ | style="height: 400px; width: 100%; font-family: Monaco, \'Courier New\', monospace; font-size: 11px">\ | ||||
</textarea><br>\ | </textarea><br>\ | ||||
<button class="btn btn-primary" style="margin-top: 7px;">Save</button>'); | <button class="btn btn-primary" style="margin-top: 7px;">Save</button>'); | ||||
this.modal.addClass("frappe.ignore-click"); | |||||
this.modal.addClass("frappe-ignore-click"); | |||||
this.modal.find(".btn-primary").on("click", function() { | this.modal.find(".btn-primary").on("click", function() { | ||||
var html = me.modal.find("textarea").val(); | var html = me.modal.find("textarea").val(); | ||||
$.each(me.editor.dataurls, function(key, val) { | $.each(me.editor.dataurls, function(key, val) { | ||||
@@ -480,7 +480,7 @@ bsLinkEditor = Class.extend({ | |||||
</div>\ | </div>\ | ||||
<button class="btn btn-primary" style="margin-top: 7px;">Insert</button>'); | <button class="btn btn-primary" style="margin-top: 7px;">Insert</button>'); | ||||
this.modal.addClass("frappe.ignore-click"); | |||||
this.modal.addClass("frappe-ignore-click"); | |||||
this.modal.find(".btn-primary").on("click", function() { | this.modal.find(".btn-primary").on("click", function() { | ||||
me.toolbar.restore_selection(); | me.toolbar.restore_selection(); | ||||
var url = me.modal.find("input[type=text]").val(); | var url = me.modal.find("input[type=text]").val(); | ||||
@@ -61,7 +61,7 @@ frappe.ui.Listing = Class.extend({ | |||||
$.extend(this, this.opts); | $.extend(this, this.opts); | ||||
$(this.parent).html(repl('\ | $(this.parent).html(repl('\ | ||||
<div class="frappe.ist">\ | |||||
<div class="frappe-list">\ | |||||
<h3 class="title hide">%(title)s</h3>\ | <h3 class="title hide">%(title)s</h3>\ | ||||
\ | \ | ||||
<div class="list-filters" style="display: none;">\ | <div class="list-filters" style="display: none;">\ | ||||
@@ -99,7 +99,7 @@ frappe.ui.Listing = Class.extend({ | |||||
</p>\ | </p>\ | ||||
</div>\ | </div>\ | ||||
', this.opts)); | ', this.opts)); | ||||
this.$w = $(this.parent).find('.frappe.ist'); | |||||
this.$w = $(this.parent).find('.frappe-list'); | |||||
this.set_events(); | this.set_events(); | ||||
if(this.appframe) { | if(this.appframe) { | ||||
@@ -53,7 +53,7 @@ frappe.views.DocListView = frappe.ui.Listing.extend({ | |||||
this.page.doclistview = this; | this.page.doclistview = this; | ||||
this.$page = $(this.page).css({"min-height": "400px"}); | this.$page = $(this.page).css({"min-height": "400px"}); | ||||
$('<div class="frappe.ist-area" style="margin-bottom: 25px;">\ | |||||
$('<div class="frappe-list-area" style="margin-bottom: 25px;">\ | |||||
<div class="help">'+frappe._('Loading')+'...</div></div>') | <div class="help">'+frappe._('Loading')+'...</div></div>') | ||||
.appendTo(this.$page.find(".layout-main-section")); | .appendTo(this.$page.find(".layout-main-section")); | ||||
@@ -83,7 +83,7 @@ frappe.views.DocListView = frappe.ui.Listing.extend({ | |||||
setup: function() { | setup: function() { | ||||
this.can_delete = frappe.model.can_delete(this.doctype); | this.can_delete = frappe.model.can_delete(this.doctype); | ||||
this.meta = locals.DocType[this.doctype]; | this.meta = locals.DocType[this.doctype]; | ||||
this.$page.find('.frappe.ist-area').empty(), | |||||
this.$page.find('.frappe-list-area').empty(), | |||||
this.setup_listview(); | this.setup_listview(); | ||||
this.setup_docstatus_filter(); | this.setup_docstatus_filter(); | ||||
this.init_list(false); | this.init_list(false); | ||||
@@ -153,7 +153,7 @@ frappe.views.DocListView = frappe.ui.Listing.extend({ | |||||
}, | }, | ||||
setup_listview: function() { | setup_listview: function() { | ||||
this.listview = frappe.views.get_listview(this.doctype, this); | this.listview = frappe.views.get_listview(this.doctype, this); | ||||
this.wrapper = this.$page.find('.frappe.ist-area'); | |||||
this.wrapper = this.$page.find('.frappe-list-area'); | |||||
this.page_length = 20; | this.page_length = 20; | ||||
this.allow_delete = true; | this.allow_delete = true; | ||||
}, | }, | ||||
@@ -15,7 +15,7 @@ frappe.standard_pages["test-runner"] = function() { | |||||
var route = frappe.get_route(); | var route = frappe.get_route(); | ||||
if(route.length < 2) { | if(route.length < 2) { | ||||
msgprint("To run a test add the module name in the route after 'test-runner/'. \ | msgprint("To run a test add the module name in the route after 'test-runner/'. \ | ||||
For example, #test-runner/lib/js/frappe.test_app.js"); | |||||
For example, #test-runner/lib/js/frappe/test_app.js"); | |||||
return; | return; | ||||
} | } | ||||
@@ -4,7 +4,7 @@ | |||||
<meta charset="utf-8"> | <meta charset="utf-8"> | ||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
<title>{{ title }}</title> | <title>{{ title }}</title> | ||||
<meta name="generator" content="wnframework"> | |||||
<meta name="generator" content="frappe"> | |||||
<script type="text/javascript" src="/assets/frappe/js/lib/jquery/jquery.min.js"></script> | <script type="text/javascript" src="/assets/frappe/js/lib/jquery/jquery.min.js"></script> | ||||
<link rel="shortcut icon" href="{{ favicon or "" }}" type="image/x-icon"> | <link rel="shortcut icon" href="{{ favicon or "" }}" type="image/x-icon"> | ||||
@@ -26,9 +26,9 @@ | |||||
<script> | <script> | ||||
$(function() { | $(function() { | ||||
if(window.logged_in && getCookie("system_user")==="yes") { | if(window.logged_in && getCookie("system_user")==="yes") { | ||||
wn.has_permission("Blog Post", "{{ name }}", "write", function(r) { | |||||
wn.require("assets/frappe/js/wn/website/editable.js"); | |||||
wn.make_editable($('[itemprop="articleBody"]'), "Blog Post", "{{ name }}", "content"); | |||||
frappe.has_permission("Blog Post", "{{ name }}", "write", function(r) { | |||||
frappe.require("assets/frappe/js/frappe/website/editable.js"); | |||||
frappe.make_editable($('[itemprop="articleBody"]'), "Blog Post", "{{ name }}", "content"); | |||||
}); | }); | ||||
} | } | ||||
}); | }); | ||||
@@ -42,9 +42,9 @@ | |||||
<script> | <script> | ||||
$(function() { | $(function() { | ||||
if(window.logged_in && getCookie("system_user")==="yes") { | if(window.logged_in && getCookie("system_user")==="yes") { | ||||
wn.has_permission("Web Page", "{{ docname }}", "write", function(r) { | |||||
wn.require("assets/frappe/js/wn/website/editable.js"); | |||||
wn.make_editable($(".web-page-content"), "Web Page", "{{ docname }}", "main_section"); | |||||
frappe.has_permission("Web Page", "{{ docname }}", "write", function(r) { | |||||
frappe.require("assets/frappe/js/frappe/website/editable.js"); | |||||
frappe.make_editable($(".web-page-content"), "Web Page", "{{ docname }}", "main_section"); | |||||
}); | }); | ||||
} | } | ||||
}); | }); | ||||
@@ -58,11 +58,11 @@ $(document).ready(function() { | |||||
} | } | ||||
if(!args.comment_by_fullname || !args.comment_by || !args.comment) { | if(!args.comment_by_fullname || !args.comment_by || !args.comment) { | ||||
wn.msgprint("All fields are necessary to submit the comment.") | |||||
frappe.msgprint("All fields are necessary to submit the comment.") | |||||
return false; | return false; | ||||
} | } | ||||
wn.call({ | |||||
frappe.call({ | |||||
btn: this, | btn: this, | ||||
type: "POST", | type: "POST", | ||||
method: "frappe.templates.includes.comments.add_comment", | method: "frappe.templates.includes.comments.add_comment", | ||||
@@ -70,7 +70,7 @@ $(document).ready(function() { | |||||
callback: function(r) { | callback: function(r) { | ||||
if(r.exc) { | if(r.exc) { | ||||
if(r._server_messages) | if(r._server_messages) | ||||
wn.msgprint(r._server_messages); | |||||
frappe.msgprint(r._server_messages); | |||||
} else { | } else { | ||||
$(r.message).appendTo("#comment-list"); | $(r.message).appendTo("#comment-list"); | ||||
$(".no-comment, .add-comment").toggle(false); | $(".no-comment, .add-comment").toggle(false); | ||||
@@ -34,7 +34,7 @@ | |||||
{%- endif %} | {%- endif %} | ||||
</a></li> | </a></li> | ||||
{%- endif -%} | {%- endif -%} | ||||
<li><span class="wn-timestamp" data-timestamp="{{ post.creation }}"></span></li> | |||||
<li><span class="frappe-timestamp" data-timestamp="{{ post.creation }}"></span></li> | |||||
<li>by <span itemprop="author">{{ post.first_name or "" }} {{ post.last_name or "" }}</span></li> | <li>by <span itemprop="author">{{ post.first_name or "" }} {{ post.last_name or "" }}</span></li> | ||||
<li class="edit-post pull-right hide" data-owner="{{ post.owner }}"> | <li class="edit-post pull-right hide" data-owner="{{ post.owner }}"> | ||||
<a class="text-muted" href="{{ edit_url }}">[edit]</a> | <a class="text-muted" href="{{ edit_url }}">[edit]</a> | ||||
@@ -6,5 +6,6 @@ import frappe | |||||
def get_context(context): | def get_context(context): | ||||
# get settings from site config | # get settings from site config | ||||
context["title"] = "Login" | |||||
if frappe.conf.get("fb_app_id"): | if frappe.conf.get("fb_app_id"): | ||||
return { "fb_app_id": frappe.conf.fb_app_id, "title": "Login" } | |||||
return { "fb_app_id": frappe.conf.fb_app_id } |
@@ -4,7 +4,7 @@ | |||||
<meta charset="utf-8"> | <meta charset="utf-8"> | ||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
<title>Print Format</title> | <title>Print Format</title> | ||||
<meta name="generator" content="wnframework"> | |||||
<meta name="generator" content="frappe"> | |||||
<style> | <style> | ||||
{{ css }} | {{ css }} | ||||
</style> | </style> | ||||
@@ -46,15 +46,15 @@ $(document).ready(function() { | |||||
} | } | ||||
if(!args.old_password && !args.key) { | if(!args.old_password && !args.key) { | ||||
wn.msgprint("Old Password Required."); | |||||
frappe.msgprint("Old Password Required."); | |||||
return; | return; | ||||
} | } | ||||
if(!args.new_password) { | if(!args.new_password) { | ||||
wn.msgprint("New Password Required.") | |||||
frappe.msgprint("New Password Required.") | |||||
return; | return; | ||||
} | } | ||||
wn.call({ | |||||
frappe.call({ | |||||
type: "POST", | type: "POST", | ||||
method: "frappe.core.doctype.profile.profile.update_password", | method: "frappe.core.doctype.profile.profile.update_password", | ||||
btn: $("#update"), | btn: $("#update"), | ||||
@@ -62,7 +62,7 @@ $(document).ready(function() { | |||||
callback: function(r) { | callback: function(r) { | ||||
if(r.message) { | if(r.message) { | ||||
$("input").val(""); | $("input").val(""); | ||||
var dialog = wn.msgprint(r.message); | |||||
var dialog = frappe.msgprint(r.message); | |||||
dialog.on("hide.bs.modal", function() { | dialog.on("hide.bs.modal", function() { | ||||
window.location.href = "login"; | window.location.href = "login"; | ||||
}); | }); | ||||
@@ -1,7 +1,7 @@ | |||||
{% include "templates/includes/post_editor.html" %} | {% include "templates/includes/post_editor.html" %} | ||||
<script> | <script> | ||||
wn.require("/assets/js/canvasResize.min.js"); | |||||
frappe.require("/assets/js/canvasResize.min.js"); | |||||
$(function() { | $(function() { | ||||
website.bind_add_post(); | website.bind_add_post(); | ||||
@@ -9,7 +9,7 @@ | |||||
<script> | <script> | ||||
$(function() { | $(function() { | ||||
if($(".post").length===20) { | if($(".post").length===20) { | ||||
wn.setup_pagination(); | |||||
frappe.setup_pagination(); | |||||
} | } | ||||
{% if group.group_type == "Forum" -%} | {% if group.group_type == "Forum" -%} | ||||
@@ -13,7 +13,7 @@ | |||||
</div> | </div> | ||||
<script> | <script> | ||||
wn.require("/assets/js/canvasResize.min.js"); | |||||
frappe.require("/assets/js/canvasResize.min.js"); | |||||
$(function() { | $(function() { | ||||
website.toggle_edit(true); | website.toggle_edit(true); | ||||
website.toggle_upvote(); | website.toggle_upvote(); | ||||
@@ -13,7 +13,7 @@ Contributing: | |||||
# loading | # loading | ||||
# doctype, page, report | # doctype, page, report | ||||
# boot(startup) | # boot(startup) | ||||
# wn.require | |||||
# frappe.require | |||||
# frappe._ | # frappe._ | ||||
import frappe, os, re, codecs, json | import frappe, os, re, codecs, json | ||||
@@ -71,7 +71,7 @@ def get_dict(fortype, name=None): | |||||
def add_lang_dict(code): | def add_lang_dict(code): | ||||
messages = extract_messages_from_code(code) | messages = extract_messages_from_code(code) | ||||
code += "\n\n$.extend(wn._messages, %s)" % json.dumps(make_dict_from_messages(messages)) | |||||
code += "\n\n$.extend(frappe._messages, %s)" % json.dumps(make_dict_from_messages(messages)) | |||||
return code | return code | ||||
def make_dict_from_messages(messages, full_dict=None): | def make_dict_from_messages(messages, full_dict=None): | ||||
@@ -86,7 +86,7 @@ def make_dict_from_messages(messages, full_dict=None): | |||||
return out | return out | ||||
def get_lang_js(fortype, name): | def get_lang_js(fortype, name): | ||||
return "\n\n$.extend(wn._messages, %s)" % json.dumps(get_dict(fortype, name)) | |||||
return "\n\n$.extend(frappe._messages, %s)" % json.dumps(get_dict(fortype, name)) | |||||
def get_full_dict(lang): | def get_full_dict(lang): | ||||
if lang == "en": return {} | if lang == "en": return {} | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,سوف تظهر أيقونة على زر | |||||
"If image is selected, color will be ignored (attach first)",إذا تم تحديد الصورة، سيتم تجاهل اللون (إرفاق الأولى) | "If image is selected, color will be ignored (attach first)",إذا تم تحديد الصورة، سيتم تجاهل اللون (إرفاق الأولى) | ||||
"If not, create a",إن لم يكن، إنشاء | "If not, create a",إن لم يكن، إنشاء | ||||
"If the 'territory' Link Field exists, it will give you an option to select it",إذا حقل 'الأرض' لينك موجود، وسوف تعطيك الخيار لتحديده | "If the 'territory' Link Field exists, it will give you an option to select it",إذا حقل 'الأرض' لينك موجود، وسوف تعطيك الخيار لتحديده | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>",إذا هذه التعليمات حيث لم تكن مفيدة ، يرجى إضافة في اقتراحاتكم في <a href='https://github.com/webnotes/wnframework/issues'> جيثب قضايا < / A> | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>",إذا هذه التعليمات حيث لم تكن مفيدة ، يرجى إضافة في اقتراحاتكم في <a href='https://github.com/frappe/frappe/issues'> جيثب قضايا < / A> | |||||
"If you set this, this Item will come in a drop-down under the selected parent.",إذا قمت بتعيين هذا ، فإن هذا البند تأتي في قائمة منسدلة تحت الأصل المحدد . | "If you set this, this Item will come in a drop-down under the selected parent.",إذا قمت بتعيين هذا ، فإن هذا البند تأتي في قائمة منسدلة تحت الأصل المحدد . | ||||
Image,صورة | Image,صورة | ||||
Image Link,رابط الصورة | Image Link,رابط الصورة | ||||
@@ -404,7 +404,7 @@ Is Single,هو واحدة | |||||
Is Standard,هو معيار | Is Standard,هو معيار | ||||
Is Submittable,هو Submittable | Is Submittable,هو Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},جافا سكريبت الصيغة: wn.query_reports [' REPORTNAME '] = { } | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},جافا سكريبت الصيغة: frappe.query_reports [' REPORTNAME '] = { } | |||||
Javascript,جافا سكريبت | Javascript,جافا سكريبت | ||||
Javascript to append to the head section of the page.,جافا سكريبت لإلحاق رئيس قسم من الصفحة. | Javascript to append to the head section of the page.,جافا سكريبت لإلحاق رئيس قسم من الصفحة. | ||||
Keep a track of all communications,حفاظ على تعقب من كافة الاتصالات | Keep a track of all communications,حفاظ على تعقب من كافة الاتصالات | ||||
@@ -362,7 +362,7 @@ Icon will appear on the button,Icon wird auf der Schaltfläche angezeigt | |||||
"If image is selected, color will be ignored (attach first)","Wenn das Bild ausgewählt ist, wird die Farbe ignoriert (legen zuerst) werden" | "If image is selected, color will be ignored (attach first)","Wenn das Bild ausgewählt ist, wird die Farbe ignoriert (legen zuerst) werden" | ||||
"If not, create a","Wenn nicht, erstellen Sie eine" | "If not, create a","Wenn nicht, erstellen Sie eine" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","Wenn das ""Gebiet"" Link Field existiert, wird es geben Sie eine Option, um sie auszuwählen" | "If the 'territory' Link Field exists, it will give you an option to select it","Wenn das ""Gebiet"" Link Field existiert, wird es geben Sie eine Option, um sie auszuwählen" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","Werden diese Hinweise nicht geholfen , wo , fügen Sie bitte Ihre Vorschläge an <a href='https://github.com/webnotes/wnframework/issues'> GitHub Probleme </ a>" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","Werden diese Hinweise nicht geholfen , wo , fügen Sie bitte Ihre Vorschläge an <a href='https://github.com/frappe/frappe/issues'> GitHub Probleme </ a>" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","Wenn Sie diese Einstellung , wird dieser Artikel in einer Drop-Down unter der ausgewählten Mutter kommen ." | "If you set this, this Item will come in a drop-down under the selected parent.","Wenn Sie diese Einstellung , wird dieser Artikel in einer Drop-Down unter der ausgewählten Mutter kommen ." | ||||
Image,Bild | Image,Bild | ||||
Image Link,Link zum Bild | Image Link,Link zum Bild | ||||
@@ -398,7 +398,7 @@ Is Single,Ist Single | |||||
Is Standard,Ist Standard | Is Standard,Ist Standard | ||||
Is Submittable,Ist Submittable | Is Submittable,Ist Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},JavaScript- Format: wn.query_reports [' REPORT '] = {} | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},JavaScript- Format: frappe.query_reports [' REPORT '] = {} | |||||
Javascript,Javascript | Javascript,Javascript | ||||
Javascript to append to the head section of the page.,"Javascript, um den Kopfteil der Seite anhängen." | Javascript to append to the head section of the page.,"Javascript, um den Kopfteil der Seite anhängen." | ||||
Keep a track of all communications,Halten Sie einen Überblick über alle Kommunikations- | Keep a track of all communications,Halten Sie einen Überblick über alle Kommunikations- | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,Θα εμφανιστεί το εικονίδιο | |||||
"If image is selected, color will be ignored (attach first)","Εάν η εικόνα έχει επιλεγεί, το χρώμα θα πρέπει να αγνοηθεί (επισυνάψετε πρώτα)" | "If image is selected, color will be ignored (attach first)","Εάν η εικόνα έχει επιλεγεί, το χρώμα θα πρέπει να αγνοηθεί (επισυνάψετε πρώτα)" | ||||
"If not, create a","Αν όχι, να δημιουργηθεί ένα" | "If not, create a","Αν όχι, να δημιουργηθεί ένα" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","Αν πεδίου Link το «έδαφος» υπάρχει, αυτό θα σας δώσει μια επιλογή για να επιλέξετε" | "If the 'territory' Link Field exists, it will give you an option to select it","Αν πεδίου Link το «έδαφος» υπάρχει, αυτό θα σας δώσει μια επιλογή για να επιλέξετε" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","Εάν αυτές οι οδηγίες , όπου δεν είναι χρήσιμο , παρακαλούμε να προσθέσετε δικές σας προτάσεις στο href='https://github.com/webnotes/wnframework/issues'> <a GitHub Θέματα < / a>" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","Εάν αυτές οι οδηγίες , όπου δεν είναι χρήσιμο , παρακαλούμε να προσθέσετε δικές σας προτάσεις στο href='https://github.com/frappe/frappe/issues'> <a GitHub Θέματα < / a>" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","Αν ορίσετε αυτό, αυτό το στοιχείο θα έρθει σε ένα drop-down κάτω από τον επιλεγμένο γονέα." | "If you set this, this Item will come in a drop-down under the selected parent.","Αν ορίσετε αυτό, αυτό το στοιχείο θα έρθει σε ένα drop-down κάτω από τον επιλεγμένο γονέα." | ||||
Image,Εικόνα | Image,Εικόνα | ||||
Image Link,Σύνδεσμος εικόνας | Image Link,Σύνδεσμος εικόνας | ||||
@@ -404,7 +404,7 @@ Is Single,Είναι Single | |||||
Is Standard,Είναι πρότυπο | Is Standard,Είναι πρότυπο | ||||
Is Submittable,Είναι Submittable | Is Submittable,Είναι Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},JavaScript Format: wn.query_reports ['REPORTNAME'] = {} | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},JavaScript Format: frappe.query_reports ['REPORTNAME'] = {} | |||||
Javascript,Javascript | Javascript,Javascript | ||||
Javascript to append to the head section of the page.,Javascript για να προσθέσετε στο τμήμα της κεφαλής της σελίδας. | Javascript to append to the head section of the page.,Javascript για να προσθέσετε στο τμήμα της κεφαλής της σελίδας. | ||||
Keep a track of all communications,Κρατήστε ένα κομμάτι του συνόλου των επικοινωνιών | Keep a track of all communications,Κρατήστε ένα κομμάτι του συνόλου των επικοινωνιών | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,Aparecerá el icono en el botón | |||||
"If image is selected, color will be ignored (attach first)","Si se selecciona una imagen, el color será ignorado (adjunte primero)" | "If image is selected, color will be ignored (attach first)","Si se selecciona una imagen, el color será ignorado (adjunte primero)" | ||||
"If not, create a","Si no, crea una" | "If not, create a","Si no, crea una" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","Si el campo de 'territorio' Link existe, se le dará la opción de seleccionar" | "If the 'territory' Link Field exists, it will give you an option to select it","Si el campo de 'territorio' Link existe, se le dará la opción de seleccionar" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","Si estas instrucciones cuando no es útil, por favor, añadir sus sugerencias en <a href='https://github.com/webnotes/wnframework/issues'> GitHub Issues < / a>" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","Si estas instrucciones cuando no es útil, por favor, añadir sus sugerencias en <a href='https://github.com/frappe/frappe/issues'> GitHub Issues < / a>" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","Si establece este , este artículo entrará en un menú desplegable bajo la matriz seleccionada." | "If you set this, this Item will come in a drop-down under the selected parent.","Si establece este , este artículo entrará en un menú desplegable bajo la matriz seleccionada." | ||||
Image,Imagen | Image,Imagen | ||||
Image Link,Enlace a la imagen | Image Link,Enlace a la imagen | ||||
@@ -404,7 +404,7 @@ Is Single,Es el único | |||||
Is Standard,Es el estándar | Is Standard,Es el estándar | ||||
Is Submittable,Es Submittable | Is Submittable,Es Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},JavaScript Formato: wn.query_reports [' REPORTNAME '] = { } | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},JavaScript Formato: frappe.query_reports [' REPORTNAME '] = { } | |||||
Javascript,Javascript | Javascript,Javascript | ||||
Javascript to append to the head section of the page.,Javascript para anexar a la sección principal de la página. | Javascript to append to the head section of the page.,Javascript para anexar a la sección principal de la página. | ||||
Keep a track of all communications,Mantenga un registro de todas las comunicaciones | Keep a track of all communications,Mantenga un registro de todas las comunicaciones | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,Icône apparaîtra sur le bouton | |||||
"If image is selected, color will be ignored (attach first)","Si l'image est sélectionnée, la couleur sera ignoré (joindre en premier)" | "If image is selected, color will be ignored (attach first)","Si l'image est sélectionnée, la couleur sera ignoré (joindre en premier)" | ||||
"If not, create a","Sinon, créez un" | "If not, create a","Sinon, créez un" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","Si le champ Lien du «territoire» existe, il vous donnera une option pour la sélectionner" | "If the 'territory' Link Field exists, it will give you an option to select it","Si le champ Lien du «territoire» existe, il vous donnera une option pour la sélectionner" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","Si ces instructions où pas utile , s'il vous plaît ajouter vos suggestions à l'adresse <a href='https://github.com/webnotes/wnframework/issues'> GitHub questions </ a >" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","Si ces instructions où pas utile , s'il vous plaît ajouter vos suggestions à l'adresse <a href='https://github.com/frappe/frappe/issues'> GitHub questions </ a >" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","Si vous définissez cette , cet article va venir dans un menu déroulant dans le cadre du parent sélectionné ." | "If you set this, this Item will come in a drop-down under the selected parent.","Si vous définissez cette , cet article va venir dans un menu déroulant dans le cadre du parent sélectionné ." | ||||
Image,Image | Image,Image | ||||
Image Link,Lien vers l'image | Image Link,Lien vers l'image | ||||
@@ -404,7 +404,7 @@ Is Single,Est célibataire | |||||
Is Standard,Est-standard | Is Standard,Est-standard | ||||
Is Submittable,Est-Submittable | Is Submittable,Est-Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},JavaScript Format : wn.query_reports [' REPORTNAME '] = {} | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},JavaScript Format : frappe.query_reports [' REPORTNAME '] = {} | |||||
Javascript,Javascript | Javascript,Javascript | ||||
Javascript to append to the head section of the page.,Javascript à ajouter à la section head de la page. | Javascript to append to the head section of the page.,Javascript à ajouter à la section head de la page. | ||||
Keep a track of all communications,Gardez une trace de toutes les communications | Keep a track of all communications,Gardez une trace de toutes les communications | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,आइकन बटन पर दिखाई द | |||||
"If image is selected, color will be ignored (attach first)","यदि छवि का चयन किया गया है, रंग (1 देते हैं) पर ध्यान नहीं दिया जाएगा" | "If image is selected, color will be ignored (attach first)","यदि छवि का चयन किया गया है, रंग (1 देते हैं) पर ध्यान नहीं दिया जाएगा" | ||||
"If not, create a","यदि नहीं, तो एक बनाने के लिए" | "If not, create a","यदि नहीं, तो एक बनाने के लिए" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","यदि 'क्षेत्र' लिंक क्षेत्र में मौजूद है, यह आप एक का चयन करने के लिए यह विकल्प दे देंगे" | "If the 'territory' Link Field exists, it will give you an option to select it","यदि 'क्षेत्र' लिंक क्षेत्र में मौजूद है, यह आप एक का चयन करने के लिए यह विकल्प दे देंगे" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","इन निर्देशों जहां मददगार नहीं हैं, <a href='https://github.com/webnotes/wnframework/issues'> GitHub मुद्दे </ a> पर अपने सुझाव में जोड़ने के लिए कृपया" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","इन निर्देशों जहां मददगार नहीं हैं, <a href='https://github.com/frappe/frappe/issues'> GitHub मुद्दे </ a> पर अपने सुझाव में जोड़ने के लिए कृपया" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","आप यह निर्धारित करते हैं, इस आइटम का चयन माता पिता के नीचे एक ड्रॉप डाउन में आ जाएगा ." | "If you set this, this Item will come in a drop-down under the selected parent.","आप यह निर्धारित करते हैं, इस आइटम का चयन माता पिता के नीचे एक ड्रॉप डाउन में आ जाएगा ." | ||||
Image,छवि | Image,छवि | ||||
Image Link,फोटो लिंक | Image Link,फोटो लिंक | ||||
@@ -404,7 +404,7 @@ Is Single,एकल | |||||
Is Standard,मानक है | Is Standard,मानक है | ||||
Is Submittable,Submittable है | Is Submittable,Submittable है | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},जावास्क्रिप्ट स्वरूप: wn.query_reports [' REPORTNAME '] = {} | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},जावास्क्रिप्ट स्वरूप: frappe.query_reports [' REPORTNAME '] = {} | |||||
Javascript,जावास्क्रिप्ट | Javascript,जावास्क्रिप्ट | ||||
Javascript to append to the head section of the page.,जावास्क्रिप्ट पृष्ठ के सिर अनुभाग को संलग्न करने के लिए. | Javascript to append to the head section of the page.,जावास्क्रिप्ट पृष्ठ के सिर अनुभाग को संलग्न करने के लिए. | ||||
Keep a track of all communications,सभी संचार के एक ट्रैक रखें | Keep a track of all communications,सभी संचार के एक ट्रैक रखें | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,Ikona će se pojaviti na gumb | |||||
"If image is selected, color will be ignored (attach first)","Ako je slika odabrana, boja će biti ignoriran (priložiti prvi)" | "If image is selected, color will be ignored (attach first)","Ako je slika odabrana, boja će biti ignoriran (priložiti prvi)" | ||||
"If not, create a","Ako ne, stvoriti" | "If not, create a","Ako ne, stvoriti" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","Ako 'teritoriju' Link Polje postoji, to će vam dati mogućnost da ga odabrali" | "If the 'territory' Link Field exists, it will give you an option to select it","Ako 'teritoriju' Link Polje postoji, to će vam dati mogućnost da ga odabrali" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","Ako ove upute gdje nije korisno , dodajte u svojim prijedlozima na <a href='https://github.com/webnotes/wnframework/issues'> GitHub pitanja < / a>" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","Ako ove upute gdje nije korisno , dodajte u svojim prijedlozima na <a href='https://github.com/frappe/frappe/issues'> GitHub pitanja < / a>" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","Ako postavite ovo , ova stavka će doći u padajućem okviru odabranog roditelja ." | "If you set this, this Item will come in a drop-down under the selected parent.","Ako postavite ovo , ova stavka će doći u padajućem okviru odabranog roditelja ." | ||||
Image,Slika | Image,Slika | ||||
Image Link,Slika Link | Image Link,Slika Link | ||||
@@ -404,7 +404,7 @@ Is Single,Je Samac | |||||
Is Standard,Je Standardni | Is Standard,Je Standardni | ||||
Is Submittable,Je Submittable | Is Submittable,Je Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},JavaScript format : wn.query_reports [ ' REPORTNAME ' ] = { } | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},JavaScript format : frappe.query_reports [ ' REPORTNAME ' ] = { } | |||||
Javascript,Javascript | Javascript,Javascript | ||||
Javascript to append to the head section of the page.,Javascript da doda glave dijelu stranice. | Javascript to append to the head section of the page.,Javascript da doda glave dijelu stranice. | ||||
Keep a track of all communications,Držite praćenje svih komunikacija | Keep a track of all communications,Držite praćenje svih komunikacija | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,Icona apparirà sul tasto | |||||
"If image is selected, color will be ignored (attach first)","Se si seleziona un'immagine, il colore viene ignorata (allegare prima)" | "If image is selected, color will be ignored (attach first)","Se si seleziona un'immagine, il colore viene ignorata (allegare prima)" | ||||
"If not, create a","Se non, creare un" | "If not, create a","Se non, creare un" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","Se il 'territorio' Link campo esiste, che vi darà la possibilità di selezionare la" | "If the 'territory' Link Field exists, it will give you an option to select it","Se il 'territorio' Link campo esiste, che vi darà la possibilità di selezionare la" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","Se queste istruzioni se non disponibile, si prega di aggiungere nei vostri suggerimenti all'indirizzo <a href='https://github.com/webnotes/wnframework/issues'> GitHub Issues < / a>" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","Se queste istruzioni se non disponibile, si prega di aggiungere nei vostri suggerimenti all'indirizzo <a href='https://github.com/frappe/frappe/issues'> GitHub Issues < / a>" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","Se si imposta questo, questo articolo verrà in una discesa sotto il genitore selezionato ." | "If you set this, this Item will come in a drop-down under the selected parent.","Se si imposta questo, questo articolo verrà in una discesa sotto il genitore selezionato ." | ||||
Image,Immagine | Image,Immagine | ||||
Image Link,Immagine link | Image Link,Immagine link | ||||
@@ -404,7 +404,7 @@ Is Single,È single | |||||
Is Standard,È standard | Is Standard,È standard | ||||
Is Submittable,È Submittable | Is Submittable,È Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},Formato JavaScript: wn.query_reports ['REPORTNAME'] = {} | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},Formato JavaScript: frappe.query_reports ['REPORTNAME'] = {} | |||||
Javascript,Javascript | Javascript,Javascript | ||||
Javascript to append to the head section of the page.,Javascript da aggiungere alla sezione head della pagina. | Javascript to append to the head section of the page.,Javascript da aggiungere alla sezione head della pagina. | ||||
Keep a track of all communications,Mantenere una traccia di tutte le comunicazioni | Keep a track of all communications,Mantenere una traccia di tutte le comunicazioni | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,Pictogram verschijnt op de knop | |||||
"If image is selected, color will be ignored (attach first)","Als beeld is geselecteerd, wordt kleur worden genegeerd (voeg als eerste)" | "If image is selected, color will be ignored (attach first)","Als beeld is geselecteerd, wordt kleur worden genegeerd (voeg als eerste)" | ||||
"If not, create a","Zo niet, maak dan een" | "If not, create a","Zo niet, maak dan een" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","Als de 'grondgebied' Link Field bestaat, zal het u een optie om deze te selecteren" | "If the 'territory' Link Field exists, it will give you an option to select it","Als de 'grondgebied' Link Field bestaat, zal het u een optie om deze te selecteren" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","Als deze aanwijzingen waar niet behulpzaam , gelieve toe te voegen in uw suggesties op <a href='https://github.com/webnotes/wnframework/issues'> GitHub Issues < / a>" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","Als deze aanwijzingen waar niet behulpzaam , gelieve toe te voegen in uw suggesties op <a href='https://github.com/frappe/frappe/issues'> GitHub Issues < / a>" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","Als u dit instelt , zal deze post in een drop -down onder de gekozen basismotor ." | "If you set this, this Item will come in a drop-down under the selected parent.","Als u dit instelt , zal deze post in een drop -down onder de gekozen basismotor ." | ||||
Image,Beeld | Image,Beeld | ||||
Image Link,Afbeelding Link | Image Link,Afbeelding Link | ||||
@@ -404,7 +404,7 @@ Is Single,Is Single | |||||
Is Standard,Is Standaard | Is Standard,Is Standaard | ||||
Is Submittable,Is Submittable | Is Submittable,Is Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},JavaScript Formaat : wn.query_reports [ ' ReportName ' ] = { } | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},JavaScript Formaat : frappe.query_reports [ ' ReportName ' ] = { } | |||||
Javascript,Javascript | Javascript,Javascript | ||||
Javascript to append to the head section of the page.,Javascript toe te voegen aan de head sectie van de pagina. | Javascript to append to the head section of the page.,Javascript toe te voegen aan de head sectie van de pagina. | ||||
Keep a track of all communications,Houd een spoor van alle communicatie | Keep a track of all communications,Houd een spoor van alle communicatie | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,O ícone aparecerá no botão | |||||
"If image is selected, color will be ignored (attach first)","Se a imagem for selecionada, a cor será ignorada (anexar primeiro)" | "If image is selected, color will be ignored (attach first)","Se a imagem for selecionada, a cor será ignorada (anexar primeiro)" | ||||
"If not, create a","Se não, crie um(a)" | "If not, create a","Se não, crie um(a)" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","Se o campo com Link 'território' existe, ele vai te dar uma opção para selecioná-lo" | "If the 'territory' Link Field exists, it will give you an option to select it","Se o campo com Link 'território' existe, ele vai te dar uma opção para selecioná-lo" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","Se estas instruções , onde não é útil , por favor, adicione suas sugestões em <a href='https://github.com/webnotes/wnframework/issues'> GitHub Issues </ a>" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","Se estas instruções , onde não é útil , por favor, adicione suas sugestões em <a href='https://github.com/frappe/frappe/issues'> GitHub Issues </ a>" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","Se você definir isso, este item virá em um drop-down sob o pai selecionado ." | "If you set this, this Item will come in a drop-down under the selected parent.","Se você definir isso, este item virá em um drop-down sob o pai selecionado ." | ||||
Image,Imagem | Image,Imagem | ||||
Image Link,Link da imagem | Image Link,Link da imagem | ||||
@@ -404,7 +404,7 @@ Is Single,É único | |||||
Is Standard,É Padrão | Is Standard,É Padrão | ||||
Is Submittable,É enviável | Is Submittable,É enviável | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},JavaScript Formato: wn.query_reports [' REPORTNAME '] = {} | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},JavaScript Formato: frappe.query_reports [' REPORTNAME '] = {} | |||||
Javascript,Javascript | Javascript,Javascript | ||||
Javascript to append to the head section of the page.,Javascript para acrescentar ao cabeçalho da página. | Javascript to append to the head section of the page.,Javascript para acrescentar ao cabeçalho da página. | ||||
Keep a track of all communications,Mantenha o controle de todas as comunicações | Keep a track of all communications,Mantenha o controle de todas as comunicações | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,Ícone aparecerá no botão | |||||
"If image is selected, color will be ignored (attach first)","Se a imagem for selecionada, a cor será ignorado (anexar primeiro)" | "If image is selected, color will be ignored (attach first)","Se a imagem for selecionada, a cor será ignorado (anexar primeiro)" | ||||
"If not, create a","Se não, crie um" | "If not, create a","Se não, crie um" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","Se o campo da 'território' Link existe, ele vai te dar uma opção para selecioná-la" | "If the 'territory' Link Field exists, it will give you an option to select it","Se o campo da 'território' Link existe, ele vai te dar uma opção para selecioná-la" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","Als deze aanwijzingen waar niet behulpzaam , gelieve toe te voegen in uw suggesties op <a href='https://github.com/webnotes/wnframework/issues'> GitHub Issues < / a>" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","Als deze aanwijzingen waar niet behulpzaam , gelieve toe te voegen in uw suggesties op <a href='https://github.com/frappe/frappe/issues'> GitHub Issues < / a>" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","Als u dit instelt , zal deze post in een drop -down onder de gekozen basismotor ." | "If you set this, this Item will come in a drop-down under the selected parent.","Als u dit instelt , zal deze post in een drop -down onder de gekozen basismotor ." | ||||
Image,Imagem | Image,Imagem | ||||
Image Link,Link da imagem | Image Link,Link da imagem | ||||
@@ -404,7 +404,7 @@ Is Single,É único | |||||
Is Standard,É Padrão | Is Standard,É Padrão | ||||
Is Submittable,É Submittable | Is Submittable,É Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},JavaScript Formaat : wn.query_reports [ ' ReportName ' ] = { } | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},JavaScript Formaat : frappe.query_reports [ ' ReportName ' ] = { } | |||||
Javascript,Javascript | Javascript,Javascript | ||||
Javascript to append to the head section of the page.,Javascript para acrescentar à seção principal da página. | Javascript to append to the head section of the page.,Javascript para acrescentar à seção principal da página. | ||||
Keep a track of all communications,Manter um controle de todas as comunicações | Keep a track of all communications,Manter um controle de todas as comunicações | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,Икона ће се појавити на дуг | |||||
"If image is selected, color will be ignored (attach first)","Ако је слика изабрана, боја ће бити игнорисани (приложити први)" | "If image is selected, color will be ignored (attach first)","Ако је слика изабрана, боја ће бити игнорисани (приложити први)" | ||||
"If not, create a","Ако не, направите" | "If not, create a","Ако не, направите" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","Ако Линк пољу "територије" постоји, она ће вам дати могућност да изаберете" | "If the 'territory' Link Field exists, it will give you an option to select it","Ако Линк пољу "територије" постоји, она ће вам дати могућност да изаберете" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","Ако ове инструкције где не помажу , молимо вас да додате у ваше сугестије на <а хреф='хттпс://гитхуб.цом/вебнотес/внфрамеворк/иссуес'> Гитхуб питања < / а>" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","Ако ове инструкције где не помажу , молимо вас да додате у ваше сугестије на <а хреф='хттпс://гитхуб.цом/вебнотес/внфрамеворк/иссуес'> Гитхуб питања < / а>" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","Ако сте поставили ово , ова ставка ће доћи у падајући под изабраном родитеља ." | "If you set this, this Item will come in a drop-down under the selected parent.","Ако сте поставили ово , ова ставка ће доћи у падајући под изабраном родитеља ." | ||||
Image,Слика | Image,Слика | ||||
Image Link,Слика Линк | Image Link,Слика Линк | ||||
@@ -404,7 +404,7 @@ Is Single,Је Сингле | |||||
Is Standard,Је стандард | Is Standard,Је стандард | ||||
Is Submittable,Да ли Субмиттабле | Is Submittable,Да ли Субмиттабле | ||||
JSON,ЈСОН | JSON,ЈСОН | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},Јава формат : вн.куери_репортс [ ' РЕПОРТНАМЕ ' ] = { } | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},Јава формат : вн.куери_репортс [ ' РЕПОРТНАМЕ ' ] = { } | |||||
Javascript,Јавасцрипт | Javascript,Јавасцрипт | ||||
Javascript to append to the head section of the page.,Јавасцрипт да додате на главе делу странице. | Javascript to append to the head section of the page.,Јавасцрипт да додате на главе делу странице. | ||||
Keep a track of all communications,Водите евиденцију о свим комуникацијама | Keep a track of all communications,Водите евиденцију о свим комуникацијама | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,ஐகான் பொத்தானை த | |||||
"If image is selected, color will be ignored (attach first)","படத்தை தேர்வு செய்தால், நிறம் (முதல் இணைக்கவும்) புறக்கணிக்கப்படும்" | "If image is selected, color will be ignored (attach first)","படத்தை தேர்வு செய்தால், நிறம் (முதல் இணைக்கவும்) புறக்கணிக்கப்படும்" | ||||
"If not, create a","இல்லை என்றால், ஒரு உருவாக்க" | "If not, create a","இல்லை என்றால், ஒரு உருவாக்க" | ||||
"If the 'territory' Link Field exists, it will give you an option to select it","'பகுதியில்' இணைப்பு புலம் உள்ளது என்றால், அதை நீங்கள் தேர்ந்தெடுக்க ஒரு விருப்பத்தை தரும்" | "If the 'territory' Link Field exists, it will give you an option to select it","'பகுதியில்' இணைப்பு புலம் உள்ளது என்றால், அதை நீங்கள் தேர்ந்தெடுக்க ஒரு விருப்பத்தை தரும்" | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>","இந்த வழிமுறைகளை அங்கு பயனுள்ளதாக இல்லை என்றால், மிக href='https://github.com/webnotes/wnframework/issues'> மகிழ்ச்சியா சிக்கல்கள் < / a> உங்கள் ஆலோசனைகளை சேர்க்க தயவு செய்து" | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>","இந்த வழிமுறைகளை அங்கு பயனுள்ளதாக இல்லை என்றால், மிக href='https://github.com/frappe/frappe/issues'> மகிழ்ச்சியா சிக்கல்கள் < / a> உங்கள் ஆலோசனைகளை சேர்க்க தயவு செய்து" | |||||
"If you set this, this Item will come in a drop-down under the selected parent.","நீங்கள் இந்த அமைக்க என்றால், இந்த பொருள் தேர்வு பெற்றோர் கீழ் ஒரு துளி கீழே வரும் ." | "If you set this, this Item will come in a drop-down under the selected parent.","நீங்கள் இந்த அமைக்க என்றால், இந்த பொருள் தேர்வு பெற்றோர் கீழ் ஒரு துளி கீழே வரும் ." | ||||
Image,படம் | Image,படம் | ||||
Image Link,படம் இணைப்பு | Image Link,படம் இணைப்பு | ||||
@@ -404,7 +404,7 @@ Is Single,ஒற்றை உள்ளது | |||||
Is Standard,ஸ்டாண்டர்ட் உள்ளது | Is Standard,ஸ்டாண்டர்ட் உள்ளது | ||||
Is Submittable,Submittable உள்ளது | Is Submittable,Submittable உள்ளது | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},ஜாவா வடிவம்: wn.query_reports [' REPORTNAME '] = { } | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},ஜாவா வடிவம்: frappe.query_reports [' REPORTNAME '] = { } | |||||
Javascript,ஜாவா ஸ்கிரிப்ட் | Javascript,ஜாவா ஸ்கிரிப்ட் | ||||
Javascript to append to the head section of the page.,Javascript பக்கம் தலை பிரிவில் சேர்க்க வேண்டும். | Javascript to append to the head section of the page.,Javascript பக்கம் தலை பிரிவில் சேர்க்க வேண்டும். | ||||
Keep a track of all communications,அனைத்து தொடர்புகளையும் ஒரு கண்காணிக்க | Keep a track of all communications,அனைத்து தொடர்புகளையும் ஒரு கண்காணிக்க | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,ไอคอนจะปรากฏบนปุ | |||||
"If image is selected, color will be ignored (attach first)",หากภาพถูกเลือกสีจะถูกละเว้น (แนบแรก) | "If image is selected, color will be ignored (attach first)",หากภาพถูกเลือกสีจะถูกละเว้น (แนบแรก) | ||||
"If not, create a",ถ้าไม่สร้าง | "If not, create a",ถ้าไม่สร้าง | ||||
"If the 'territory' Link Field exists, it will give you an option to select it",ถ้าฟิลด์ 'ดินแดน' แล้วก็จะให้คุณเลือกที่จะเลือก | "If the 'territory' Link Field exists, it will give you an option to select it",ถ้าฟิลด์ 'ดินแดน' แล้วก็จะให้คุณเลือกที่จะเลือก | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>",ถ้า คำแนะนำเหล่านี้ ที่ ไม่เป็นประโยชน์ โปรดเพิ่ม ใน คำแนะนำของคุณ ที่ href='https://github.com/webnotes/wnframework/issues'> <a GitHub ปัญหา </ a> | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>",ถ้า คำแนะนำเหล่านี้ ที่ ไม่เป็นประโยชน์ โปรดเพิ่ม ใน คำแนะนำของคุณ ที่ href='https://github.com/frappe/frappe/issues'> <a GitHub ปัญหา </ a> | |||||
"If you set this, this Item will come in a drop-down under the selected parent.",ถ้าคุณตั้งค่า นี้ รายการ นี้ จะมาในแบบเลื่อนลง ภายใต้การ ปกครอง ที่เลือก | "If you set this, this Item will come in a drop-down under the selected parent.",ถ้าคุณตั้งค่า นี้ รายการ นี้ จะมาในแบบเลื่อนลง ภายใต้การ ปกครอง ที่เลือก | ||||
Image,ภาพ | Image,ภาพ | ||||
Image Link,ลิงก์รูปภาพ | Image Link,ลิงก์รูปภาพ | ||||
@@ -404,7 +404,7 @@ Is Single,เป็นโสด | |||||
Is Standard,เป็นมาตรฐาน | Is Standard,เป็นมาตรฐาน | ||||
Is Submittable,เป็น Submittable | Is Submittable,เป็น Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},รูปแบบ JavaScript : wn.query_reports [ 'ชื่อรายงาน ] = { } | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},รูปแบบ JavaScript : frappe.query_reports [ 'ชื่อรายงาน ] = { } | |||||
Javascript,javascript | Javascript,javascript | ||||
Javascript to append to the head section of the page.,จาวาสคริปต์เพื่อผนวกกับส่วนหัวของหน้า | Javascript to append to the head section of the page.,จาวาสคริปต์เพื่อผนวกกับส่วนหัวของหน้า | ||||
Keep a track of all communications,ติดตามการติดต่อสื่อสารทั้งหมด | Keep a track of all communications,ติดตามการติดต่อสื่อสารทั้งหมด | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,图标将显示在按钮上 | |||||
"If image is selected, color will be ignored (attach first)",如果图像被选中,颜色将被忽略(先附上) | "If image is selected, color will be ignored (attach first)",如果图像被选中,颜色将被忽略(先附上) | ||||
"If not, create a",如果没有,请创建一个 | "If not, create a",如果没有,请创建一个 | ||||
"If the 'territory' Link Field exists, it will give you an option to select it",如果'领土'链接字段存在,它会给你一个选项,选择它 | "If the 'territory' Link Field exists, it will give you an option to select it",如果'领土'链接字段存在,它会给你一个选项,选择它 | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>",如果这些指令,其中没有帮助,请在您的建议添加<a href='https://github.com/webnotes/wnframework/issues'>GitHub的问题</a> | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>",如果这些指令,其中没有帮助,请在您的建议添加<a href='https://github.com/frappe/frappe/issues'>GitHub的问题</a> | |||||
"If you set this, this Item will come in a drop-down under the selected parent.",如果你设置这个,这个项目会在一个下拉菜单中选定父下。 | "If you set this, this Item will come in a drop-down under the selected parent.",如果你设置这个,这个项目会在一个下拉菜单中选定父下。 | ||||
Image,图像 | Image,图像 | ||||
Image Link,图片链接 | Image Link,图片链接 | ||||
@@ -404,7 +404,7 @@ Is Single,单人 | |||||
Is Standard,为标准 | Is Standard,为标准 | ||||
Is Submittable,是Submittable | Is Submittable,是Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},JavaScript的格式:wn.query_reports ['REPORTNAME'] = {} | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},JavaScript的格式:frappe.query_reports ['REPORTNAME'] = {} | |||||
Javascript,使用Javascript | Javascript,使用Javascript | ||||
Javascript to append to the head section of the page.,Javascript来附加到页面的head部分。 | Javascript to append to the head section of the page.,Javascript来附加到页面的head部分。 | ||||
Keep a track of all communications,保持跟踪所有通信 | Keep a track of all communications,保持跟踪所有通信 | ||||
@@ -368,7 +368,7 @@ Icon will appear on the button,圖標將顯示在按鈕上 | |||||
"If image is selected, color will be ignored (attach first)",如果圖像被選中,顏色將被忽略(先附上) | "If image is selected, color will be ignored (attach first)",如果圖像被選中,顏色將被忽略(先附上) | ||||
"If not, create a",如果沒有,請創建一個 | "If not, create a",如果沒有,請創建一個 | ||||
"If the 'territory' Link Field exists, it will give you an option to select it",如果'領土'鏈接字段存在,它會給你一個選項,選擇它 | "If the 'territory' Link Field exists, it will give you an option to select it",如果'領土'鏈接字段存在,它會給你一個選項,選擇它 | ||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/webnotes/wnframework/issues'>GitHub Issues</a>",如果這些指令,其中沒有幫助,請在您的建議添加<a href='https://github.com/webnotes/wnframework/issues'>GitHub的問題</a> | |||||
"If these instructions where not helpful, please add in your suggestions at <a href='https://github.com/frappe/frappe/issues'>GitHub Issues</a>",如果這些指令,其中沒有幫助,請在您的建議添加<a href='https://github.com/frappe/frappe/issues'>GitHub的問題</a> | |||||
"If you set this, this Item will come in a drop-down under the selected parent.",如果你設置這個,這個項目會在一個下拉菜單中選定父下。 | "If you set this, this Item will come in a drop-down under the selected parent.",如果你設置這個,這個項目會在一個下拉菜單中選定父下。 | ||||
Image,圖像 | Image,圖像 | ||||
Image Link,圖片鏈接 | Image Link,圖片鏈接 | ||||
@@ -404,7 +404,7 @@ Is Single,單人 | |||||
Is Standard,為標準 | Is Standard,為標準 | ||||
Is Submittable,是Submittable | Is Submittable,是Submittable | ||||
JSON,JSON | JSON,JSON | ||||
JavaScript Format: wn.query_reports['REPORTNAME'] = {},JavaScript的格式:wn.query_reports ['REPORTNAME'] = {} | |||||
JavaScript Format: frappe.query_reports['REPORTNAME'] = {},JavaScript的格式:frappe.query_reports ['REPORTNAME'] = {} | |||||
Javascript,使用Javascript | Javascript,使用Javascript | ||||
Javascript to append to the head section of the page.,Javascript來附加到頁面的head部分。 | Javascript to append to the head section of the page.,Javascript來附加到頁面的head部分。 | ||||
Keep a track of all communications,保持跟踪所有通信 | Keep a track of all communications,保持跟踪所有通信 | ||||
@@ -7,7 +7,7 @@ from __future__ import unicode_literals | |||||
To setup in defs set: | To setup in defs set: | ||||
backup_path: path where backups will be taken (for eg /backups) | backup_path: path where backups will be taken (for eg /backups) | ||||
backup_link_path: download link for backups (eg /var/www/wnframework/backups) | |||||
backup_link_path: download link for backups (eg /var/www/frappe/backups) | |||||
backup_url: base url of the backup folder (eg http://mysite.com/backups) | backup_url: base url of the backup folder (eg http://mysite.com/backups) | ||||
""" | """ | ||||
#Imports | #Imports | ||||
@@ -43,6 +43,7 @@ def rebuild_website_sitemap_config(): | |||||
frappe.conn.sql("""delete from `tabWebsite Sitemap Config`""") | frappe.conn.sql("""delete from `tabWebsite Sitemap Config`""") | ||||
for app in frappe.get_installed_apps(): | for app in frappe.get_installed_apps(): | ||||
if app=="webnotes": app="frappe" | |||||
build_website_sitemap_config(app) | build_website_sitemap_config(app) | ||||
cleanup_sitemap() | cleanup_sitemap() | ||||
@@ -3,7 +3,7 @@ | |||||
frappe.provide("website"); | frappe.provide("website"); | ||||
$.extend(frappe. { | |||||
$.extend(frappe, { | |||||
_assets_loaded: [], | _assets_loaded: [], | ||||
require: function(url) { | require: function(url) { | ||||
if(frappe._assets_loaded.indexOf(url)!==-1) return; | if(frappe._assets_loaded.indexOf(url)!==-1) return; | ||||
@@ -8,6 +8,9 @@ from frappe.website.utils import cleanup_page_name | |||||
from frappe.website.doctype.website_sitemap.website_sitemap import add_to_sitemap, update_sitemap, remove_sitemap | from frappe.website.doctype.website_sitemap.website_sitemap import add_to_sitemap, update_sitemap, remove_sitemap | ||||
def call_website_generator(bean, method, *args, **kwargs): | |||||
getattr(WebsiteGenerator(bean.doc, bean.doclist), method)(*args, **kwargs) | |||||
class WebsiteGenerator(DocListController): | class WebsiteGenerator(DocListController): | ||||
def autoname(self): | def autoname(self): | ||||
self.doc.name = cleanup_page_name(self.get_page_title()) | self.doc.name = cleanup_page_name(self.get_page_title()) | ||||
@@ -41,7 +41,7 @@ def get_script(report_name): | |||||
script = report.javascript | script = report.javascript | ||||
if not script: | if not script: | ||||
script = "wn.query_reports['%s']={}" % report_name | |||||
script = "frappe.query_reports['%s']={}" % report_name | |||||
# load translations | # load translations | ||||
if frappe.lang != "en": | if frappe.lang != "en": | ||||
@@ -2,7 +2,7 @@ | |||||
#### Application Name and Details | #### Application Name and Details | ||||
1. `app_name` - slugified name e.g. "webnotes" | |||||
1. `app_name` - slugified name e.g. "frappe" | |||||
1. `app_title` - full title name e.g. "Web Notes" | 1. `app_title` - full title name e.g. "Web Notes" | ||||
1. `app_publisher` | 1. `app_publisher` | ||||
1. `app_description` | 1. `app_description` | ||||
@@ -19,10 +19,10 @@ | |||||
#### Javascript / CSS Builds | #### Javascript / CSS Builds | ||||
1. `app_include_js` - include in "app" | 1. `app_include_js` - include in "app" | ||||
1. `app_include_css` - assets/webnotes/css/splash.css | |||||
1. `app_include_css` - assets/frappe/css/splash.css | |||||
1. `web_include_js` - assets/js/webnotes-web.min.js | |||||
1. `web_include_css` - assets/css/webnotes-web.css | |||||
1. `web_include_js` - assets/js/frappe-web.min.js | |||||
1. `web_include_css` - assets/css/frappe-web.css | |||||
#### Desktop | #### Desktop | ||||