Some fixes for web forms (#2043)
* moved position of desc for a field of type text in webforms * Fixed Link field in Web Forms * [Fix] - comments in js must be /* */
This commit is contained in:
parent
345d310fe3
commit
e60c19862c
3 changed files with 21 additions and 19 deletions
|
|
@ -80,7 +80,7 @@ class FormMeta(Meta):
|
|||
js = get_js(path)
|
||||
if js:
|
||||
self.set(fieldname, (self.get(fieldname) or "")
|
||||
+ "\n\n\* Adding {0} *\n\n".format(path) + js)
|
||||
+ "\n\n/* Adding {0} */\n\n".format(path) + js)
|
||||
|
||||
def add_html_templates(self, path):
|
||||
if self.custom:
|
||||
|
|
|
|||
|
|
@ -103,9 +103,9 @@
|
|||
{% elif field.fieldtype=="Text" %}
|
||||
<div class="form-group">
|
||||
{{ label(field) }}
|
||||
{{ help(field) }}
|
||||
<textarea class="form-control" style="height: 200px;"
|
||||
{{ properties(field) }}>{{ value(field) }}</textarea>
|
||||
{{ help(field) }}
|
||||
</div>
|
||||
{% elif field.fieldtype=="Attach" %}
|
||||
<div class="form-group">
|
||||
|
|
|
|||
|
|
@ -31,7 +31,23 @@ class WebForm(WebsiteGenerator):
|
|||
and self.is_standard and not frappe.conf.developer_mode):
|
||||
frappe.throw(_("You need to be in developer mode to edit a Standard Web Form"))
|
||||
|
||||
def convert_links_to_selects(self):
|
||||
'''Convert link fields to select with names as options'''
|
||||
for df in self.web_form_fields:
|
||||
if df.fieldtype == "Link":
|
||||
options = [d.name for d in frappe.get_all(df.options)]
|
||||
df.fieldtype = "Select"
|
||||
|
||||
if len(options)==1:
|
||||
df.options = options[0]
|
||||
df.default = options[0]
|
||||
df.hidden = 1
|
||||
|
||||
else:
|
||||
df.options = "\n".join([""] + options)
|
||||
|
||||
def use_meta_fields(self):
|
||||
'''Override default properties for standard web forms'''
|
||||
meta = frappe.get_meta(self.doc_type)
|
||||
|
||||
for df in self.web_form_fields:
|
||||
|
|
@ -46,21 +62,6 @@ class WebForm(WebsiteGenerator):
|
|||
"hidden", "read_only", "label"):
|
||||
df.set(prop, meta_df.get(prop))
|
||||
|
||||
if df.fieldtype == "Link":
|
||||
try:
|
||||
options = [d.name for d in frappe.get_list(df.options)]
|
||||
df.fieldtype = "Select"
|
||||
|
||||
if len(options)==1:
|
||||
df.options = options[0]
|
||||
df.default = options[0]
|
||||
df.hidden = 1
|
||||
|
||||
else:
|
||||
df.options = "\n".join([""] + options)
|
||||
|
||||
except frappe.PermissionError:
|
||||
df.hidden = 1
|
||||
|
||||
# TODO translate options of Select fields like Country
|
||||
|
||||
|
|
@ -72,8 +73,7 @@ class WebForm(WebsiteGenerator):
|
|||
"""
|
||||
if not frappe.flags.in_import and getattr(frappe.get_conf(),'developer_mode', 0) and self.is_standard:
|
||||
from frappe.modules.export_file import export_to_files
|
||||
from frappe.modules import get_module_path, scrub
|
||||
import os
|
||||
from frappe.modules import get_module_path
|
||||
|
||||
# json
|
||||
export_to_files(record_list=[['Web Form', self.name]])
|
||||
|
|
@ -118,6 +118,8 @@ def get_context(context):
|
|||
if frappe.form_dict.name and not has_web_form_permission(self.doc_type, frappe.form_dict.name):
|
||||
frappe.throw(_("You don't have the permissions to access this document"), frappe.PermissionError)
|
||||
|
||||
self.convert_links_to_selects()
|
||||
|
||||
if self.is_standard:
|
||||
self.use_meta_fields()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue