* several throw translations * small fix * codacy fixes * fix import _ * Create file_list.js * Create feedback.pyversion-14
@@ -2,6 +2,7 @@ from __future__ import unicode_literals, absolute_import, print_function | |||||
import click | import click | ||||
import hashlib, os, sys | import hashlib, os, sys | ||||
import frappe | import frappe | ||||
from frappe import _ | |||||
from _mysql_exceptions import ProgrammingError | from _mysql_exceptions import ProgrammingError | ||||
from frappe.commands import pass_context, get_site | from frappe.commands import pass_context, get_site | ||||
from frappe.commands.scheduler import _is_scheduler_enabled | from frappe.commands.scheduler import _is_scheduler_enabled | ||||
@@ -45,7 +46,7 @@ def _new_site(db_name, site, mariadb_root_username=None, mariadb_root_password=N | |||||
try: | try: | ||||
# enable scheduler post install? | # enable scheduler post install? | ||||
enable_scheduler = _is_scheduler_enabled() | enable_scheduler = _is_scheduler_enabled() | ||||
except: | |||||
except Exception: | |||||
enable_scheduler = False | enable_scheduler = False | ||||
make_site_dirs() | make_site_dirs() | ||||
@@ -374,7 +375,6 @@ def _drop_site(site, root_login='root', root_password=None, archived_sites_path= | |||||
def move(dest_dir, site): | def move(dest_dir, site): | ||||
import os | |||||
if not os.path.isdir(dest_dir): | if not os.path.isdir(dest_dir): | ||||
raise Exception, "destination is not a directory or does not exist" | raise Exception, "destination is not a directory or does not exist" | ||||
@@ -448,7 +448,7 @@ def _set_limits(context, site, limits): | |||||
for limit, value in limits: | for limit, value in limits: | ||||
if limit not in ('emails', 'space', 'users', 'email_group', | if limit not in ('emails', 'space', 'users', 'email_group', | ||||
'expiry', 'support_email', 'support_chat', 'upgrade_url'): | 'expiry', 'support_email', 'support_chat', 'upgrade_url'): | ||||
frappe.throw('Invalid limit {0}'.format(limit)) | |||||
frappe.throw(_('Invalid limit {0}').format(limit)) | |||||
if limit=='expiry' and value: | if limit=='expiry' and value: | ||||
try: | try: | ||||
@@ -62,7 +62,7 @@ frappe.listview_settings['File'] = { | |||||
doclist.page.add_menu_item(__("New Folder"), function() { | doclist.page.add_menu_item(__("New Folder"), function() { | ||||
var d = frappe.prompt(__("Name"), function(values) { | var d = frappe.prompt(__("Name"), function(values) { | ||||
if((values.value.indexOf("/") > -1)){ | if((values.value.indexOf("/") > -1)){ | ||||
frappe.throw("Folder name should not include / !!!"); | |||||
frappe.throw(__("Folder name should not include '/' (slash)")); | |||||
return; | return; | ||||
} | } | ||||
var data = { | var data = { | ||||
@@ -98,7 +98,7 @@ frappe.listview_settings['File'] = { | |||||
if(!r.exc) { | if(!r.exc) { | ||||
//doclist.refresh(); | //doclist.refresh(); | ||||
} else { | } else { | ||||
frappe.msgprint(__("Error in uploading files." + r.exc)); | |||||
frappe.msgprint(__("Error in uploading files" + r.exc)); | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -132,7 +132,7 @@ frappe.listview_settings['File'] = { | |||||
doclist.list_renderer.settings.add_menu_item_paste(doclist); | doclist.list_renderer.settings.add_menu_item_paste(doclist); | ||||
} | } | ||||
else{ | else{ | ||||
frappe.throw("Please select file to copy"); | |||||
frappe.throw(__("Please select file to copy")); | |||||
} | } | ||||
}) | }) | ||||
doclist.copy = true; | doclist.copy = true; | ||||
@@ -153,8 +153,8 @@ frappe.listview_settings['File'] = { | |||||
doclist.selected_files = []; | doclist.selected_files = []; | ||||
$(paste_menu).remove(); | $(paste_menu).remove(); | ||||
} | } | ||||
}) | |||||
}) | |||||
}); | |||||
}); | |||||
}, | }, | ||||
before_run: function(doclist) { | before_run: function(doclist) { | ||||
var name_filter = doclist.filter_list.get_filter("file_name"); | var name_filter = doclist.filter_list.get_filter("file_name"); | ||||
@@ -235,5 +235,5 @@ frappe.listview_settings['File'] = { | |||||
.appendTo(doclist.breadcrumb); | .appendTo(doclist.breadcrumb); | ||||
} | } | ||||
}); | }); | ||||
} | |||||
} | |||||
}; | |||||
}; |
@@ -87,7 +87,7 @@ class User(Document): | |||||
def check_demo(self): | def check_demo(self): | ||||
if frappe.session.user == 'demo@erpnext.com': | if frappe.session.user == 'demo@erpnext.com': | ||||
frappe.throw('Cannot change user details in demo. Please signup for a new account at https://erpnext.com', title='Not Allowed') | |||||
frappe.throw(_('Cannot change user details in demo. Please signup for a new account at https://erpnext.com'), title=_('Not Allowed')) | |||||
def set_full_name(self): | def set_full_name(self): | ||||
self.full_name = " ".join(filter(None, [self.first_name, self.last_name])) | self.full_name = " ".join(filter(None, [self.first_name, self.last_name])) | ||||
@@ -20,7 +20,7 @@ def update(doctype, field, value, condition='', limit=500): | |||||
condition = ' where ' + condition | condition = ' where ' + condition | ||||
if ';' in condition: | if ';' in condition: | ||||
frappe.throw('; not allowed in condition') | |||||
frappe.throw(_('; not allowed in condition')) | |||||
items = frappe.db.sql_list('''select name from `tab{0}`{1} limit 0, {2}'''.format(doctype, | items = frappe.db.sql_list('''select name from `tab{0}`{1} limit 0, {2}'''.format(doctype, | ||||
condition, limit), debug=1) | condition, limit), debug=1) | ||||
@@ -277,7 +277,7 @@ def make_user_copy(module_name, user): | |||||
standard_name = frappe.db.get_value('Desktop Icon', {'module_name': module_name, 'standard': 1}) | standard_name = frappe.db.get_value('Desktop Icon', {'module_name': module_name, 'standard': 1}) | ||||
if not standard_name: | if not standard_name: | ||||
frappe.throw('{0} not found'.format(module_name), frappe.DoesNotExistError) | |||||
frappe.throw(_('{0} not found').format(module_name), frappe.DoesNotExistError) | |||||
original = frappe.get_doc('Desktop Icon', standard_name) | original = frappe.get_doc('Desktop Icon', standard_name) | ||||
@@ -68,7 +68,7 @@ def install_app(name): | |||||
reload(site) | reload(site) | ||||
else: | else: | ||||
# will only come via direct API | # will only come via direct API | ||||
frappe.throw("Listing app not allowed") | |||||
frappe.throw(_("Listing app not allowed")) | |||||
app_hooks = frappe.get_hooks(app_name=name) | app_hooks = frappe.get_hooks(app_name=name) | ||||
if app_hooks.get('hide_in_installer'): | if app_hooks.get('hide_in_installer'): | ||||
@@ -5,6 +5,7 @@ | |||||
from __future__ import unicode_literals | from __future__ import unicode_literals | ||||
import frappe, json | import frappe, json | ||||
from frappe.utils import cstr, unique | from frappe.utils import cstr, unique | ||||
from frappe import _ | |||||
# this is called by the Link Field | # this is called by the Link Field | ||||
@frappe.whitelist() | @frappe.whitelist() | ||||
@@ -18,7 +19,6 @@ def search_link(doctype, txt, query=None, filters=None, page_length=20, searchfi | |||||
def search_widget(doctype, txt, query=None, searchfield=None, start=0, | def search_widget(doctype, txt, query=None, searchfield=None, start=0, | ||||
page_length=10, filters=None, filter_fields=None, as_dict=False): | page_length=10, filters=None, filter_fields=None, as_dict=False): | ||||
if isinstance(filters, basestring): | if isinstance(filters, basestring): | ||||
import json | |||||
filters = json.loads(filters) | filters = json.loads(filters) | ||||
meta = frappe.get_meta(doctype) | meta = frappe.get_meta(doctype) | ||||
@@ -38,7 +38,7 @@ def search_widget(doctype, txt, query=None, searchfield=None, start=0, | |||||
searchfield, start, page_length, filters) | searchfield, start, page_length, filters) | ||||
else: | else: | ||||
if query: | if query: | ||||
frappe.throw("This query style is discontinued") | |||||
frappe.throw(_("This query style is discontinued")) | |||||
# custom query | # custom query | ||||
# frappe.response["values"] = frappe.db.sql(scrub_custom_query(query, searchfield, txt)) | # frappe.response["values"] = frappe.db.sql(scrub_custom_query(query, searchfield, txt)) | ||||
else: | else: | ||||
@@ -57,7 +57,7 @@ def get_context(context): | |||||
if self.condition: | if self.condition: | ||||
try: | try: | ||||
frappe.safe_eval(self.condition, None, get_context(temp_doc)) | frappe.safe_eval(self.condition, None, get_context(temp_doc)) | ||||
except: | |||||
except Exception: | |||||
frappe.throw(_("The Condition '{0}' is invalid").format(self.condition)) | frappe.throw(_("The Condition '{0}' is invalid").format(self.condition)) | ||||
def validate_forbidden_types(self): | def validate_forbidden_types(self): | ||||
@@ -239,7 +239,7 @@ def evaluate_alert(doc, alert, event): | |||||
frappe.throw(_("Error while evaluating Email Alert {0}. Please fix your template.").format(alert)) | frappe.throw(_("Error while evaluating Email Alert {0}. Please fix your template.").format(alert)) | ||||
except Exception, e: | except Exception, e: | ||||
frappe.log_error(message=frappe.get_traceback(), title=e) | frappe.log_error(message=frappe.get_traceback(), title=e) | ||||
frappe.throw("Error in Email Alert") | |||||
frappe.throw(_("Error in Email Alert")) | |||||
def get_context(doc): | def get_context(doc): | ||||
return {"doc": doc, "nowdate": nowdate, "frappe.utils": frappe.utils} | return {"doc": doc, "nowdate": nowdate, "frappe.utils": frappe.utils} |
@@ -4,6 +4,7 @@ | |||||
from __future__ import unicode_literals | from __future__ import unicode_literals | ||||
import frappe | import frappe | ||||
from frappe import _ | |||||
from frappe.model.document import Document | from frappe.model.document import Document | ||||
from frappe.utils import validate_email_add ,cint | from frappe.utils import validate_email_add ,cint | ||||
import imaplib,poplib,smtplib | import imaplib,poplib,smtplib | ||||
@@ -37,7 +38,7 @@ class EmailDomain(Document): | |||||
test = poplib.POP3(self.email_server) | test = poplib.POP3(self.email_server) | ||||
except Exception: | except Exception: | ||||
frappe.throw("Incoming email account not correct") | |||||
frappe.throw(_("Incoming email account not correct")) | |||||
return None | return None | ||||
finally: | finally: | ||||
try: | try: | ||||
@@ -52,8 +53,8 @@ class EmailDomain(Document): | |||||
self.port = 587 | self.port = 587 | ||||
sess = smtplib.SMTP((self.smtp_server or "").encode('utf-8'), cint(self.smtp_port) or None) | sess = smtplib.SMTP((self.smtp_server or "").encode('utf-8'), cint(self.smtp_port) or None) | ||||
sess.quit() | sess.quit() | ||||
except Exception as e: | |||||
frappe.throw("Outgoing email account not correct") | |||||
except Exception: | |||||
frappe.throw(_("Outgoing email account not correct")) | |||||
return None | return None | ||||
return | return | ||||
@@ -21,17 +21,15 @@ class LDAPSettings(Document): | |||||
except ImportError: | except ImportError: | ||||
msg = """ | msg = """ | ||||
<div> | <div> | ||||
Seems ldap is not installed on system.<br> | |||||
Guidelines to install ldap dependancies and python package, | |||||
<a href="https://discuss.erpnext.com/t/frappe-v-7-1-beta-ldap-dependancies/15841" target="_blank">Click here</a>, | |||||
{{_("Seems ldap is not installed on system.<br>Guidelines to install ldap dependancies and python package")}}, | |||||
<a href="https://discuss.erpnext.com/t/frappe-v-7-1-beta-ldap-dependancies/15841" target="_blank">{{_("Click here")}}</a>, | |||||
</div> | </div> | ||||
""" | """ | ||||
frappe.throw(msg, title="LDAP Not Installed") | |||||
frappe.throw(msg, title=_("LDAP Not Installed")) | |||||
except ldap.LDAPError: | except ldap.LDAPError: | ||||
conn.unbind_s() | conn.unbind_s() | ||||
frappe.throw("Incorrect UserId or Password") | |||||
frappe.throw(_("Incorrect UserId or Password")) | |||||
def get_ldap_settings(): | def get_ldap_settings(): | ||||
try: | try: | ||||
@@ -67,12 +65,12 @@ def authenticate_ldap_user(user=None, password=None): | |||||
except: | except: | ||||
msg = """ | msg = """ | ||||
<div> | <div> | ||||
{{_("Seems ldap is not installed on system")}}.<br> | |||||
<a href"https://discuss.erpnext.com/t/frappe-v-7-1-beta-ldap-dependancies/15841">Click here</a>, | |||||
{{_("Seems ldap is not installed on system.")}}<br> | |||||
<a href"https://discuss.erpnext.com/t/frappe-v-7-1-beta-ldap-dependancies/15841">{{_("Click here")}}</a>, | |||||
{{_("Guidelines to install ldap dependancies and python")}} | {{_("Guidelines to install ldap dependancies and python")}} | ||||
</div> | </div> | ||||
""" | """ | ||||
frappe.throw(msg, title="LDAP Not Installed") | |||||
frappe.throw(msg, title=_("LDAP Not Installed")) | |||||
conn = ldap.initialize(settings.ldap_server_url) | conn = ldap.initialize(settings.ldap_server_url) | ||||
@@ -120,4 +118,4 @@ def create_user(params): | |||||
user = frappe.get_doc(params).insert(ignore_permissions=True) | user = frappe.get_doc(params).insert(ignore_permissions=True) | ||||
frappe.db.commit() | frappe.db.commit() | ||||
return user | |||||
return user |
@@ -156,7 +156,7 @@ class PayPalSettings(Document): | |||||
response = make_post_request(url, data=params.encode("utf-8")) | response = make_post_request(url, data=params.encode("utf-8")) | ||||
if response.get("ACK")[0] != "Success": | if response.get("ACK")[0] != "Success": | ||||
frappe.throw("Looks like something is wrong with this site's Paypal configuration.") | |||||
frappe.throw(_("Looks like something is wrong with this site's Paypal configuration.")) | |||||
return response | return response | ||||
@@ -6,6 +6,7 @@ from collections import defaultdict | |||||
import frappe | import frappe | ||||
import MySQLdb | import MySQLdb | ||||
import os, socket, time | import os, socket, time | ||||
from frappe import _ | |||||
default_timeout = 300 | default_timeout = 300 | ||||
queue_timeout = { | queue_timeout = { | ||||
@@ -165,7 +166,7 @@ def validate_queue(queue, default_queue_list=None): | |||||
default_queue_list = queue_timeout.keys() | default_queue_list = queue_timeout.keys() | ||||
if queue not in default_queue_list: | if queue not in default_queue_list: | ||||
frappe.throw("Queue should be one of {0}".format(', '.join(default_queue_list))) | |||||
frappe.throw(_("Queue should be one of {0}").format(', '.join(default_queue_list))) | |||||
def get_redis_conn(): | def get_redis_conn(): | ||||
if not hasattr(frappe.local, 'conf'): | if not hasattr(frappe.local, 'conf'): | ||||
@@ -701,13 +701,13 @@ def get_filter(doctype, f): | |||||
f = make_filter_tuple(doctype, key, value) | f = make_filter_tuple(doctype, key, value) | ||||
if not isinstance(f, (list, tuple)): | if not isinstance(f, (list, tuple)): | ||||
frappe.throw("Filter must be a tuple or list (in a list)") | |||||
frappe.throw(frappe._("Filter must be a tuple or list (in a list)")) | |||||
if len(f) == 3: | if len(f) == 3: | ||||
f = (doctype, f[0], f[1], f[2]) | f = (doctype, f[0], f[1], f[2]) | ||||
elif len(f) != 4: | elif len(f) != 4: | ||||
frappe.throw("Filter must have 4 values (doctype, fieldname, operator, value): {0}".format(str(f))) | |||||
frappe.throw(frappe._("Filter must have 4 values (doctype, fieldname, operator, value): {0}").format(str(f))) | |||||
f = frappe._dict(doctype=f[0], fieldname=f[1], operator=f[2], value=f[3]) | f = frappe._dict(doctype=f[0], fieldname=f[1], operator=f[2], value=f[3]) | ||||
@@ -717,7 +717,7 @@ def get_filter(doctype, f): | |||||
valid_operators = ("=", "!=", ">", "<", ">=", "<=", "like", "not like", "in", "not in", "between") | valid_operators = ("=", "!=", ">", "<", ">=", "<=", "like", "not like", "in", "not in", "between") | ||||
if f.operator.lower() not in valid_operators: | if f.operator.lower() not in valid_operators: | ||||
frappe.throw("Operator must be one of {0}".format(", ".join(valid_operators))) | |||||
frappe.throw(frappe._("Operator must be one of {0}").format(", ".join(valid_operators))) | |||||
if f.doctype and (f.fieldname not in default_fields + optional_fields): | if f.doctype and (f.fieldname not in default_fields + optional_fields): | ||||
@@ -1,4 +1,5 @@ | |||||
import frappe | import frappe | ||||
from frappe import _ | |||||
from frappe.core.doctype.feedback_request.feedback_request import is_valid_feedback_request | from frappe.core.doctype.feedback_request.feedback_request import is_valid_feedback_request | ||||
no_cache = True | no_cache = True | ||||
@@ -35,13 +36,13 @@ def accept(key, sender, reference_doctype, reference_name, feedback, rating, ful | |||||
if not reference_doctype and not reference_name or \ | if not reference_doctype and not reference_name or \ | ||||
not frappe.db.get_value(reference_doctype, reference_name): | not frappe.db.get_value(reference_doctype, reference_name): | ||||
frappe.throw("Invalid reference doctype and reference name") | |||||
frappe.throw(_("Invalid Reference")) | |||||
if not rating or not feedback: | |||||
frappe.throw("Please give both Rating and Detailed Feedback") | |||||
if not rating: | |||||
frappe.throw(_("Please add a rating")) | |||||
if not is_valid_feedback_request(key): | if not is_valid_feedback_request(key): | ||||
frappe.throw("Link is expired") | |||||
frappe.throw(_("Expired link")) | |||||
try: | try: | ||||
feedback_request = frappe.db.get_value("Feedback Request", {"key": key}) | feedback_request = frappe.db.get_value("Feedback Request", {"key": key}) | ||||
@@ -49,7 +50,7 @@ def accept(key, sender, reference_doctype, reference_name, feedback, rating, ful | |||||
communication = frappe.get_doc({ | communication = frappe.get_doc({ | ||||
"rating": rating, | "rating": rating, | ||||
"status": "Closed", | "status": "Closed", | ||||
"content": feedback, | |||||
"content": feedback or "", | |||||
"doctype": "Communication", | "doctype": "Communication", | ||||
"sender": sender or "Guest", | "sender": sender or "Guest", | ||||
"sent_or_received": "Received", | "sent_or_received": "Received", | ||||
@@ -67,5 +68,6 @@ def accept(key, sender, reference_doctype, reference_name, feedback, rating, ful | |||||
doc.reference_communication = communication.name | doc.reference_communication = communication.name | ||||
doc.save(ignore_permissions=True) | doc.save(ignore_permissions=True) | ||||
return True | return True | ||||
except Exception as e: | |||||
frappe.throw("Can not submit feedback, Please try again later") | |||||
except Exception: | |||||
frappe.log_error() | |||||
frappe.throw(_("Cannot submit feedback, please try again later")) |