diff --git a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.js b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.js index ca97489b8d..a7b06b1718 100644 --- a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.js +++ b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.js @@ -5,6 +5,7 @@ frappe.ui.form.on('Inpatient Medication Entry', { refresh: function(frm) { // Ignore cancellation of doctype on cancel all frm.ignore_doctypes_on_cancel_all = ['Stock Entry']; + frm.fields_dict['medication_orders'].grid.wrapper.find('.grid-add-row').hide(); frm.set_query('item_code', () => { return { diff --git a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.json b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.json index dd4c423a9e..b1a6ee4ed1 100644 --- a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.json +++ b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.json @@ -139,7 +139,6 @@ "fieldtype": "Table", "label": "Inpatient Medication Orders", "options": "Inpatient Medication Entry Detail", - "read_only": 1, "reqd": 1 }, { @@ -180,7 +179,7 @@ "index_web_pages_for_search": 1, "is_submittable": 1, "links": [], - "modified": "2020-11-03 13:22:37.820707", + "modified": "2021-01-11 12:37:46.749659", "modified_by": "Administrator", "module": "Healthcare", "name": "Inpatient Medication Entry", diff --git a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py index 70ae713866..bba521313d 100644 --- a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py +++ b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py @@ -15,8 +15,6 @@ class InpatientMedicationEntry(Document): self.validate_medication_orders() def get_medication_orders(self): - self.validate_datetime_filters() - # pull inpatient medication orders based on selected filters orders = get_pending_medication_orders(self) @@ -27,22 +25,6 @@ class InpatientMedicationEntry(Document): self.set('medication_orders', []) frappe.msgprint(_('No pending medication orders found for selected criteria')) - def validate_datetime_filters(self): - if self.from_date and self.to_date: - self.validate_from_to_dates('from_date', 'to_date') - - if self.from_date and getdate(self.from_date) > getdate(): - frappe.throw(_('From Date cannot be after the current date.')) - - if self.to_date and getdate(self.to_date) > getdate(): - frappe.throw(_('To Date cannot be after the current date.')) - - if self.from_time and self.from_time > nowtime(): - frappe.throw(_('From Time cannot be after the current time.')) - - if self.to_time and self.to_time > nowtime(): - frappe.throw(_('To Time cannot be after the current time.')) - def add_mo_to_table(self, orders): # Add medication orders in the child table self.set('medication_orders', []) diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py index 20ae19f5db..36b584d488 100644 --- a/erpnext/selling/doctype/quotation/quotation.py +++ b/erpnext/selling/doctype/quotation/quotation.py @@ -25,7 +25,6 @@ class Quotation(SellingController): def validate(self): super(Quotation, self).validate() self.set_status() - self.update_opportunity() self.validate_uom_is_integer("stock_uom", "qty") self.validate_valid_till() self.set_customer_name() @@ -50,21 +49,20 @@ class Quotation(SellingController): lead_name, company_name = frappe.db.get_value("Lead", self.party_name, ["lead_name", "company_name"]) self.customer_name = company_name or lead_name - def update_opportunity(self): + def update_opportunity(self, status): for opportunity in list(set([d.prevdoc_docname for d in self.get("items")])): if opportunity: - self.update_opportunity_status(opportunity) + self.update_opportunity_status(status, opportunity) if self.opportunity: - self.update_opportunity_status() + self.update_opportunity_status(status) - def update_opportunity_status(self, opportunity=None): + def update_opportunity_status(self, status, opportunity=None): if not opportunity: opportunity = self.opportunity opp = frappe.get_doc("Opportunity", opportunity) - opp.status = None - opp.set_status(update=True) + opp.set_status(status=status, update=True) def declare_enquiry_lost(self, lost_reasons_list, detailed_reason=None): if not self.has_sales_order(): @@ -82,7 +80,7 @@ class Quotation(SellingController): else: frappe.throw(_("Invalid lost reason {0}, please create a new lost reason").format(frappe.bold(reason.get('lost_reason')))) - self.update_opportunity() + self.update_opportunity('Lost') self.update_lead() self.save() @@ -95,7 +93,7 @@ class Quotation(SellingController): self.company, self.base_grand_total, self) #update enquiry status - self.update_opportunity() + self.update_opportunity('Quotation') self.update_lead() def on_cancel(self): @@ -105,7 +103,7 @@ class Quotation(SellingController): #update enquiry status self.set_status(update=True) - self.update_opportunity() + self.update_opportunity('Open') self.update_lead() def print_other_charges(self,docname): diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index e5a8a7196c..1516dd6d95 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -158,7 +158,6 @@ class SalesOrder(SellingController): frappe.throw(_("Quotation {0} is cancelled").format(quotation)) doc.set_status(update=True) - doc.update_opportunity() def validate_drop_ship(self): for d in self.get('items'):