mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-07 15:12:51 +00:00
refactor: add permission check and minor fixes
This commit is contained in:
@@ -288,19 +288,13 @@ class SalesInvoice(SellingController):
|
|||||||
"Company", self.company, ["company_logo", "website", "phone_no", "email"], as_dict=True
|
"Company", self.company, ["company_logo", "website", "phone_no", "email"], as_dict=True
|
||||||
)
|
)
|
||||||
|
|
||||||
address_display_list = get_address_display_list("Company", self.company)
|
|
||||||
address_line = address_display_list[0] if address_display_list else ""
|
|
||||||
|
|
||||||
required_fields = [
|
required_fields = [
|
||||||
company_details.get("company_logo"),
|
company_details.get("company_logo"),
|
||||||
company_details.get("phone_no"),
|
company_details.get("phone_no"),
|
||||||
company_details.get("email"),
|
company_details.get("email"),
|
||||||
self.company_address,
|
|
||||||
address_line,
|
|
||||||
]
|
]
|
||||||
|
|
||||||
if not all(required_fields):
|
if not all(required_fields) and not frappe.has_permission("Company", "write", throw=False):
|
||||||
if not frappe.has_permission("Company", "write", throw=False):
|
|
||||||
frappe.msgprint(
|
frappe.msgprint(
|
||||||
_(
|
_(
|
||||||
"Some required Company details are missing. You don't have permission to update them. Please contact your System Manager."
|
"Some required Company details are missing. You don't have permission to update them. Please contact your System Manager."
|
||||||
@@ -308,6 +302,21 @@ class SalesInvoice(SellingController):
|
|||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if not self.company_address and not frappe.has_permission("Sales Invoice", "write", throw=False):
|
||||||
|
frappe.msgprint(
|
||||||
|
_(
|
||||||
|
"Company Address is missing. You don't have permission to update it. Please contact your System Manager."
|
||||||
|
)
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
|
address_display_list = get_address_display_list("Company", self.company)
|
||||||
|
address_line = address_display_list[0].get("address_line1") if address_display_list else ""
|
||||||
|
|
||||||
|
required_fields.append(self.company_address)
|
||||||
|
required_fields.append(address_line)
|
||||||
|
|
||||||
|
if not all(required_fields):
|
||||||
frappe.publish_realtime(
|
frappe.publish_realtime(
|
||||||
"sales_invoice_before_print",
|
"sales_invoice_before_print",
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -79,30 +79,27 @@
|
|||||||
|
|
||||||
<td class="invoice-info-cell">
|
<td class="invoice-info-cell">
|
||||||
{% set company_details = frappe.db.get_value("Company", doc.company, ["website", "email", "phone_no"], as_dict=True) %}
|
{% set company_details = frappe.db.get_value("Company", doc.company, ["website", "email", "phone_no"], as_dict=True) %}
|
||||||
{% set website = company_details.website %}
|
|
||||||
{% set email = company_details.email %}
|
|
||||||
{% set phone_no = company_details.phone_no %}
|
|
||||||
|
|
||||||
<div class="invoice-info">
|
<div class="invoice-info">
|
||||||
<span class="invoice-label">{{ _("Invoice:") }}</span>
|
<span class="invoice-label">{{ _("Invoice:") }}</span>
|
||||||
<span>{{ doc.name }}</span>
|
<span>{{ doc.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% if website %}
|
{% if company_details.website %}
|
||||||
<div class="invoice-info">
|
<div class="invoice-info">
|
||||||
<span class="invoice-label">{{ _("Website:") }}</span>
|
<span class="invoice-label">{{ _("Website:") }}</span>
|
||||||
<span>{{ website }}</span>
|
<span>{{ company_details.website }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if email %}
|
{% if company_details.email %}
|
||||||
<div class="invoice-info">
|
<div class="invoice-info">
|
||||||
<span class="invoice-label">{{ _("Email:") }}</span>
|
<span class="invoice-label">{{ _("Email:") }}</span>
|
||||||
<span>{{ email }}</span>
|
<span>{{ company_details.email }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if phone_no %}
|
{% if company_details.phone_no %}
|
||||||
<div class="invoice-info">
|
<div class="invoice-info">
|
||||||
<span class="invoice-label">{{ _("Contact:") }}</span>
|
<span class="invoice-label">{{ _("Contact:") }}</span>
|
||||||
<span>{{ phone_no }}</span>
|
<span>{{ company_details.phone_no }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
@@ -100,20 +100,22 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="text-align: left; float: right" class="other-details">
|
<div style="text-align: left; float: right" class="other-details">
|
||||||
{% set company_details = frappe.db.get_value("Company", doc.company, ["website", "email", "phone_no"], as_dict=True) %}
|
{% set company_details = frappe.db.get_value("Company", doc.company, ["website", "email", "phone_no"], as_dict=True) %}
|
||||||
{% set website = company_details.website %} {% set email = company_details.email %} {% set phone_no = company_details.phone_no %} {% if website %}
|
{% if company_details.website %}
|
||||||
<div>
|
<div>
|
||||||
<span class="contact-title">{{ _("Website:") }}</span
|
<span class="contact-title">{{ _("Website:") }}</span
|
||||||
><span class="contact-value">{{ website }}</span>
|
><span class="contact-value">{{ company_details.website }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% endif %} {% if email %}
|
{% endif %}
|
||||||
|
{% if company_details.email %}
|
||||||
<div>
|
<div>
|
||||||
<span class="contact-title">{{ _("Email:") }}</span
|
<span class="contact-title">{{ _("Email:") }}</span
|
||||||
><span class="contact-value">{{ email }}</span>
|
><span class="contact-value">{{ company_details.email }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% endif %} {% if phone_no %}
|
{% endif %}
|
||||||
|
{% if company_details.phone_no %}
|
||||||
<div>
|
<div>
|
||||||
<span class="contact-title">{{ _("Contact:") }}</span
|
<span class="contact-title">{{ _("Contact:") }}</span
|
||||||
><span class="contact-value">{{ phone_no }}</span>
|
><span class="contact-value">{{ company_details.phone_no }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
File diff suppressed because one or more lines are too long
@@ -286,8 +286,8 @@ def create_letter_head():
|
|||||||
base_path = frappe.get_app_path("erpnext", "accounts", "letterhead")
|
base_path = frappe.get_app_path("erpnext", "accounts", "letterhead")
|
||||||
|
|
||||||
letterheads = {
|
letterheads = {
|
||||||
"Letterhead with background colour": "letterhead_with_background_colour.html",
|
"Company Letterhead": "company_letterhead.html",
|
||||||
"Letterhead Plain": "letterhead_plain.html",
|
"Company Letterhead - Grey": "company_letterhead_grey.html",
|
||||||
}
|
}
|
||||||
|
|
||||||
for name, filename in letterheads.items():
|
for name, filename in letterheads.items():
|
||||||
|
|||||||
Reference in New Issue
Block a user