Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/frappe/erpnext into salr…
Browse files Browse the repository at this point in the history
…es-register-total
  • Loading branch information
rtdany10 committed Nov 21, 2023
2 parents 6072a54 + 9903049 commit 9e64ef5
Show file tree
Hide file tree
Showing 13 changed files with 61 additions and 22 deletions.
10 changes: 9 additions & 1 deletion erpnext/accounts/doctype/pos_invoice/pos_invoice.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"is_pos",
"is_return",
"update_billed_amount_in_sales_order",
"update_billed_amount_in_delivery_note",
"column_break1",
"company",
"posting_date",
Expand Down Expand Up @@ -1550,12 +1551,19 @@
"fieldtype": "Currency",
"label": "Amount Eligible for Commission",
"read_only": 1
},
{
"default": "1",
"depends_on": "eval: doc.is_return && doc.return_against",
"fieldname": "update_billed_amount_in_delivery_note",
"fieldtype": "Check",
"label": "Update Billed Amount in Delivery Note"
}
],
"icon": "fa fa-file-text",
"is_submittable": 1,
"links": [],
"modified": "2023-06-03 16:23:41.083409",
"modified": "2023-11-20 12:27:12.848149",
"modified_by": "Administrator",
"module": "Accounts",
"name": "POS Invoice",
Expand Down
4 changes: 2 additions & 2 deletions erpnext/accounts/doctype/sales_invoice/sales_invoice.json
Original file line number Diff line number Diff line change
Expand Up @@ -2156,7 +2156,7 @@
"label": "Use Company default Cost Center for Round off"
},
{
"default": "0",
"default": "1",
"depends_on": "eval: doc.is_return",
"fieldname": "update_billed_amount_in_delivery_note",
"fieldtype": "Check",
Expand All @@ -2173,7 +2173,7 @@
"link_fieldname": "consolidated_invoice"
}
],
"modified": "2023-11-03 14:39:38.012346",
"modified": "2023-11-20 11:51:43.555197",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice",
Expand Down
3 changes: 2 additions & 1 deletion erpnext/assets/doctype/asset/asset.json
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,7 @@
"read_only": 1
},
{
"default": "1",
"fieldname": "asset_quantity",
"fieldtype": "Int",
"label": "Asset Quantity",
Expand Down Expand Up @@ -571,7 +572,7 @@
"link_fieldname": "target_asset"
}
],
"modified": "2023-11-15 17:40:17.315203",
"modified": "2023-11-20 20:57:37.010467",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset",
Expand Down
33 changes: 20 additions & 13 deletions erpnext/assets/doctype/asset/asset.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,28 @@ def validate(self):
self.validate_item()
self.validate_cost_center()
self.set_missing_values()
self.validate_gross_and_purchase_amount()
self.validate_expected_value_after_useful_life()
self.validate_finance_books()

if not self.split_from:
self.prepare_depreciation_data()
update_draft_asset_depr_schedules(self)
self.validate_gross_and_purchase_amount()
self.validate_expected_value_after_useful_life()

if self.calculate_depreciation:
update_draft_asset_depr_schedules(self)

if frappe.db.exists("Asset", self.name):
asset_depr_schedules_names = make_draft_asset_depr_schedules_if_not_present(self)

if asset_depr_schedules_names:
asset_depr_schedules_links = get_comma_separated_links(
asset_depr_schedules_names, "Asset Depreciation Schedule"
)
frappe.msgprint(
_(
"Asset Depreciation Schedules created:<br>{0}<br><br>Please check, edit if needed, and submit the Asset."
).format(asset_depr_schedules_links)
)

self.status = self.get_status()

Expand All @@ -61,17 +77,7 @@ def on_submit(self):
if not self.booked_fixed_asset and self.validate_make_gl_entry():
self.make_gl_entries()
if self.calculate_depreciation and not self.split_from:
asset_depr_schedules_names = make_draft_asset_depr_schedules_if_not_present(self)
convert_draft_asset_depr_schedules_into_active(self)
if asset_depr_schedules_names:
asset_depr_schedules_links = get_comma_separated_links(
asset_depr_schedules_names, "Asset Depreciation Schedule"
)
frappe.msgprint(
_(
"Asset Depreciation Schedules created:<br>{0}<br><br>Please check, edit if needed, and submit the Asset."
).format(asset_depr_schedules_links)
)
self.set_status()
add_asset_activity(self.name, _("Asset submitted"))

Expand Down Expand Up @@ -823,6 +829,7 @@ def get_item_details(item_code, asset_category, gross_purchase_amount):
"expected_value_after_useful_life": flt(gross_purchase_amount)
* flt(d.salvage_value_percentage / 100),
"depreciation_start_date": d.depreciation_start_date or nowdate(),
"rate_of_depreciation": d.rate_of_depreciation,
}
)

Expand Down
2 changes: 1 addition & 1 deletion erpnext/controllers/buying_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -758,7 +758,7 @@ def make_asset(self, row, is_grouped_asset=False):
"calculate_depreciation": 0,
"purchase_receipt_amount": purchase_amount,
"gross_purchase_amount": purchase_amount,
"asset_quantity": row.qty if is_grouped_asset else 0,
"asset_quantity": row.qty if is_grouped_asset else 1,
"purchase_receipt": self.name if self.doctype == "Purchase Receipt" else None,
"purchase_invoice": self.name if self.doctype == "Purchase Invoice" else None,
}
Expand Down
1 change: 1 addition & 0 deletions erpnext/controllers/sales_and_purchase_return.py
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,7 @@ def set_missing_values(source, target):
if doc.doctype == "Sales Invoice" or doc.doctype == "POS Invoice":
doc.consolidated_invoice = ""
doc.set("payments", [])
doc.update_billed_amount_in_delivery_note = True
for data in source.payments:
paid_amount = 0.00
base_paid_amount = 0.00
Expand Down
2 changes: 1 addition & 1 deletion erpnext/hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@
"hourly_long": [
"erpnext.accounts.doctype.process_subscription.process_subscription.create_subscription_process",
"erpnext.stock.doctype.repost_item_valuation.repost_item_valuation.repost_entries",
"erpnext.bulk_transaction.doctype.bulk_transaction_log.bulk_transaction_log.retry_failing_transaction",
"erpnext.utilities.bulk_transaction.retry",
],
"daily": [
"erpnext.support.doctype.issue.issue.auto_close_tickets",
Expand Down
1 change: 1 addition & 0 deletions erpnext/patches.txt
Original file line number Diff line number Diff line change
Expand Up @@ -352,5 +352,6 @@ erpnext.patches.v15_0.rename_depreciation_amount_based_on_num_days_in_month_to_d
erpnext.patches.v15_0.set_reserved_stock_in_bin
erpnext.patches.v14_0.create_accounting_dimensions_in_supplier_quotation
erpnext.patches.v13_0.set_default_for_grand_total_manipulation
erpnext.patches.v14_0.update_zero_asset_quantity_field
# below migration patch should always run last
erpnext.patches.v14_0.migrate_gl_to_payment_ledger
6 changes: 6 additions & 0 deletions erpnext/patches/v14_0/update_zero_asset_quantity_field.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import frappe


def execute():
asset = frappe.qb.DocType("Asset")
frappe.qb.update(asset).set(asset.asset_quantity, 1).where(asset.asset_quantity == 0).run()
5 changes: 4 additions & 1 deletion erpnext/projects/doctype/task/task.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
],
"fields": [
{
"allow_in_quick_entry": 1,
"fieldname": "subject",
"fieldtype": "Data",
"in_global_search": 1,
Expand All @@ -66,6 +67,7 @@
"search_index": 1
},
{
"allow_in_quick_entry": 1,
"bold": 1,
"fieldname": "project",
"fieldtype": "Link",
Expand Down Expand Up @@ -396,7 +398,7 @@
"is_tree": 1,
"links": [],
"max_attachments": 5,
"modified": "2023-09-28 13:52:05.861175",
"modified": "2023-11-20 11:42:41.884069",
"modified_by": "Administrator",
"module": "Projects",
"name": "Task",
Expand All @@ -416,6 +418,7 @@
"write": 1
}
],
"quick_entry": 1,
"search_fields": "subject",
"show_name_in_global_search": 1,
"show_preview_popup": 1,
Expand Down
9 changes: 9 additions & 0 deletions erpnext/projects/doctype/timesheet/timesheet.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ frappe.ui.form.on("Timesheet", {

frm.trigger('setup_filters');
frm.trigger('set_dynamic_field_label');
frm.trigger('set_route_options_for_new_task');
},

customer: function(frm) {
Expand Down Expand Up @@ -172,6 +173,14 @@ frappe.ui.form.on("Timesheet", {
frm.refresh_fields();
},

set_route_options_for_new_task: (frm) => {
let task_field = frm.get_docfield('time_logs', 'task');

if (task_field) {
task_field.get_route_options_for_new_doc = (row) => ({'project': row.doc.project});
}
},

make_invoice: function(frm) {
let fields = [{
"fieldtype": "Link",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,7 @@ def validate_quantity(self, row, qty_field=None):

if abs(abs(flt(self.total_qty, precision)) - abs(flt(row.get(qty_field), precision))) > 0.01:
self.throw_error_message(
f"Total quantity {abs(self.total_qty)} in the Serial and Batch Bundle {bold(self.name)} does not match with the quantity {abs(row.get(qty_field))} for the Item {bold(self.item_code)} in the {self.voucher_type} # {self.voucher_no}"
f"Total quantity {abs(flt(self.total_qty))} in the Serial and Batch Bundle {bold(self.name)} does not match with the quantity {abs(flt(row.get(qty_field)))} for the Item {bold(self.item_code)} in the {self.voucher_type} # {self.voucher_no}"
)

def set_is_outward(self):
Expand Down
5 changes: 4 additions & 1 deletion erpnext/utilities/bulk_transaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ def transaction_processing(data, from_doctype, to_doctype):


@frappe.whitelist()
def retry(date: str | None):
def retry(date: str | None = None):
if not date:
date = today()

if date:
failed_docs = frappe.db.get_all(
"Bulk Transaction Log Detail",
Expand Down

0 comments on commit 9e64ef5

Please sign in to comment.