@@ -4,11 +4,11 @@ from frappe import _ | |||
from frappe.utils import now_datetime, getdate, flt, cint, get_fullname | |||
from frappe.installer import update_site_config | |||
from frappe.utils.data import formatdate | |||
from frappe.utils.user import get_enabled_system_users, get_system_managers | |||
from frappe.utils.user import get_enabled_system_users | |||
import os, subprocess, urlparse, urllib | |||
class SiteExpiredError(frappe.ValidationError): | |||
pass | |||
http_status_code = 417 | |||
EXPIRY_WARNING_DAYS = 10 | |||
@@ -28,9 +28,10 @@ | |||
</a> | |||
</div> | |||
{% endif %} | |||
{%- if allow_print and not is_list -%} | |||
{%- if allow_print and not is_list and not _login_required -%} | |||
<div class='text-right'> | |||
<a class='text-muted small' href='/print?doctype={{ doc.doctype}}&name={{ doc.name }}' target="_blank"> | |||
<a class='text-muted small' href='/print?doctype={{ doc.doctype}}&name={{ doc.name }} | |||
{%- if print_format -%}&format={{ print_format }}{%- endif -%}' target="_blank"> | |||
<i class='icon icon-print'></i> {{ _("Print") }}</a> | |||
</div> | |||
{%- endif -%} | |||
@@ -43,7 +44,7 @@ | |||
{% endif %} | |||
</div> | |||
<div class="form-message alert alert-warning hide"></div> | |||
{% if login_required and frappe.user=="Guest" %} | |||
{% if _login_required %} | |||
<div class="login-required"> | |||
<div class="text-muted"> | |||
{{ _("Please sign-up or login to begin") }} | |||
@@ -5,6 +5,9 @@ | |||
<div>{{ frappe.render_template(df.options, {"doc": doc}) or "" }}</div> | |||
{%- elif df.fieldtype in ("Text", "Text Editor", "Code") -%} | |||
{{ render_text_field(df, doc) }} | |||
{%- elif df.fieldtype in ("Image", "Attach Image", "Attach") | |||
and (guess_mimetype(doc[df.fieldname])[0] or "").startswith("image/") -%} | |||
{{ render_image(df, doc) }} | |||
{%- else -%} | |||
{{ render_field_with_label(df, doc) }} | |||
{%- endif -%} | |||
@@ -26,7 +29,7 @@ | |||
<tr> | |||
<th style="width: 40px" class="table-sr">Sr</th> | |||
{% for tdf in visible_columns %} | |||
<th style="width: {{ get_width(tdf) }}px;" class="{{ get_align_class(tdf.fieldtype) }}" {{ fieldmeta(df) }}> | |||
<th style="width: {{ get_width(tdf) }};" class="{{ get_align_class(tdf.fieldtype) }}" {{ fieldmeta(df) }}> | |||
{{ _(tdf.label) }}</th> | |||
{% endfor %} | |||
</tr> | |||
@@ -37,7 +40,7 @@ | |||
<td class="table-sr">{{ d.idx }}</td> | |||
{% for tdf in visible_columns %} | |||
<td class="{{ get_align_class(tdf.fieldtype) }}" {{ fieldmeta(df) }}> | |||
<div class="value">{{ print_value(tdf, d, table_meta, doc) }}</div></td> | |||
<div class="value">{{ print_value(tdf, d, doc) }}</div></td> | |||
{% endfor %} | |||
</tr> | |||
{% endfor %} | |||
@@ -82,17 +85,25 @@ data-fieldname="{{ df.fieldname }}" data-fieldtype="{{ df.fieldtype }}" | |||
{%- endif -%} | |||
{%- endmacro -%} | |||
{%- macro print_value(df, doc, meta, parent_doc=None) -%} | |||
{%- macro render_image(df, doc) -%} | |||
{%- if df.label %}<label>{{ _(df.label) }}</label>{%- endif %} | |||
{{ print_value(df, doc) }} | |||
{% endmacro %} | |||
{%- macro print_value(df, doc, parent_doc=None) -%} | |||
{% if doc.print_templates and | |||
doc.print_templates.get(df.fieldname) %} | |||
{% include doc.print_templates[df.fieldname] %} | |||
{% elif df.fieldtype=="Check" %} | |||
<i class="{{ 'icon-check' if doc[df.fieldname] else 'icon-check-empty' }}"></i> | |||
{% elif df.fieldtype=="Image" %} | |||
<img src="{{ doc[doc.meta.get_field(df.fieldname).options] }}" class="img-responsive"> | |||
<img src="{{ doc[doc.meta.get_field(df.fieldname).options] }}" | |||
class="img-responsive" | |||
{%- if df.print_width %} style="width: {{ get_width(df) }};"{% endif %}> | |||
{% elif df.fieldtype in ("Attach", "Attach Image") and doc[df.fieldname] | |||
and (guess_mimetype(doc[df.fieldname])[0] or "").startswith("image/") %} | |||
<img src="{{ doc[df.fieldname] }}" class="img-responsive"> | |||
<img src="{{ doc[df.fieldname] }}" class="img-responsive" | |||
{%- if df.print_width %} style="width: {{ get_width(df) }};"{% endif %}> | |||
{% elif df.fieldtype=="HTML" %} | |||
{{ frappe.render_template(df.options, {"doc":doc}) }} | |||
{% else %} | |||
@@ -101,9 +112,9 @@ data-fieldname="{{ df.fieldname }}" data-fieldtype="{{ df.fieldtype }}" | |||
{%- endmacro %} | |||
{% macro get_width(df) -%} | |||
{%- if df.print_width -%}{{ (df.print_width|str).replace("px", "") }} | |||
{%- elif df.fieldtype in ("Int", "Check", "Float", "Currency") -%}{{ 80 }} | |||
{%- else -%}{{ 150 }}{% endif -%} | |||
{%- if df.print_width -%}{{ (df.print_width|str).replace("px", "") }}px | |||
{%- elif df.fieldtype in ("Int", "Check", "Float", "Currency") -%}{{ 80 }}px | |||
{%- else -%}{{ 150 }}px{% endif -%} | |||
{%- endmacro %} | |||
{% macro get_align_class(fieldtype) %} | |||
@@ -79,7 +79,6 @@ def enqueue_events(site, queued_jobs): | |||
last = frappe.db.get_value('System Settings', 'System Settings', 'scheduler_last_event') | |||
# set scheduler last event | |||
frappe.db.begin() | |||
frappe.db.set_value('System Settings', 'System Settings', | |||
'scheduler_last_event', nowtime.strftime(DATETIME_FORMAT), | |||
update_modified=False) | |||
@@ -321,6 +321,34 @@ | |||
"set_only_once": 0, | |||
"unique": 0 | |||
}, | |||
{ | |||
"allow_on_submit": 0, | |||
"bold": 0, | |||
"collapsible": 0, | |||
"columns": 0, | |||
"depends_on": "allow_print", | |||
"fieldname": "print_format", | |||
"fieldtype": "Link", | |||
"hidden": 0, | |||
"ignore_user_permissions": 0, | |||
"ignore_xss_filter": 0, | |||
"in_filter": 0, | |||
"in_list_view": 0, | |||
"label": "Print Format", | |||
"length": 0, | |||
"no_copy": 0, | |||
"options": "Print Format", | |||
"permlevel": 0, | |||
"precision": "", | |||
"print_hide": 0, | |||
"print_hide_if_no_value": 0, | |||
"read_only": 0, | |||
"report_hide": 0, | |||
"reqd": 0, | |||
"search_index": 0, | |||
"set_only_once": 0, | |||
"unique": 0 | |||
}, | |||
{ | |||
"allow_on_submit": 0, | |||
"bold": 0, | |||
@@ -941,7 +969,7 @@ | |||
"issingle": 0, | |||
"istable": 0, | |||
"max_attachments": 0, | |||
"modified": "2016-10-10 05:03:19.428894", | |||
"modified": "2016-10-12 04:33:14.728373", | |||
"modified_by": "Administrator", | |||
"module": "Website", | |||
"name": "Web Form", | |||
@@ -107,6 +107,9 @@ def get_context(context): | |||
self.set_web_form_module() | |||
logged_in = frappe.session.user != "Guest" | |||
self._login_required = self.login_required | |||
if logged_in and self.login_required: | |||
self._login_required = False | |||
doc, delimeter = make_route_string(frappe.form_dict) | |||
context.doc = doc | |||
@@ -124,7 +127,7 @@ def get_context(context): | |||
if self.is_standard: | |||
self.use_meta_fields() | |||
if self.login_required and logged_in: | |||
if not self._login_required: | |||
if self.allow_edit: | |||
if self.allow_multiple: | |||
if not frappe.form_dict.name and not frappe.form_dict.new: | |||