fix(minor): update routes
This commit is contained in:
parent
dc1e240642
commit
542bc01718
@ -209,7 +209,7 @@ def start_import(invoices):
|
|||||||
frappe.db.commit()
|
frappe.db.commit()
|
||||||
if errors:
|
if errors:
|
||||||
frappe.msgprint(_("You had {} errors while creating opening invoices. Check {} for more details")
|
frappe.msgprint(_("You had {} errors while creating opening invoices. Check {} for more details")
|
||||||
.format(errors, "<a href='#List/Error Log' class='variant-click'>Error Log</a>"), indicator="red", title=_("Error Occured"))
|
.format(errors, "<a href='/app/List/Error Log' class='variant-click'>Error Log</a>"), indicator="red", title=_("Error Occured"))
|
||||||
return names
|
return names
|
||||||
|
|
||||||
def publish(index, total, doctype):
|
def publish(index, total, doctype):
|
||||||
|
@ -659,7 +659,7 @@ def transfer_asset(args):
|
|||||||
|
|
||||||
frappe.db.commit()
|
frappe.db.commit()
|
||||||
|
|
||||||
frappe.msgprint(_("Asset Movement record {0} created").format("<a href='#Form/Asset Movement/{0}'>{0}</a>").format(movement_entry.name))
|
frappe.msgprint(_("Asset Movement record {0} created").format("<a href='/app/Form/Asset Movement/{0}'>{0}</a>").format(movement_entry.name))
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_item_details(item_code, asset_category):
|
def get_item_details(item_code, asset_category):
|
||||||
|
@ -71,7 +71,7 @@ class SupplierQuotation(BuyingController):
|
|||||||
doc_sup = doc_sup[0] if doc_sup else None
|
doc_sup = doc_sup[0] if doc_sup else None
|
||||||
if not doc_sup:
|
if not doc_sup:
|
||||||
frappe.throw(_("Supplier {0} not found in {1}").format(self.supplier,
|
frappe.throw(_("Supplier {0} not found in {1}").format(self.supplier,
|
||||||
"<a href='desk#Form/Request for Quotation/{0}'> Request for Quotation {0} </a>".format(doc.name)))
|
"<a href='desk/app/Form/Request for Quotation/{0}'> Request for Quotation {0} </a>".format(doc.name)))
|
||||||
|
|
||||||
quote_status = _('Received')
|
quote_status = _('Received')
|
||||||
for item in doc.items:
|
for item in doc.items:
|
||||||
|
@ -173,7 +173,7 @@ def get_data():
|
|||||||
{
|
{
|
||||||
"type": "doctype",
|
"type": "doctype",
|
||||||
"name": "Course Schedule",
|
"name": "Course Schedule",
|
||||||
"route": "#List/Course Schedule/Calendar"
|
"route": "/app/List/Course Schedule/Calendar"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "doctype",
|
"type": "doctype",
|
||||||
|
@ -16,13 +16,13 @@ def get_data():
|
|||||||
{
|
{
|
||||||
"type": "doctype",
|
"type": "doctype",
|
||||||
"name": "Task",
|
"name": "Task",
|
||||||
"route": "#List/Task",
|
"route": "/app/List/Task",
|
||||||
"description": _("Project activity / task."),
|
"description": _("Project activity / task."),
|
||||||
"onboard": 1,
|
"onboard": 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "report",
|
"type": "report",
|
||||||
"route": "#List/Task/Gantt",
|
"route": "/app/List/Task/Gantt",
|
||||||
"doctype": "Task",
|
"doctype": "Task",
|
||||||
"name": "Gantt Chart",
|
"name": "Gantt Chart",
|
||||||
"description": _("Gantt chart of all tasks."),
|
"description": _("Gantt chart of all tasks."),
|
||||||
|
@ -128,7 +128,7 @@ frappe.ui.form.on('Assessment Result Tool', {
|
|||||||
result_table.find(`span[data-student=${assessment_result.student}].total-score-grade`).html(assessment_result.grade);
|
result_table.find(`span[data-student=${assessment_result.student}].total-score-grade`).html(assessment_result.grade);
|
||||||
let link_span = result_table.find(`span[data-student=${assessment_result.student}].total-result-link`);
|
let link_span = result_table.find(`span[data-student=${assessment_result.student}].total-result-link`);
|
||||||
$(link_span).css("display", "block");
|
$(link_span).css("display", "block");
|
||||||
$(link_span).find("a").attr("href", "#Form/Assessment Result/"+assessment_result.name);
|
$(link_span).find("a").attr("href", "/desk/Form/Assessment Result/"+assessment_result.name);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ frappe.ui.form.on('Course Scheduling Tool', {
|
|||||||
<thead><tr><th>${__("Course")}</th><th>${__("Date")}</th></tr></thead>
|
<thead><tr><th>${__("Course")}</th><th>${__("Date")}</th></tr></thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
${course_schedules.map(
|
${course_schedules.map(
|
||||||
c => `<tr><td><a href="#Form/Course Schedule/${c.name}">${c.name}</a></td>
|
c => `<tr><td><a href="/desk/Form/Course Schedule/${c.name}">${c.name}</a></td>
|
||||||
<td>${c.schedule_date}</td></tr>`
|
<td>${c.schedule_date}</td></tr>`
|
||||||
).join('')}
|
).join('')}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -87,7 +87,7 @@ class ProgramEnrollment(Document):
|
|||||||
fees.submit()
|
fees.submit()
|
||||||
fee_list.append(fees.name)
|
fee_list.append(fees.name)
|
||||||
if fee_list:
|
if fee_list:
|
||||||
fee_list = ["""<a href="#Form/Fees/%s" target="_blank">%s</a>""" % \
|
fee_list = ["""<a href="/app/Form/Fees/%s" target="_blank">%s</a>""" % \
|
||||||
(fee, fee) for fee in fee_list]
|
(fee, fee) for fee in fee_list]
|
||||||
msgprint(_("Fee Records Created - {0}").format(comma_and(fee_list)))
|
msgprint(_("Fee Records Created - {0}").format(comma_and(fee_list)))
|
||||||
|
|
||||||
|
@ -23,10 +23,10 @@ frappe.ui.form.on("Tally Migration", {
|
|||||||
frappe.msgprint({
|
frappe.msgprint({
|
||||||
message: __("An error has occurred during {0}. Check {1} for more details",
|
message: __("An error has occurred during {0}. Check {1} for more details",
|
||||||
[
|
[
|
||||||
repl("<a href='#Form/Tally Migration/%(tally_document)s' class='variant-click'>%(tally_document)s</a>", {
|
repl("<a href='/desk/Form/Tally Migration/%(tally_document)s' class='variant-click'>%(tally_document)s</a>", {
|
||||||
tally_document: frm.docname
|
tally_document: frm.docname
|
||||||
}),
|
}),
|
||||||
"<a href='#List/Error Log' class='variant-click'>Error Log</a>"
|
"<a href='/desk/List/Error Log' class='variant-click'>Error Log</a>"
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
title: __("Tally Migration Error"),
|
title: __("Tally Migration Error"),
|
||||||
|
@ -86,7 +86,7 @@ frappe.ui.form.on('Clinical Procedure', {
|
|||||||
if (r.message) {
|
if (r.message) {
|
||||||
frappe.show_alert({
|
frappe.show_alert({
|
||||||
message: __('Stock Entry {0} created',
|
message: __('Stock Entry {0} created',
|
||||||
['<a class="bold" href="#Form/Stock Entry/'+ r.message + '">' + r.message + '</a>']),
|
['<a class="bold" href="/desk/Form/Stock Entry/'+ r.message + '">' + r.message + '</a>']),
|
||||||
indicator: 'green'
|
indicator: 'green'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ class InpatientRecord(Document):
|
|||||||
|
|
||||||
if ip_record:
|
if ip_record:
|
||||||
msg = _(("Already {0} Patient {1} with Inpatient Record ").format(ip_record[0].status, self.patient) \
|
msg = _(("Already {0} Patient {1} with Inpatient Record ").format(ip_record[0].status, self.patient) \
|
||||||
+ """ <b><a href="#Form/Inpatient Record/{0}">{0}</a></b>""".format(ip_record[0].name))
|
+ """ <b><a href="/app/Form/Inpatient Record/{0}">{0}</a></b>""".format(ip_record[0].name))
|
||||||
frappe.throw(msg)
|
frappe.throw(msg)
|
||||||
|
|
||||||
def admit(self, service_unit, check_in, expected_discharge=None):
|
def admit(self, service_unit, check_in, expected_discharge=None):
|
||||||
|
@ -63,7 +63,7 @@ class PatientAppointment(Document):
|
|||||||
|
|
||||||
if overlaps:
|
if overlaps:
|
||||||
overlapping_details = _('Appointment overlaps with ')
|
overlapping_details = _('Appointment overlaps with ')
|
||||||
overlapping_details += "<b><a href='#Form/Patient Appointment/{0}'>{0}</a></b><br>".format(overlaps[0][0])
|
overlapping_details += "<b><a href='/app/Form/Patient Appointment/{0}'>{0}</a></b><br>".format(overlaps[0][0])
|
||||||
overlapping_details += _('{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.').format(
|
overlapping_details += _('{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.').format(
|
||||||
overlaps[0][1], overlaps[0][2], overlaps[0][3], overlaps[0][4])
|
overlaps[0][1], overlaps[0][2], overlaps[0][3], overlaps[0][4])
|
||||||
frappe.throw(overlapping_details, title=_('Appointments Overlapping'))
|
frappe.throw(overlapping_details, title=_('Appointments Overlapping'))
|
||||||
@ -75,7 +75,7 @@ class PatientAppointment(Document):
|
|||||||
if frappe.db.get_single_value('Healthcare Settings', 'automate_appointment_invoicing'):
|
if frappe.db.get_single_value('Healthcare Settings', 'automate_appointment_invoicing'):
|
||||||
if not frappe.db.get_value('Patient', self.patient, 'customer'):
|
if not frappe.db.get_value('Patient', self.patient, 'customer'):
|
||||||
msg = _("Please set a Customer linked to the Patient")
|
msg = _("Please set a Customer linked to the Patient")
|
||||||
msg += " <b><a href='#Form/Patient/{0}'>{0}</a></b>".format(self.patient)
|
msg += " <b><a href='/app/Form/Patient/{0}'>{0}</a></b>".format(self.patient)
|
||||||
frappe.throw(msg, title=_('Customer Not Found'))
|
frappe.throw(msg, title=_('Customer Not Found'))
|
||||||
|
|
||||||
def update_prescription_details(self):
|
def update_prescription_details(self):
|
||||||
|
@ -32,7 +32,7 @@ def get_healthcare_services_to_invoice(patient, company):
|
|||||||
def validate_customer_created(patient):
|
def validate_customer_created(patient):
|
||||||
if not frappe.db.get_value('Patient', patient.name, 'customer'):
|
if not frappe.db.get_value('Patient', patient.name, 'customer'):
|
||||||
msg = _("Please set a Customer linked to the Patient")
|
msg = _("Please set a Customer linked to the Patient")
|
||||||
msg += " <b><a href='#Form/Patient/{0}'>{0}</a></b>".format(patient.name)
|
msg += " <b><a href='/app/Form/Patient/{0}'>{0}</a></b>".format(patient.name)
|
||||||
frappe.throw(msg, title=_('Customer Not Found'))
|
frappe.throw(msg, title=_('Customer Not Found'))
|
||||||
|
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ def get_clinical_procedures_to_invoice(patient, company):
|
|||||||
service_item = get_healthcare_service_item('clinical_procedure_consumable_item')
|
service_item = get_healthcare_service_item('clinical_procedure_consumable_item')
|
||||||
if not service_item:
|
if not service_item:
|
||||||
msg = _('Please Configure Clinical Procedure Consumable Item in ')
|
msg = _('Please Configure Clinical Procedure Consumable Item in ')
|
||||||
msg += '''<b><a href='#Form/Healthcare Settings'>Healthcare Settings</a></b>'''
|
msg += '''<b><a href='/app/Form/Healthcare Settings'>Healthcare Settings</a></b>'''
|
||||||
frappe.throw(msg, title=_('Missing Configuration'))
|
frappe.throw(msg, title=_('Missing Configuration'))
|
||||||
|
|
||||||
clinical_procedures_to_invoice.append({
|
clinical_procedures_to_invoice.append({
|
||||||
@ -324,7 +324,7 @@ def throw_config_service_item(is_inpatient):
|
|||||||
service_item_label = _('Inpatient Visit Charge Item')
|
service_item_label = _('Inpatient Visit Charge Item')
|
||||||
|
|
||||||
msg = _(('Please Configure {0} in ').format(service_item_label) \
|
msg = _(('Please Configure {0} in ').format(service_item_label) \
|
||||||
+ '''<b><a href='#Form/Healthcare Settings'>Healthcare Settings</a></b>''')
|
+ '''<b><a href='/app/Form/Healthcare Settings'>Healthcare Settings</a></b>''')
|
||||||
frappe.throw(msg, title=_('Missing Configuration'))
|
frappe.throw(msg, title=_('Missing Configuration'))
|
||||||
|
|
||||||
|
|
||||||
@ -334,7 +334,7 @@ def throw_config_practitioner_charge(is_inpatient, practitioner):
|
|||||||
charge_name = _('Inpatient Visit Charge')
|
charge_name = _('Inpatient Visit Charge')
|
||||||
|
|
||||||
msg = _(('Please Configure {0} for Healthcare Practitioner').format(charge_name) \
|
msg = _(('Please Configure {0} for Healthcare Practitioner').format(charge_name) \
|
||||||
+ ''' <b><a href='#Form/Healthcare Practitioner/{0}'>{0}</a></b>'''.format(practitioner))
|
+ ''' <b><a href='/app/Form/Healthcare Practitioner/{0}'>{0}</a></b>'''.format(practitioner))
|
||||||
frappe.throw(msg, title=_('Missing Configuration'))
|
frappe.throw(msg, title=_('Missing Configuration'))
|
||||||
|
|
||||||
|
|
||||||
@ -654,6 +654,6 @@ def render_doc_as_html(doctype, docname, exclude_fields = []):
|
|||||||
><div class='col-md-12 col-sm-12'>" \
|
><div class='col-md-12 col-sm-12'>" \
|
||||||
+ section_html + html +'</div></div>'
|
+ section_html + html +'</div></div>'
|
||||||
if doc_html:
|
if doc_html:
|
||||||
doc_html = "<div class='small'><div class='col-md-12 text-right'><a class='btn btn-default btn-xs' href='#Form/%s/%s'></a></div>" %(doctype, docname) + doc_html + '</div>'
|
doc_html = "<div class='small'><div class='col-md-12 text-right'><a class='btn btn-default btn-xs' href='/app/Form/%s/%s'></a></div>" %(doctype, docname) + doc_html + '</div>'
|
||||||
|
|
||||||
return {'html': doc_html}
|
return {'html': doc_html}
|
||||||
|
@ -50,7 +50,7 @@ class EmployeeTransfer(Document):
|
|||||||
employee = frappe.get_doc("Employee", self.employee)
|
employee = frappe.get_doc("Employee", self.employee)
|
||||||
if self.create_new_employee_id:
|
if self.create_new_employee_id:
|
||||||
if self.new_employee_id:
|
if self.new_employee_id:
|
||||||
frappe.throw(_("Please delete the Employee <a href='#Form/Employee/{0}'>{0}</a>\
|
frappe.throw(_("Please delete the Employee <a href='/app/Form/Employee/{0}'>{0}</a>\
|
||||||
to cancel this document").format(self.new_employee_id))
|
to cancel this document").format(self.new_employee_id))
|
||||||
#mark the employee as active
|
#mark the employee as active
|
||||||
employee.status = "Active"
|
employee.status = "Active"
|
||||||
|
@ -82,7 +82,7 @@ class LeaveAllocation(Document):
|
|||||||
frappe.msgprint(_("{0} already allocated for Employee {1} for period {2} to {3}")
|
frappe.msgprint(_("{0} already allocated for Employee {1} for period {2} to {3}")
|
||||||
.format(self.leave_type, self.employee, formatdate(self.from_date), formatdate(self.to_date)))
|
.format(self.leave_type, self.employee, formatdate(self.from_date), formatdate(self.to_date)))
|
||||||
|
|
||||||
frappe.throw(_('Reference') + ': <a href="#Form/Leave Allocation/{0}">{0}</a>'
|
frappe.throw(_('Reference') + ': <a href="/app/Form/Leave Allocation/{0}">{0}</a>'
|
||||||
.format(leave_allocation[0][0]), OverlapError)
|
.format(leave_allocation[0][0]), OverlapError)
|
||||||
|
|
||||||
def validate_back_dated_allocation(self):
|
def validate_back_dated_allocation(self):
|
||||||
|
@ -246,7 +246,7 @@ class LeaveApplication(Document):
|
|||||||
def throw_overlap_error(self, d):
|
def throw_overlap_error(self, d):
|
||||||
msg = _("Employee {0} has already applied for {1} between {2} and {3} : ").format(self.employee,
|
msg = _("Employee {0} has already applied for {1} between {2} and {3} : ").format(self.employee,
|
||||||
d['leave_type'], formatdate(d['from_date']), formatdate(d['to_date'])) \
|
d['leave_type'], formatdate(d['from_date']), formatdate(d['to_date'])) \
|
||||||
+ """ <b><a href="#Form/Leave Application/{0}">{0}</a></b>""".format(d["name"])
|
+ """ <b><a href="/app/Form/Leave Application/{0}">{0}</a></b>""".format(d["name"])
|
||||||
frappe.throw(msg, OverlapError)
|
frappe.throw(msg, OverlapError)
|
||||||
|
|
||||||
def get_total_leaves_on_half_day(self):
|
def get_total_leaves_on_half_day(self):
|
||||||
|
@ -87,5 +87,5 @@ class ShiftRequest(Document):
|
|||||||
def throw_overlap_error(self, d):
|
def throw_overlap_error(self, d):
|
||||||
msg = _("Employee {0} has already applied for {1} between {2} and {3} : ").format(self.employee,
|
msg = _("Employee {0} has already applied for {1} between {2} and {3} : ").format(self.employee,
|
||||||
d['shift_type'], formatdate(d['from_date']), formatdate(d['to_date'])) \
|
d['shift_type'], formatdate(d['from_date']), formatdate(d['to_date'])) \
|
||||||
+ """ <b><a href="#Form/Shift Request/{0}">{0}</a></b>""".format(d["name"])
|
+ """ <b><a href="/app/Form/Shift Request/{0}">{0}</a></b>""".format(d["name"])
|
||||||
frappe.throw(msg, OverlapError)
|
frappe.throw(msg, OverlapError)
|
@ -211,7 +211,7 @@ def get_doc_condition(doctype):
|
|||||||
def throw_overlap_error(doc, exists_for, overlap_doc, from_date, to_date):
|
def throw_overlap_error(doc, exists_for, overlap_doc, from_date, to_date):
|
||||||
msg = _("A {0} exists between {1} and {2} (").format(doc.doctype,
|
msg = _("A {0} exists between {1} and {2} (").format(doc.doctype,
|
||||||
formatdate(from_date), formatdate(to_date)) \
|
formatdate(from_date), formatdate(to_date)) \
|
||||||
+ """ <b><a href="#Form/{0}/{1}">{1}</a></b>""".format(doc.doctype, overlap_doc) \
|
+ """ <b><a href="/app/Form/{0}/{1}">{1}</a></b>""".format(doc.doctype, overlap_doc) \
|
||||||
+ _(") for {0}").format(exists_for)
|
+ _(") for {0}").format(exists_for)
|
||||||
frappe.throw(msg)
|
frappe.throw(msg)
|
||||||
|
|
||||||
|
@ -134,7 +134,7 @@ frappe.ui.form.on("BOM", {
|
|||||||
frm.set_intro(__('This is a Template BOM and will be used to make the work order for {0} of the item {1}',
|
frm.set_intro(__('This is a Template BOM and will be used to make the work order for {0} of the item {1}',
|
||||||
[
|
[
|
||||||
`<a class="variants-intro">variants</a>`,
|
`<a class="variants-intro">variants</a>`,
|
||||||
`<a href="#Form/Item/${frm.doc.item}">${frm.doc.item}</a>`,
|
`<a href="/desk/Form/Item/${frm.doc.item}">${frm.doc.item}</a>`,
|
||||||
]), true);
|
]), true);
|
||||||
|
|
||||||
frm.$wrapper.find(".variants-intro").on("click", () => {
|
frm.$wrapper.find(".variants-intro").on("click", () => {
|
||||||
|
@ -12,11 +12,11 @@
|
|||||||
<hr style="margin: 15px -15px;">
|
<hr style="margin: 15px -15px;">
|
||||||
<p>
|
<p>
|
||||||
{% if data.value %}
|
{% if data.value %}
|
||||||
<a style="margin-right: 7px; margin-bottom: 7px" class="btn btn-default btn-xs" href="#Form/BOM/{{ data.value }}">
|
<a style="margin-right: 7px; margin-bottom: 7px" class="btn btn-default btn-xs" href="/app/Form/BOM/{{ data.value }}">
|
||||||
{{ __("Open BOM {0}", [data.value.bold()]) }}</a>
|
{{ __("Open BOM {0}", [data.value.bold()]) }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if data.item_code %}
|
{% if data.item_code %}
|
||||||
<a class="btn btn-default btn-xs" href="#Form/Item/{{ data.item_code }}">
|
<a class="btn btn-default btn-xs" href="/app/Form/Item/{{ data.item_code }}">
|
||||||
{{ __("Open Item {0}", [data.item_code.bold()]) }}</a>
|
{{ __("Open Item {0}", [data.item_code.bold()]) }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
|
@ -319,7 +319,7 @@ class ProductionPlan(Document):
|
|||||||
frappe.flags.mute_messages = False
|
frappe.flags.mute_messages = False
|
||||||
|
|
||||||
if wo_list:
|
if wo_list:
|
||||||
wo_list = ["""<a href="#Form/Work Order/%s" target="_blank">%s</a>""" % \
|
wo_list = ["""<a href="/app/Form/Work Order/%s" target="_blank">%s</a>""" % \
|
||||||
(p, p) for p in wo_list]
|
(p, p) for p in wo_list]
|
||||||
msgprint(_("{0} created").format(comma_and(wo_list)))
|
msgprint(_("{0} created").format(comma_and(wo_list)))
|
||||||
else :
|
else :
|
||||||
@ -423,7 +423,7 @@ class ProductionPlan(Document):
|
|||||||
frappe.flags.mute_messages = False
|
frappe.flags.mute_messages = False
|
||||||
|
|
||||||
if material_request_list:
|
if material_request_list:
|
||||||
material_request_list = ["""<a href="#Form/Material Request/{0}">{1}</a>""".format(m.name, m.name) \
|
material_request_list = ["""<a href="/app/Form/Material Request/{0}">{1}</a>""".format(m.name, m.name) \
|
||||||
for m in material_request_list]
|
for m in material_request_list]
|
||||||
msgprint(_("{0} created").format(comma_and(material_request_list)))
|
msgprint(_("{0} created").format(comma_and(material_request_list)))
|
||||||
else :
|
else :
|
||||||
|
@ -27,9 +27,9 @@ frappe.query_reports["BOM Stock Report"] = {
|
|||||||
value = default_formatter(value, row, column, data);
|
value = default_formatter(value, row, column, data);
|
||||||
if (column.id == "Item"){
|
if (column.id == "Item"){
|
||||||
if (data["Enough Parts to Build"] > 0){
|
if (data["Enough Parts to Build"] > 0){
|
||||||
value = `<a style='color:green' href="#Form/Item/${data['Item']}" data-doctype="Item">${data['Item']}</a>`
|
value = `<a style='color:green' href="/desk/Form/Item/${data['Item']}" data-doctype="Item">${data['Item']}</a>`
|
||||||
} else {
|
} else {
|
||||||
value = `<a style='color:red' href="#Form/Item/${data['Item']}" data-doctype="Item">${data['Item']}</a>`
|
value = `<a style='color:red' href="/desk/Form/Item/${data['Item']}" data-doctype="Item">${data['Item']}</a>`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return value
|
return value
|
||||||
|
@ -41,7 +41,7 @@ class PayrollPeriod(Document):
|
|||||||
if overlap_doc:
|
if overlap_doc:
|
||||||
msg = _("A {0} exists between {1} and {2} (").format(self.doctype,
|
msg = _("A {0} exists between {1} and {2} (").format(self.doctype,
|
||||||
formatdate(self.start_date), formatdate(self.end_date)) \
|
formatdate(self.start_date), formatdate(self.end_date)) \
|
||||||
+ """ <b><a href="#Form/{0}/{1}">{1}</a></b>""".format(self.doctype, overlap_doc[0].name) \
|
+ """ <b><a href="/app/Form/{0}/{1}">{1}</a></b>""".format(self.doctype, overlap_doc[0].name) \
|
||||||
+ _(") for {0}").format(self.company)
|
+ _(") for {0}").format(self.company)
|
||||||
frappe.throw(msg)
|
frappe.throw(msg)
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ frappe.listview_settings['Task'] = {
|
|||||||
},
|
},
|
||||||
gantt_custom_popup_html: function(ganttobj, task) {
|
gantt_custom_popup_html: function(ganttobj, task) {
|
||||||
var html = `<h5><a style="text-decoration:underline"\
|
var html = `<h5><a style="text-decoration:underline"\
|
||||||
href="#Form/Task/${ganttobj.id}""> ${ganttobj.name} </a></h5>`;
|
href="/desk/Form/Task/${ganttobj.id}""> ${ganttobj.name} </a></h5>`;
|
||||||
|
|
||||||
if(task.project) html += `<p>Project: ${task.project}</p>`;
|
if(task.project) html += `<p>Project: ${task.project}</p>`;
|
||||||
html += `<p>Progress: ${ganttobj.progress}</p>`;
|
html += `<p>Progress: ${ganttobj.progress}</p>`;
|
||||||
|
@ -85,7 +85,7 @@ class CallPopup {
|
|||||||
<br>
|
<br>
|
||||||
<a
|
<a
|
||||||
class="text-small text-muted"
|
class="text-small text-muted"
|
||||||
href="#Form/Call Log/${this.call_log.name}">
|
href="/desk/Form/Call Log/${this.call_log.name}">
|
||||||
${__('View call log')}
|
${__('View call log')}
|
||||||
</a>
|
</a>
|
||||||
`,
|
`,
|
||||||
@ -167,7 +167,7 @@ class CallPopup {
|
|||||||
const issue_field = this.dialog.get_field("last_issue");
|
const issue_field = this.dialog.get_field("last_issue");
|
||||||
issue_field.set_value(issue.subject);
|
issue_field.set_value(issue.subject);
|
||||||
issue_field.$wrapper.append(`
|
issue_field.$wrapper.append(`
|
||||||
<a class="text-medium" href="#List/Issue?customer=${issue.customer}">
|
<a class="text-medium" href="/desk/List/Issue?customer=${issue.customer}">
|
||||||
${__('View all issues from {0}', [issue.customer])}
|
${__('View all issues from {0}', [issue.customer])}
|
||||||
</a>
|
</a>
|
||||||
`);
|
`);
|
||||||
|
@ -84,7 +84,7 @@ frappe.ui.form.on("Communication", {
|
|||||||
frm.reload_doc();
|
frm.reload_doc();
|
||||||
frappe.show_alert({
|
frappe.show_alert({
|
||||||
message: __("Opportunity {0} created",
|
message: __("Opportunity {0} created",
|
||||||
['<a href="#Form/Opportunity/'+r.message+'">' + r.message + '</a>']),
|
['<a href="/desk/Form/Opportunity/'+r.message+'">' + r.message + '</a>']),
|
||||||
indicator: 'green'
|
indicator: 'green'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
{% } %}
|
{% } %}
|
||||||
</span>
|
</span>
|
||||||
<span data-student="{{s.student}}" class="total-result-link" style="width: 10%; display:{% if(!s.assessment_details) { %}None{% } %}; float:right;">
|
<span data-student="{{s.student}}" class="total-result-link" style="width: 10%; display:{% if(!s.assessment_details) { %}None{% } %}; float:right;">
|
||||||
<a class="btn-open no-decoration" title="Open Link" href="#Form/Assessment Result/{% if(s.assessment_details) { %}{{s.name}}{% } %}">
|
<a class="btn-open no-decoration" title="Open Link" href="/app/Form/Assessment Result/{% if(s.assessment_details) { %}{{s.name}}{% } %}">
|
||||||
<i class="octicon octicon-arrow-right"></i>
|
<i class="octicon octicon-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
|
@ -328,7 +328,7 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
|
|||||||
frappe.msgprint({
|
frappe.msgprint({
|
||||||
message: __('Work Orders Created: {0}',
|
message: __('Work Orders Created: {0}',
|
||||||
[r.message.map(function(d) {
|
[r.message.map(function(d) {
|
||||||
return repl('<a href="#Form/Work Order/%(name)s">%(name)s</a>', {name:d})
|
return repl('<a href="/desk/Form/Work Order/%(name)s">%(name)s</a>', {name:d})
|
||||||
}).join(', ')]),
|
}).join(', ')]),
|
||||||
indicator: 'green'
|
indicator: 'green'
|
||||||
})
|
})
|
||||||
@ -437,7 +437,7 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
|
|||||||
callback: function(r) {
|
callback: function(r) {
|
||||||
if(r.message) {
|
if(r.message) {
|
||||||
frappe.msgprint(__('Material Request {0} submitted.',
|
frappe.msgprint(__('Material Request {0} submitted.',
|
||||||
['<a href="#Form/Material Request/'+r.message.name+'">' + r.message.name+ '</a>']));
|
['<a href="/desk/Form/Material Request/'+r.message.name+'">' + r.message.name+ '</a>']));
|
||||||
}
|
}
|
||||||
d.hide();
|
d.hide();
|
||||||
me.frm.reload_doc();
|
me.frm.reload_doc();
|
||||||
|
@ -134,7 +134,7 @@ erpnext.PointOfSale.Controller = class {
|
|||||||
set_opening_entry_status() {
|
set_opening_entry_status() {
|
||||||
this.page.set_title_sub(
|
this.page.set_title_sub(
|
||||||
`<span class="indicator orange">
|
`<span class="indicator orange">
|
||||||
<a class="text-muted" href="#Form/POS%20Opening%20Entry/${this.pos_opening}">
|
<a class="text-muted" href="/desk/Form/POS%20Opening%20Entry/${this.pos_opening}">
|
||||||
Opened at ${moment(this.pos_opening_time).format("Do MMMM, h:mma")}
|
Opened at ${moment(this.pos_opening_time).format("Do MMMM, h:mma")}
|
||||||
</a>
|
</a>
|
||||||
</span>`);
|
</span>`);
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
<h3>{%= __("Next Steps") %}</h3>
|
<h3>{%= __("Next Steps") %}</h3>
|
||||||
<ul class="list-unstyled">
|
<ul class="list-unstyled">
|
||||||
<li><a class="text-muted" href="#">{%= __("Go to the Desktop and start using ERPNext") %}</a></li>
|
<li><a class="text-muted" href="#">{%= __("Go to the Desktop and start using ERPNext") %}</a></li>
|
||||||
<li><a class="text-muted" href="#modules/Learn">{%= __("View a list of all the help videos") %}</a></li>
|
|
||||||
<li><a class="text-muted" href="https://erpnext.com/docs/user" target="_blank">{%= __("Read the ERPNext Manual") %}</a></li>
|
<li><a class="text-muted" href="https://erpnext.com/docs/user" target="_blank">{%= __("Read the ERPNext Manual") %}</a></li>
|
||||||
<li><a class="text-muted" href="https://discuss.erpnext.com" target="_blank">{%= __("Community Forum") %}</a></li>
|
<li><a class="text-muted" href="https://discuss.erpnext.com" target="_blank">{%= __("Community Forum") %}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -198,7 +198,7 @@ erpnext.stock.move_item = function(item, source, target, actual_qty, rate, callb
|
|||||||
freeze: true,
|
freeze: true,
|
||||||
callback: function(r) {
|
callback: function(r) {
|
||||||
frappe.show_alert(__('Stock Entry {0} created',
|
frappe.show_alert(__('Stock Entry {0} created',
|
||||||
['<a href="#Form/Stock Entry/'+r.message.name+'">' + r.message.name+ '</a>']));
|
['<a href="/desk/Form/Stock Entry/'+r.message.name+'">' + r.message.name+ '</a>']));
|
||||||
dialog.hide();
|
dialog.hide();
|
||||||
callback(r);
|
callback(r);
|
||||||
},
|
},
|
||||||
|
@ -102,7 +102,7 @@ frappe.ui.form.on('Batch', {
|
|||||||
},
|
},
|
||||||
callback: (r) => {
|
callback: (r) => {
|
||||||
frappe.show_alert(__('Stock Entry {0} created',
|
frappe.show_alert(__('Stock Entry {0} created',
|
||||||
['<a href="#Form/Stock Entry/'+r.message.name+'">' + r.message.name+ '</a>']));
|
['<a href="/desk/Form/Stock Entry/'+r.message.name+'">' + r.message.name+ '</a>']));
|
||||||
frm.refresh();
|
frm.refresh();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -85,7 +85,7 @@ frappe.ui.form.on("Item", {
|
|||||||
}
|
}
|
||||||
if (frm.doc.variant_of) {
|
if (frm.doc.variant_of) {
|
||||||
frm.set_intro(__('This Item is a Variant of {0} (Template).',
|
frm.set_intro(__('This Item is a Variant of {0} (Template).',
|
||||||
[`<a href="#Form/Item/${frm.doc.variant_of}">${frm.doc.variant_of}</a>`]), true);
|
[`<a href="/desk/Form/Item/${frm.doc.variant_of}">${frm.doc.variant_of}</a>`]), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frappe.defaults.get_default("item_naming_by")!="Naming Series" || frm.doc.variant_of) {
|
if (frappe.defaults.get_default("item_naming_by")!="Naming Series" || frm.doc.variant_of) {
|
||||||
@ -649,7 +649,7 @@ $.extend(erpnext.item, {
|
|||||||
if (r.message) {
|
if (r.message) {
|
||||||
var variant = r.message;
|
var variant = r.message;
|
||||||
frappe.msgprint_dialog = frappe.msgprint(__("Item Variant {0} already exists with same attributes",
|
frappe.msgprint_dialog = frappe.msgprint(__("Item Variant {0} already exists with same attributes",
|
||||||
[repl('<a href="#Form/Item/%(item_encoded)s" class="strong variant-click">%(item)s</a>', {
|
[repl('<a href="/desk/Form/Item/%(item_encoded)s" class="strong variant-click">%(item)s</a>', {
|
||||||
item_encoded: encodeURIComponent(variant),
|
item_encoded: encodeURIComponent(variant),
|
||||||
item: variant
|
item: variant
|
||||||
})]
|
})]
|
||||||
|
@ -860,7 +860,7 @@ class Item(WebsiteGenerator):
|
|||||||
|
|
||||||
rows = ''
|
rows = ''
|
||||||
for docname, attr_list in not_included.items():
|
for docname, attr_list in not_included.items():
|
||||||
link = "<a href='#Form/Item/{0}'>{0}</a>".format(frappe.bold(_(docname)))
|
link = "<a href='/app/Form/Item/{0}'>{0}</a>".format(frappe.bold(_(docname)))
|
||||||
rows += table_row(link, body(attr_list))
|
rows += table_row(link, body(attr_list))
|
||||||
|
|
||||||
error_description = _('The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.')
|
error_description = _('The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.')
|
||||||
|
@ -14,6 +14,6 @@ frappe.ui.form.on("Item Price", {
|
|||||||
frm.add_fetch("item_code", "stock_uom", "uom");
|
frm.add_fetch("item_code", "stock_uom", "uom");
|
||||||
|
|
||||||
frm.set_df_property("bulk_import_help", "options",
|
frm.set_df_property("bulk_import_help", "options",
|
||||||
'<a href="#data-import-tool/Item Price">' + __("Import in Bulk") + '</a>');
|
'<a href="/desk/data-import-tool/Item Price">' + __("Import in Bulk") + '</a>');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -184,7 +184,7 @@ frappe.ui.form.on("Issue", {
|
|||||||
let url = window.location.href
|
let url = window.location.href
|
||||||
let arr = url.split("/");
|
let arr = url.split("/");
|
||||||
let result = arr[0] + "//" + arr[2]
|
let result = arr[0] + "//" + arr[2]
|
||||||
frappe.msgprint(`New issue created: <a href="${result}/desk#Form/Issue/${r.message}">${r.message}</a>`)
|
frappe.msgprint(`New issue created: <a href="${result}//desk/Form/Issue/${r.message}">${r.message}</a>`)
|
||||||
frm.reload_doc();
|
frm.reload_doc();
|
||||||
dialog.hide();
|
dialog.hide();
|
||||||
});
|
});
|
||||||
|
@ -207,7 +207,7 @@ class Issue(Document):
|
|||||||
"comment_type": "Info",
|
"comment_type": "Info",
|
||||||
"reference_doctype": "Issue",
|
"reference_doctype": "Issue",
|
||||||
"reference_name": replicated_issue.name,
|
"reference_name": replicated_issue.name,
|
||||||
"content": " - Split the Issue from <a href='#Form/Issue/{0}'>{1}</a>".format(self.name, frappe.bold(self.name)),
|
"content": " - Split the Issue from <a href='/app/Form/Issue/{0}'>{1}</a>".format(self.name, frappe.bold(self.name)),
|
||||||
}).insert(ignore_permissions=True)
|
}).insert(ignore_permissions=True)
|
||||||
|
|
||||||
return replicated_issue.name
|
return replicated_issue.name
|
||||||
|
@ -26,12 +26,12 @@ class FindItemBot(BotParser):
|
|||||||
for warehouse in warehouses:
|
for warehouse in warehouses:
|
||||||
qty = frappe.db.get_value("Bin", {'item_code': item[0], 'warehouse': warehouse.name}, 'actual_qty')
|
qty = frappe.db.get_value("Bin", {'item_code': item[0], 'warehouse': warehouse.name}, 'actual_qty')
|
||||||
if qty:
|
if qty:
|
||||||
out.append(_('{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2})').format(qty,
|
out.append(_('{0} units of [{1}](/app/Form/Item/{1}) found in [{2}](/app/Form/Warehouse/{2})').format(qty,
|
||||||
item[0], warehouse.name))
|
item[0], warehouse.name))
|
||||||
found = True
|
found = True
|
||||||
|
|
||||||
if not found:
|
if not found:
|
||||||
out.append(_('[{0}](#Form/Item/{0}) is out of stock').format(item[0]))
|
out.append(_('[{0}](/app/Form/Item/{0}) is out of stock').format(item[0]))
|
||||||
|
|
||||||
return "\n\n".join(out)
|
return "\n\n".join(out)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user