├── config ├── license.txt ├── jewellery_erpnext ├── result.txt ├── config │ ├── __init__.py │ ├── desktop.py │ └── docs.py ├── public │ ├── css │ │ └── jewellery.css │ └── js │ │ └── doctype_js │ │ ├── stock_ │ │ ├── sketch_order_form.js │ │ ├── supplier.js │ │ ├── quality_inspection_template.js │ │ └── operation.js ├── templates │ ├── __init__.py │ └── pages │ │ └── __init__.py ├── gurukrupa_exports │ ├── __init__.py │ ├── doctype │ │ ├── __init__.py │ │ ├── dust_type │ │ │ ├── __init__.py │ │ │ ├── dust_type.js │ │ │ ├── test_dust_type.py │ │ │ └── dust_type.py │ │ ├── flask_size │ │ │ ├── __init__.py │ │ │ ├── flask_size.js │ │ │ ├── test_flask_size.py │ │ │ └── flask_size.py │ │ ├── order_type │ │ │ ├── __init__.py │ │ │ └── order_type.py │ │ ├── service_type │ │ │ ├── __init__.py │ │ │ ├── service_type.js │ │ │ ├── test_service_type.py │ │ │ └── service_type.py │ │ ├── si_items │ │ │ ├── __init__.py │ │ │ └── si_items.py │ │ ├── sketch_order │ │ │ ├── __init__.py │ │ │ └── test_sketch_order.py │ │ ├── parcel_place_list │ │ │ ├── __init__.py │ │ │ ├── parcel_place_list.js │ │ │ ├── test_parcel_place_list.py │ │ │ └── parcel_place_list.py │ │ ├── service_type_2 │ │ │ ├── __init__.py │ │ │ ├── service_type_2.py │ │ │ └── service_type_2.json │ │ ├── sketch_order_form │ │ │ ├── __init__.py │ │ │ └── test_sketch_order_form.py │ │ ├── cad_order_form_detail │ │ │ ├── __init__.py │ │ │ └── cad_order_form_detail.py │ │ ├── customer_diamond_grade │ │ │ ├── __init__.py │ │ │ └── customer_diamond_grade.py │ │ ├── designer_assignment │ │ │ ├── __init__.py │ │ │ └── designer_assignment.py │ │ ├── diamond_price_list │ │ │ ├── __init__.py │ │ │ ├── diamond_price_list.js │ │ │ ├── test_diamond_price_list.py │ │ │ └── diamond_price_list.py │ │ ├── final_sketch_approval │ │ │ ├── __init__.py │ │ │ └── final_sketch_approval.py │ │ ├── gemstone_price_list │ │ │ ├── __init__.py │ │ │ ├── gemstone_price_list.js │ │ │ ├── test_gemstone_price_list.py │ │ │ └── gemstone_price_list.py │ │ ├── making_charge_price │ │ │ ├── __init__.py │ │ │ ├── test_making_charge_price.py │ │ │ └── making_charge_price.py │ │ ├── rough_sketch_approval │ │ │ ├── __init__.py │ │ │ └── rough_sketch_approval.py │ │ ├── cam_weight_details_mapping │ │ │ ├── __init__.py │ │ │ ├── cam_weight_details_mapping.py │ │ │ └── cam_weight_details_mapping.json │ │ ├── designer_assignment___cad │ │ │ ├── __init__.py │ │ │ └── designer_assignment___cad.py │ │ ├── final_sketch_approval_cmo │ │ │ ├── __init__.py │ │ │ └── final_sketch_approval_cmo.py │ │ ├── final_sketch_approval_hod │ │ │ ├── __init__.py │ │ │ └── final_sketch_approval_hod.py │ │ ├── parcel_place_multiselect │ │ │ ├── __init__.py │ │ │ ├── parcel_place_multiselect.js │ │ │ ├── test_parcel_place_multiselect.py │ │ │ └── parcel_place_multiselect.py │ │ ├── sketch_order_form_category │ │ │ ├── __init__.py │ │ │ └── sketch_order_form_category.py │ │ ├── sketch_order_form_detail │ │ │ ├── __init__.py │ │ │ └── sketch_order_form_detail.py │ │ ├── final_sketch_approval___hold │ │ │ ├── __init__.py │ │ │ └── final_sketch_approval___hold.py │ │ ├── serial_no_and_design_code_order │ │ │ ├── __init__.py │ │ │ └── test_serial_no_and_design_code_order.py │ │ ├── attribute_value_finding_type_weight │ │ │ ├── __init__.py │ │ │ └── attribute_value_finding_type_weight.py │ │ ├── attribute_value_item_attribute_detail │ │ │ ├── __init__.py │ │ │ └── attribute_value_item_attribute_detail.py │ │ ├── final_sketch_approval_cmo___rejected │ │ │ ├── __init__.py │ │ │ └── final_sketch_approval_cmo___rejected.py │ │ ├── making_charge_price_item_subcategory │ │ │ ├── __init__.py │ │ │ └── making_charge_price_item_subcategory.py │ │ ├── serial_no_and_design_code_order_form │ │ │ ├── __init__.py │ │ │ └── test_serial_no_and_design_code_order_form.py │ │ ├── attribute_value_finding_type_subcategory │ │ │ ├── __init__.py │ │ │ └── attribute_value_finding_type_subcategory.py │ │ ├── making_charge_price_finding_subcategory │ │ │ ├── __init__.py │ │ │ └── making_charge_price_finding_subcategory.py │ │ └── serial_no_and_design_code_order_form_detail │ │ │ ├── __init__.py │ │ │ └── serial_no_and_design_code_order_form_detail.py │ └── report │ │ ├── __init__.py │ │ └── cad_order_timelogs │ │ ├── __init__.py │ │ └── cad_order_timelogs.js ├── jewellery_erpnext │ ├── __init__.py │ ├── doctype │ │ ├── __init__.py │ │ ├── qc │ │ │ ├── __init__.py │ │ │ └── test_qc.py │ │ ├── concept │ │ │ ├── __init__.py │ │ │ ├── concept.js │ │ │ ├── test_concept.py │ │ │ └── concept.py │ │ ├── design │ │ │ ├── __init__.py │ │ │ ├── design.js │ │ │ ├── test_design.py │ │ │ └── design.py │ │ ├── line │ │ │ ├── __init__.py │ │ │ ├── line.js │ │ │ ├── test_line.py │ │ │ └── line.py │ │ ├── momkash │ │ │ ├── __init__.py │ │ │ ├── momkash.js │ │ │ ├── test_momkash.py │ │ │ └── momkash.py │ │ ├── mould │ │ │ ├── __init__.py │ │ │ ├── mould.js │ │ │ ├── test_mould.py │ │ │ └── mould.py │ │ ├── purity │ │ │ ├── __init__.py │ │ │ ├── test_purity.py │ │ │ ├── purity.js │ │ │ └── purity.py │ │ ├── slip │ │ │ ├── __init__.py │ │ │ ├── test_slip.py │ │ │ └── slip.py │ │ ├── tone │ │ │ ├── __init__.py │ │ │ ├── test_tone.py │ │ │ ├── tone.js │ │ │ └── tone.py │ │ ├── assortment │ │ │ ├── __init__.py │ │ │ ├── assortment.js │ │ │ ├── test_assortment.py │ │ │ └── assortment.py │ │ ├── design_order │ │ │ ├── __init__.py │ │ │ ├── test_design_order.py │ │ │ ├── design_order.py │ │ │ └── design_order.js │ │ ├── employee_ir │ │ │ ├── __init__.py │ │ │ ├── test_employee_ir.py │ │ │ └── doc_events │ │ │ │ ├── mould_utils.py │ │ │ │ ├── html_utils.py │ │ │ │ └── filters.py │ │ ├── huid_detail │ │ │ ├── __init__.py │ │ │ └── huid_detail.py │ │ ├── item_type │ │ │ ├── __init__.py │ │ │ ├── item_type.js │ │ │ ├── test_item_type.py │ │ │ └── item_type.py │ │ ├── loss_details │ │ │ ├── __init__.py │ │ │ └── loss_details.py │ │ ├── loss_type │ │ │ ├── __init__.py │ │ │ ├── loss_type.js │ │ │ ├── test_loss_type.py │ │ │ └── loss_type.py │ │ ├── machine_size │ │ │ ├── __init__.py │ │ │ ├── machine_size.js │ │ │ ├── test_machine_size.py │ │ │ └── machine_size.py │ │ ├── main_slip │ │ │ ├── __init__.py │ │ │ └── test_main_slip.py │ │ ├── melting_lot │ │ │ ├── __init__.py │ │ │ └── test_melting_lot.py │ │ ├── melting_type │ │ │ ├── __init__.py │ │ │ ├── melting_type.js │ │ │ ├── test_melting_type.py │ │ │ └── melting_type.py │ │ ├── mwo_table │ │ │ ├── __init__.py │ │ │ └── mwo_table.py │ │ ├── qc_details │ │ │ ├── __init__.py │ │ │ └── qc_details.py │ │ ├── qc_parameter │ │ │ ├── __init__.py │ │ │ ├── qc_parameter.js │ │ │ ├── test_qc_parameter.py │ │ │ └── qc_parameter.py │ │ ├── qc_readings │ │ │ ├── __init__.py │ │ │ └── qc_readings.py │ │ ├── refined_gold │ │ │ ├── __init__.py │ │ │ └── refined_gold.py │ │ ├── refining │ │ │ ├── __init__.py │ │ │ └── test_refining.py │ │ ├── sales_type │ │ │ ├── __init__.py │ │ │ ├── sales_type.js │ │ │ ├── test_sales_type.py │ │ │ └── sales_type.py │ │ ├── state_list │ │ │ ├── __init__.py │ │ │ ├── state_list.js │ │ │ ├── test_state_list.py │ │ │ └── state_list.py │ │ ├── swap_metal │ │ │ ├── __init__.py │ │ │ └── test_swap_metal.py │ │ ├── tree_number │ │ │ ├── __init__.py │ │ │ ├── tree_number.js │ │ │ ├── test_tree_number.py │ │ │ └── tree_number.py │ │ ├── alloy_settings │ │ │ ├── __init__.py │ │ │ ├── test_alloy_settings.py │ │ │ ├── alloy_settings.js │ │ │ └── alloy_settings.py │ │ ├── attribute_value │ │ │ ├── __init__.py │ │ │ ├── test_attribute_value.py │ │ │ └── attribute_value.py │ │ ├── batch_multiselect │ │ │ ├── __init__.py │ │ │ └── batch_multiselect.py │ │ ├── bom_metal_detail │ │ │ ├── __init__.py │ │ │ └── bom_metal_detail.py │ │ ├── cam_weight_detail │ │ │ ├── __init__.py │ │ │ └── cam_weight_detail.py │ │ ├── combine_job_card │ │ │ ├── __init__.py │ │ │ └── test_combine_job_card.py │ │ ├── custom_refining │ │ │ ├── __init__.py │ │ │ ├── custom_refining.js │ │ │ ├── test_custom_refining.py │ │ │ └── custom_refining.py │ │ ├── customer_approval │ │ │ ├── __init__.py │ │ │ └── test_customer_approval.py │ │ ├── cutting_process │ │ │ ├── __init__.py │ │ │ ├── cutting_process.js │ │ │ ├── test_cutting_process.py │ │ │ └── cutting_process.py │ │ ├── default_charges │ │ │ ├── __init__.py │ │ │ ├── default_charges.js │ │ │ ├── test_default_charges.py │ │ │ └── default_charges.py │ │ ├── department_ir │ │ │ ├── __init__.py │ │ │ └── test_department_ir.py │ │ ├── design_attributes │ │ │ ├── __init__.py │ │ │ └── design_attributes.py │ │ ├── e_invoice_item │ │ │ ├── __init__.py │ │ │ ├── e_invoice_item.js │ │ │ ├── test_e_invoice_item.py │ │ │ └── e_invoice_item.py │ │ ├── employees_hobbies │ │ │ ├── __init__.py │ │ │ ├── employees_hobbies.py │ │ │ └── employees_hobbies.json │ │ ├── item_box_table │ │ │ ├── __init__.py │ │ │ └── item_box_table.py │ │ ├── item_chain_length │ │ │ ├── __init__.py │ │ │ ├── item_chain_length.py │ │ │ └── item_chain_length.json │ │ ├── laser_powder_type │ │ │ ├── __init__.py │ │ │ ├── laser_powder_type.js │ │ │ ├── test_laser_powder_type.py │ │ │ └── laser_powder_type.py │ │ ├── mc_source_table │ │ │ ├── __init__.py │ │ │ └── mc_source_table.py │ │ ├── metal_conversions │ │ │ ├── __init__.py │ │ │ └── test_metal_conversions.py │ │ ├── metal_criteria │ │ │ ├── __init__.py │ │ │ └── metal_criteria.py │ │ ├── metal_details │ │ │ ├── __init__.py │ │ │ ├── test_metal_details.py │ │ │ ├── metal_details.js │ │ │ └── metal_details.py │ │ ├── metal_loss_purity │ │ │ ├── __init__.py │ │ │ └── metal_loss_purity.py │ │ ├── mop_balance_table │ │ │ ├── __init__.py │ │ │ └── mop_balance_table.py │ │ ├── mould_reference │ │ │ ├── __init__.py │ │ │ └── mould_reference.py │ │ ├── operation_card │ │ │ ├── __init__.py │ │ │ └── test_operation_card.py │ │ ├── product_category │ │ │ ├── __init__.py │ │ │ ├── product_category.js │ │ │ ├── test_product_category.py │ │ │ └── product_category.py │ │ ├── product_details │ │ │ ├── __init__.py │ │ │ └── product_details.py │ │ ├── purchase_type │ │ │ ├── __init__.py │ │ │ ├── purchase_type.js │ │ │ ├── test_purchase_type.py │ │ │ └── purchase_type.py │ │ ├── recoverd_diamond │ │ │ ├── __init__.py │ │ │ └── recoverd_diamond.py │ │ ├── recoverd_gemstone │ │ │ ├── __init__.py │ │ │ └── recoverd_gemstone.py │ │ ├── recovered_diamond │ │ │ ├── __init__.py │ │ │ └── recovered_diamond.py │ │ ├── refining_details │ │ │ ├── __init__.py │ │ │ └── refining_details.py │ │ ├── sc_source_table │ │ │ ├── __init__.py │ │ │ └── sc_source_table.py │ │ ├── sc_target_table │ │ │ ├── __init__.py │ │ │ └── sc_target_table.py │ │ ├── serial_no_table │ │ │ ├── __init__.py │ │ │ └── serial_no_table.py │ │ ├── sm_source_table │ │ │ ├── __init__.py │ │ │ ├── sm_source_table.js │ │ │ ├── test_sm_source_table.py │ │ │ └── sm_source_table.py │ │ ├── sm_target_table │ │ │ ├── __init__.py │ │ │ └── sm_target_table.py │ │ ├── snc_fg_details │ │ │ ├── __init__.py │ │ │ └── snc_fg_details.py │ │ ├── snc_sfg_details │ │ │ ├── __init__.py │ │ │ └── snc_sfg_details.py │ │ ├── snc_source_table │ │ │ ├── __init__.py │ │ │ └── snc_source_table.py │ │ ├── subcontracting │ │ │ ├── __init__.py │ │ │ └── test_subcontracting.py │ │ ├── transfer_type │ │ │ ├── __init__.py │ │ │ ├── transfer_type.js │ │ │ ├── test_transfer_type.py │ │ │ └── transfer_type.py │ │ ├── alloy_batch_details │ │ │ ├── __init__.py │ │ │ └── alloy_batch_details.py │ │ ├── alloy_setting_details │ │ │ ├── __init__.py │ │ │ ├── test_alloy_setting_details.py │ │ │ ├── alloy_setting_details.js │ │ │ └── alloy_setting_details.py │ │ ├── bom_diamond_detail │ │ │ ├── __init__.py │ │ │ └── bom_diamond_detail.py │ │ ├── bom_finding_detail │ │ │ ├── __init__.py │ │ │ └── bom_finding_detail.py │ │ ├── bom_gemstone_detail │ │ │ ├── __init__.py │ │ │ └── bom_gemstone_detail.py │ │ ├── category_multiselect │ │ │ ├── __init__.py │ │ │ └── category_multiselect.py │ │ ├── certification_settings │ │ │ ├── __init__.py │ │ │ └── certification_settings.py │ │ ├── customer_item_code │ │ │ ├── __init__.py │ │ │ └── customer_item_code.py │ │ ├── customer_metal_line_no │ │ │ ├── __init__.py │ │ │ └── customer_metal_line_no.py │ │ ├── customer_payment_terms │ │ │ ├── __init__.py │ │ │ ├── customer_payment_terms.js │ │ │ ├── test_customer_payment_terms.py │ │ │ └── customer_payment_terms.py │ │ ├── department_operation │ │ │ ├── __init__.py │ │ │ ├── test_department_operation.py │ │ │ ├── department_operation.py │ │ │ └── department_operation.js │ │ ├── diamond_conversion │ │ │ ├── __init__.py │ │ │ └── test_diamond_conversion.py │ │ ├── employee_ir_operation │ │ │ ├── __init__.py │ │ │ └── employee_ir_operation.py │ │ ├── employee_languages │ │ │ ├── __init__.py │ │ │ └── employee_languages.py │ │ ├── employee_loss_details │ │ │ ├── __init__.py │ │ │ └── employee_loss_details.py │ │ ├── employee_metal_loss │ │ │ ├── __init__.py │ │ │ ├── employee_metal_loss.js │ │ │ └── test_employee_metal_loss.py │ │ ├── employee_relations │ │ │ ├── __init__.py │ │ │ ├── employee_relations.js │ │ │ ├── test_employee_relations.py │ │ │ └── employee_relations.py │ │ ├── employee_source_table │ │ │ ├── __init__.py │ │ │ └── employee_source_table.py │ │ ├── employee_target_table │ │ │ ├── __init__.py │ │ │ └── employee_target_table.py │ │ ├── gemstone_conversion │ │ │ ├── __init__.py │ │ │ └── test_gemstone_conversion.py │ │ ├── gemstone_multiplier │ │ │ ├── __init__.py │ │ │ └── gemstone_multiplier.py │ │ ├── jewellery_settings │ │ │ ├── __init__.py │ │ │ ├── test_jewellery_settings.py │ │ │ ├── jewellery_settings.js │ │ │ └── jewellery_settings.py │ │ ├── jewellery_system_item │ │ │ ├── __init__.py │ │ │ └── jewellery_system_item.py │ │ ├── main_slip_operation │ │ │ ├── __init__.py │ │ │ └── main_slip_operation.py │ │ ├── main_slip_se_details │ │ │ ├── __init__.py │ │ │ └── main_slip_se_details.py │ │ ├── manufacturing_plan │ │ │ ├── __init__.py │ │ │ └── test_manufacturing_plan.py │ │ ├── manufacturing_setting │ │ │ ├── __init__.py │ │ │ ├── test_manufacturing_setting.py │ │ │ └── manufacturing_setting.py │ │ ├── metal_tolerance_table │ │ │ ├── __init__.py │ │ │ └── metal_tolerance_table.py │ │ ├── mwo_mop_balance_table │ │ │ ├── __init__.py │ │ │ └── mwo_mop_balance_table.py │ │ ├── operation_loss_details │ │ │ ├── __init__.py │ │ │ └── operation_loss_details.py │ │ ├── operation_metal_loss │ │ │ ├── __init__.py │ │ │ ├── operation_metal_loss.js │ │ │ └── test_operation_metal_loss.py │ │ ├── operation_multiselect │ │ │ ├── __init__.py │ │ │ └── operation_multiselect.py │ │ ├── operation_warehouse │ │ │ ├── __init__.py │ │ │ └── operation_warehouse.py │ │ ├── parent_melting_lot │ │ │ ├── __init__.py │ │ │ ├── parent_melting_lot.js │ │ │ ├── test_parent_melting_lot.py │ │ │ └── parent_melting_lot.py │ │ ├── pmo_gemstone_table │ │ │ ├── __init__.py │ │ │ └── pmo_gemstone_table.py │ │ ├── pmo_operation_cost │ │ │ ├── __init__.py │ │ │ └── pmo_operation_cost.py │ │ ├── product_certification │ │ │ ├── __init__.py │ │ │ └── test_product_certification.py │ │ ├── qc_rejection_reason │ │ │ ├── __init__.py │ │ │ ├── qc_rejection_reason.js │ │ │ ├── test_qc_rejection_reason.py │ │ │ └── qc_rejection_reason.py │ │ ├── recovered_gemstone │ │ │ ├── __init__.py │ │ │ └── recovered_gemstone.py │ │ ├── sales_order_item_child │ │ │ ├── __init__.py │ │ │ └── sales_order_item_child.py │ │ ├── sales_type_multiselect │ │ │ ├── __init__.py │ │ │ └── sales_type_multiselect.py │ │ ├── serial_number_creator │ │ │ ├── __init__.py │ │ │ └── test_serial_number_creator.py │ │ ├── stock_entry_mop_item │ │ │ ├── __init__.py │ │ │ └── stock_entry_mop_item.py │ │ ├── territory_multi_select │ │ │ ├── __init__.py │ │ │ └── territory_multi_select.py │ │ ├── tolerance_weight_type │ │ │ ├── __init__.py │ │ │ ├── tolerance_weight_type.js │ │ │ ├── test_tolerance_weight_type.py │ │ │ └── tolerance_weight_type.py │ │ ├── variant_item_group │ │ │ ├── __init__.py │ │ │ └── variant_item_group.py │ │ ├── variant_loss_table │ │ │ ├── __init__.py │ │ │ └── variant_loss_table.py │ │ ├── variant_loss_warehouse │ │ │ ├── __init__.py │ │ │ └── variant_loss_warehouse.py │ │ ├── work_order_details │ │ │ ├── __init__.py │ │ │ └── work_order_details.py │ │ ├── workstation_metal_loss │ │ │ ├── __init__.py │ │ │ ├── workstation_metal_loss.js │ │ │ └── test_workstation_metal_loss.py │ │ ├── child_stock_reconcilation │ │ │ ├── __init__.py │ │ │ └── test_child_stock_reconcilation.py │ │ ├── combine_job_card_detail │ │ │ ├── __init__.py │ │ │ └── combine_job_card_detail.py │ │ ├── department_ir_operation │ │ │ ├── __init__.py │ │ │ └── department_ir_operation.py │ │ ├── department_source_table │ │ │ ├── __init__.py │ │ │ └── department_source_table.py │ │ ├── department_target_table │ │ │ ├── __init__.py │ │ │ └── department_target_table.py │ │ ├── diamond_product_tolerance │ │ │ ├── __init__.py │ │ │ └── diamond_product_tolerance.py │ │ ├── diamond_tolerance_table │ │ │ ├── __init__.py │ │ │ └── diamond_tolerance_table.py │ │ ├── employee_family_background │ │ │ ├── __init__.py │ │ │ └── employee_family_background.py │ │ ├── employee_relative_deails │ │ │ ├── __init__.py │ │ │ └── employee_relative_deails.py │ │ ├── exploded_product_details │ │ │ ├── __init__.py │ │ │ ├── exploded_product_details.js │ │ │ ├── test_exploded_product_details.py │ │ │ └── exploded_product_details.py │ │ ├── gemstone_product_tolerance │ │ │ ├── __init__.py │ │ │ └── gemstone_product_tolerance.py │ │ ├── gemstone_tolerance_table │ │ │ ├── __init__.py │ │ │ └── gemstone_tolerance_table.py │ │ ├── ignore_department_for_mop │ │ │ ├── __init__.py │ │ │ └── ignore_department_for_mop.py │ │ ├── item_category_multiselect │ │ │ ├── __init__.py │ │ │ └── item_category_multiselect.py │ │ ├── item_template_attribute │ │ │ ├── __init__.py │ │ │ └── item_template_attribute.py │ │ ├── job_card_internal_transfer │ │ │ ├── __init__.py │ │ │ ├── test_job_card_internal_transfer.py │ │ │ ├── job_card_internal_transfer.js │ │ │ └── job_card_internal_transfer.py │ │ ├── manually_book_loss_details │ │ │ ├── __init__.py │ │ │ └── manually_book_loss_details.py │ │ ├── manufacturing_operation │ │ │ ├── __init__.py │ │ │ └── test_manufacturing_operation.py │ │ ├── manufacturing_plan_table │ │ │ ├── __init__.py │ │ │ └── manufacturing_plan_table.py │ │ ├── manufacturing_work_order │ │ │ ├── __init__.py │ │ │ └── test_manufacturing_work_order.py │ │ ├── melting_lot_alloy_details │ │ │ ├── __init__.py │ │ │ └── melting_lot_alloy_details.py │ │ ├── metal_product_tolerance │ │ │ ├── __init__.py │ │ │ └── metal_product_tolerance.py │ │ ├── operation_card_transfer │ │ │ ├── __init__.py │ │ │ ├── operation_card_transfer.js │ │ │ └── test_operation_card_transfer.py │ │ ├── parent_manufacturing_order │ │ │ ├── __init__.py │ │ │ ├── test_parent_manufacturing_order.py │ │ │ └── parent_manufacturing_order_list.js │ │ ├── purchase_type_multiselect │ │ │ ├── __init__.py │ │ │ └── purchase_type_multiselect.py │ │ ├── refining_department_detail │ │ │ ├── __init__.py │ │ │ └── refining_department_detail.py │ │ ├── refining_operation_details │ │ │ ├── __init__.py │ │ │ └── refining_operation_details.py │ │ ├── refining_serial_no_detail │ │ │ ├── __init__.py │ │ │ └── refining_serial_no_detail.py │ │ ├── sale_person_child_table │ │ │ ├── __init__.py │ │ │ └── sale_person_child_table.py │ │ ├── slip_operation_card_detial │ │ │ ├── __init__.py │ │ │ └── slip_operation_card_detial.py │ │ ├── sm_remain_balance_table │ │ │ ├── __init__.py │ │ │ └── sm_remain_balance_table.py │ │ ├── supplier_services_price │ │ │ ├── __init__.py │ │ │ ├── supplier_services_price.js │ │ │ ├── test_supplier_services_price.py │ │ │ └── supplier_services_price.py │ │ ├── variant_based_warehouse │ │ │ ├── __init__.py │ │ │ └── variant_based_warehouse.py │ │ ├── child_stock_reconcilation_item │ │ │ ├── __init__.py │ │ │ └── child_stock_reconcilation_item.py │ │ ├── custom_refining_operation_detail │ │ │ ├── __init__.py │ │ │ └── custom_refining_operation_detail.py │ │ ├── customer_certification_price │ │ │ ├── __init__.py │ │ │ ├── customer_certification_price.js │ │ │ ├── test_customer_certification_price.py │ │ │ └── customer_certification_price.py │ │ ├── customer_payment_terms_details │ │ │ ├── __init__.py │ │ │ └── customer_payment_terms_details.py │ │ ├── job_card_internal_transfer_item │ │ │ ├── __init__.py │ │ │ └── job_card_internal_transfer_item.py │ │ ├── manufacturing_operation_time_log │ │ │ ├── __init__.py │ │ │ └── manufacturing_operation_time_log.py │ │ ├── manufacturing_plan_sales_order │ │ │ ├── __init__.py │ │ │ └── manufacturing_plan_sales_order.py │ │ ├── melting_lot_design_order_detail │ │ │ ├── __init__.py │ │ │ └── melting_lot_design_order_detail.py │ │ ├── product_certification_details │ │ │ ├── __init__.py │ │ │ └── product_certification_details.py │ │ ├── stock_reconciliation_template │ │ │ ├── __init__.py │ │ │ ├── test_stock_reconciliation_template.py │ │ │ └── stock_reconciliation_template.py │ │ ├── attribute_value_diamond_sieve_size │ │ │ ├── __init__.py │ │ │ └── attribute_value_diamond_sieve_size.py │ │ ├── custom_refining_department_detail │ │ │ ├── __init__.py │ │ │ └── custom_refining_department_detail.py │ │ ├── customer_product_tolerance_master │ │ │ ├── __init__.py │ │ │ ├── test_customer_product_tolerance_master.py │ │ │ └── customer_product_tolerance_master.py │ │ ├── melting_lot_design_order_bunch_detail │ │ │ ├── __init__.py │ │ │ └── melting_lot_design_order_bunch_detail.py │ │ ├── previous_child_stock_reconciliation │ │ │ ├── __init__.py │ │ │ └── previous_child_stock_reconciliation.py │ │ ├── stock_reconciliation_template_item │ │ │ ├── __init__.py │ │ │ └── stock_reconciliation_template_item.py │ │ ├── cad_to_finish_weight_estimated_details │ │ │ ├── __init__.py │ │ │ └── cad_to_finish_weight_estimated_details.py │ │ ├── manufacturing_work_order_refining_details │ │ │ ├── __init__.py │ │ │ └── manufacturing_work_order_refining_details.py │ │ ├── supplier_services_price_item_subcategory │ │ │ ├── __init__.py │ │ │ ├── supplier_services_price_item_subcategory.js │ │ │ ├── test_supplier_services_price_item_subcategory.py │ │ │ └── supplier_services_price_item_subcategory.py │ │ └── manufacturing_operation_department_time_log │ │ │ ├── __init__.py │ │ │ ├── manufacturing_operation_department_time_log.js │ │ │ ├── test_manufacturing_operation_department_time_log.py │ │ │ └── manufacturing_operation_department_time_log.py │ ├── report │ │ ├── __init__.py │ │ ├── work_order_status │ │ │ ├── __init__.py │ │ │ └── work_order_status.js │ │ └── bom_details_against_quotation │ │ │ └── bom_details_against_quotation.js │ ├── doc_events │ │ ├── purchase_receipt.py │ │ ├── item_attribute.py │ │ ├── unreconcile_payment.py │ │ └── purchase_invoice.py │ ├── custom_fields │ │ └── payment_schedule.json │ ├── customization │ │ ├── sales_invoice │ │ │ └── sales_invoice.py │ │ ├── stock_ledger_entry │ │ │ ├── stock_ledger_entry.py │ │ │ └── doc_events │ │ │ │ └── utils.py │ │ ├── purchase_receipt │ │ │ └── purchase_receipt.py │ │ ├── quotation │ │ │ └── quotation.py │ │ ├── sales_order │ │ │ └── sales_order.py │ │ └── utils │ │ │ └── metal_utils.py │ └── property_setter │ │ └── employee_transfer.json ├── __init__.py ├── fixtures │ └── document_naming_rule.json ├── modules.txt ├── jobs │ └── stock_reconciliation_template.py ├── patches.txt └── patches │ ├── create_branch_account_field.py │ ├── create_custom_field_in_jv.py │ ├── create_custom_field.py │ ├── update_department_ir_status.py │ └── update_employee_ir_status.py ├── README.md ├── .vscode └── settings.json ├── .gitattributes ├── requirements.txt ├── .gitignore ├── scripts └── check_max_lines.py ├── .editorconfig ├── setup.py ├── MANIFEST.in └── pyproject.toml /config: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | License: MIT -------------------------------------------------------------------------------- /jewellery_erpnext/result.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/public/css/jewellery.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/templates/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/public/js/doctype_js/stock_: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/templates/pages/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/__init__.py: -------------------------------------------------------------------------------- 1 | __version__ = "0.0.1" 2 | -------------------------------------------------------------------------------- /jewellery_erpnext/fixtures/document_naming_rule.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/report/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/report/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/concept/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/design/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/line/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/momkash/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mould/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/purity/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/slip/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tone/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/public/js/doctype_js/sketch_order_form.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | #### License 3 | 4 | MIT 5 | # jewellery-erpnext 6 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/dust_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/flask_size/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/order_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/service_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/si_items/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/sketch_order/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/assortment/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/design_order/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_ir/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/huid_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/loss_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/loss_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/machine_size/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/main_slip/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_lot/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mwo_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_parameter/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_readings/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refined_gold/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refining/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sales_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/state_list/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/swap_metal/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tree_number/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/modules.txt: -------------------------------------------------------------------------------- 1 | Jewellery Erpnext 2 | Gurukrupa Exports -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/parcel_place_list/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/service_type_2/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/sketch_order_form/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/report/cad_order_timelogs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/alloy_settings/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/attribute_value/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/batch_multiselect/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/bom_metal_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/cam_weight_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/combine_job_card/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/custom_refining/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_approval/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/cutting_process/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/default_charges/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_ir/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/design_attributes/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/e_invoice_item/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employees_hobbies/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_box_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_chain_length/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/laser_powder_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mc_source_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_conversions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_criteria/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_loss_purity/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mop_balance_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mould_reference/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_card/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/product_category/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/product_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/purchase_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/recoverd_diamond/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/recoverd_gemstone/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/recovered_diamond/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refining_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sc_source_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sc_target_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/serial_no_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sm_source_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sm_target_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/snc_fg_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/snc_sfg_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/snc_source_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/subcontracting/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/transfer_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/report/work_order_status/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "taipyStudio.gUI.elementsFilePaths": [] 3 | } -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/cad_order_form_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/customer_diamond_grade/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/designer_assignment/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/diamond_price_list/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/final_sketch_approval/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/gemstone_price_list/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/making_charge_price/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/rough_sketch_approval/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/alloy_batch_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/alloy_setting_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/bom_diamond_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/bom_finding_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/bom_gemstone_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/category_multiselect/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/certification_settings/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_item_code/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_metal_line_no/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_payment_terms/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_operation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/diamond_conversion/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_ir_operation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_languages/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_loss_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_metal_loss/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_relations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_source_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_target_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/gemstone_conversion/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/gemstone_multiplier/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/jewellery_settings/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/jewellery_system_item/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/main_slip_operation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/main_slip_se_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_plan/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_setting/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_tolerance_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mwo_mop_balance_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_loss_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_metal_loss/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_multiselect/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_warehouse/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/parent_melting_lot/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/pmo_gemstone_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/pmo_operation_cost/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/product_certification/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_rejection_reason/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/recovered_gemstone/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sales_order_item_child/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sales_type_multiselect/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/serial_number_creator/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/stock_entry_mop_item/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/territory_multi_select/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tolerance_weight_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/variant_item_group/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/variant_loss_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/variant_loss_warehouse/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/work_order_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/workstation_metal_loss/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/cam_weight_details_mapping/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/designer_assignment___cad/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/final_sketch_approval_cmo/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/final_sketch_approval_hod/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/parcel_place_multiselect/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/sketch_order_form_category/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/sketch_order_form_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/child_stock_reconcilation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/combine_job_card_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_ir_operation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_source_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_target_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/diamond_product_tolerance/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/diamond_tolerance_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_family_background/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_relative_deails/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/exploded_product_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/gemstone_product_tolerance/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/gemstone_tolerance_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/ignore_department_for_mop/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_category_multiselect/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_template_attribute/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/job_card_internal_transfer/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manually_book_loss_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_operation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_plan_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_work_order/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_lot_alloy_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_product_tolerance/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_card_transfer/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/parent_manufacturing_order/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/purchase_type_multiselect/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refining_department_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refining_operation_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refining_serial_no_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sale_person_child_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/slip_operation_card_detial/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sm_remain_balance_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/supplier_services_price/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/variant_based_warehouse/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/final_sketch_approval___hold/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/serial_no_and_design_code_order/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/child_stock_reconcilation_item/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/custom_refining_operation_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_certification_price/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_payment_terms_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/job_card_internal_transfer_item/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_operation_time_log/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_plan_sales_order/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_lot_design_order_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/product_certification_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/stock_reconciliation_template/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/attribute_value_finding_type_weight/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/attribute_value_item_attribute_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/final_sketch_approval_cmo___rejected/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/making_charge_price_item_subcategory/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/serial_no_and_design_code_order_form/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/attribute_value_diamond_sieve_size/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/custom_refining_department_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_product_tolerance_master/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_lot_design_order_bunch_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/previous_child_stock_reconciliation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/stock_reconciliation_template_item/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | # frappe -- https://github.com/frappe/frappe is installed via 'bench init' -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/attribute_value_finding_type_subcategory/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/making_charge_price_finding_subcategory/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/cad_to_finish_weight_estimated_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_work_order_refining_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/supplier_services_price_item_subcategory/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.pyc 3 | *.egg-info 4 | *.swp 5 | tags 6 | node_modules 7 | __pycache__ 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/serial_no_and_design_code_order_form_detail/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_operation_department_time_log/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tone/test_tone.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | import unittest 6 | 7 | 8 | class TestTone(unittest.TestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/line/line.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Line", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/purity/test_purity.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | import unittest 6 | 7 | 8 | class TestPurity(unittest.TestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tone/tone.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Tone", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/concept/concept.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Concept", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/design/design.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Design", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mould/mould.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("Mould", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/purity/purity.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Purity", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/momkash/momkash.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Momkash", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/dust_type/dust_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Dust Type", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/flask_size/flask_size.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Flask Size", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_type/item_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Item Type", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/loss_type/loss_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("Loss Type", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_lot/test_melting_lot.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | import unittest 6 | 7 | 8 | class TestMeltingLot(unittest.TestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc/test_qc.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestQC(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sales_type/sales_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Sales Type", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/assortment/assortment.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2025, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("Assortment", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/line/test_line.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestLine(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/machine_size/machine_size.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Machine Size", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_type/melting_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Melting Type", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_details/test_metal_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | import unittest 6 | 7 | 8 | class TestMetalDetails(unittest.TestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/state_list/state_list.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("State List", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tree_number/tree_number.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Tree Number", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/service_type/service_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Service Type", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/alloy_settings/test_alloy_settings.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | import unittest 6 | 7 | 8 | class TestAlloySettings(unittest.TestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_details/metal_details.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Metal Details", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mould/test_mould.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestMould(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/purchase_type/purchase_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Purchase Type", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_parameter/qc_parameter.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("QC Parameter", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/slip/test_slip.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSlip(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/alloy_settings/alloy_settings.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Alloy Settings", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/attribute_value/test_attribute_value.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | import unittest 6 | 7 | 8 | class TestAttributeValue(unittest.TestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/combine_job_card/test_combine_job_card.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | import unittest 6 | 7 | 8 | class TestCombineJobCard(unittest.TestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/concept/test_concept.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestConcept(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/custom_refining/custom_refining.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Custom Refining", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/cutting_process/cutting_process.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Cutting Process", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/design/test_design.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestDesign(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/e_invoice_item/e_invoice_item.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("E Invoice Item", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/momkash/test_momkash.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestMomkash(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/transfer_type/transfer_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("Transfer Type", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/dust_type/test_dust_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestDustType(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/default_charges/default_charges.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("Default Charges", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_type/test_item_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestItemType(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/jewellery_settings/test_jewellery_settings.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | import unittest 6 | 7 | 8 | class TestJewellerySettings(unittest.TestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/laser_powder_type/laser_powder_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Laser Powder Type", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/line/line.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class Line(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/loss_type/test_loss_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestLossType(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/main_slip/test_main_slip.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestMainSlip(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/product_category/product_category.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Product Category", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refining/test_refining.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestRefining(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sm_source_table/sm_source_table.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("SM Source Table", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tone/tone.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class Tone(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/diamond_price_list/diamond_price_list.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Diamond Price List", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/flask_size/test_flask_size.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestFlaskSize(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/parcel_place_list/parcel_place_list.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Parcel Place List", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/assortment/test_assortment.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestAssortment(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/design/design.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class Design(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/parent_melting_lot/parent_melting_lot.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Parent Melting Lot", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/purity/purity.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class Purity(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sales_type/test_sales_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSalesType(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/state_list/test_state_list.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestStateList(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/swap_metal/test_swap_metal.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSwapMetal(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/gemstone_price_list/gemstone_price_list.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Gemstone Price List", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/service_type/test_service_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestServiceType(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/sketch_order/test_sketch_order.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSketchOrder(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/alloy_setting_details/test_alloy_setting_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | import unittest 6 | 7 | 8 | class TestAlloySettingDetails(unittest.TestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/concept/concept.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class Concept(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/design_order/test_design_order.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestDesignOrder(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_ir/test_employee_ir.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestEmployeeIR(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_metal_loss/employee_metal_loss.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Employee Metal Loss", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_relations/employee_relations.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("Employee Relations", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/machine_size/test_machine_size.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestMachineSize(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_type/test_melting_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestMeltingType(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/momkash/momkash.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class Momkash(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_metal_loss/operation_metal_loss.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Operation Metal Loss", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_parameter/test_qc_parameter.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestQCParameter(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_rejection_reason/qc_rejection_reason.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("QC Rejection Reason", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tree_number/test_tree_number.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestTreeNumber(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/dust_type/dust_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DustType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/si_items/si_items.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SIItems(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/alloy_setting_details/alloy_setting_details.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Alloy Setting Details", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_ir/test_department_ir.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestDepartmentIR(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/e_invoice_item/test_e_invoice_item.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestEInvoiceItem(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_type/item_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ItemType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/loss_type/loss_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class LossType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mwo_table/mwo_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MWOTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_card/test_operation_card.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestOperationCard(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/purchase_type/test_purchase_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestPurchaseType(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tolerance_weight_type/tolerance_weight_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Tolerance Weight Type", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/transfer_type/test_transfer_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestTransferType(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/flask_size/flask_size.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class FlaskSize(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/order_type/order_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class OrderType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/assortment/assortment.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class Assortment(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/custom_refining/test_custom_refining.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestCustomRefining(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_payment_terms/customer_payment_terms.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Customer Payment Terms", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/cutting_process/test_cutting_process.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestCuttingProcess(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/default_charges/test_default_charges.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestDefaultCharges(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/huid_detail/huid_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class HUIDDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_card_transfer/operation_card_transfer.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Operation Card Transfer", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/product_category/test_product_category.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestProductCategory(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_details/qc_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class QCDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_readings/qc_readings.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class QCReadings(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sales_type/sales_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SalesType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sm_source_table/test_sm_source_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSMSourceTable(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/state_list/state_list.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class StateList(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/subcontracting/test_subcontracting.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSubcontracting(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/workstation_metal_loss/workstation_metal_loss.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Workstation Metal Loss", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/parcel_place_list/test_parcel_place_list.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestParcelPlaceList(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/parcel_place_multiselect/parcel_place_multiselect.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Parcel Place MultiSelect", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/service_type/service_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ServiceType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/sketch_order_form/test_sketch_order_form.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSketchOrderForm(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_approval/test_customer_approval.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestCustomerApproval(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/exploded_product_details/exploded_product_details.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Exploded Product Details", { 5 | // refresh: function(frm) { 6 | // } 7 | }); 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/job_card_internal_transfer/test_job_card_internal_transfer.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | import unittest 6 | 7 | 8 | class TestJobCardInternalTransfer(unittest.TestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/laser_powder_type/test_laser_powder_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestLaserPowderType(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/loss_details/loss_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class LossDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/machine_size/machine_size.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MachineSize(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_type/melting_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MeltingType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_conversions/test_metal_conversions.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestMetalConversions(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_details/metal_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MetalDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/parent_melting_lot/test_parent_melting_lot.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestParentMeltingLot(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_parameter/qc_parameter.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class QCParameter(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refined_gold/refined_gold.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class RefinedGold(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/supplier_services_price/supplier_services_price.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("Supplier Services Price", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/diamond_price_list/test_diamond_price_list.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestDiamondPriceList(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/gemstone_price_list/test_gemstone_price_list.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestGemstonePriceList(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/making_charge_price/test_making_charge_price.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestMakingChargePrice(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/service_type_2/service_type_2.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ServiceType2(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/alloy_settings/alloy_settings.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class AlloySettings(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/diamond_conversion/test_diamond_conversion.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestDiamondConversion(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/e_invoice_item/e_invoice_item.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class EInvoiceItem(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_metal_loss/test_employee_metal_loss.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestEmployeeMetalLoss(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_relations/test_employee_relations.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestEmployeeRelations(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/gemstone_conversion/test_gemstone_conversion.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestGemstoneConversion(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_box_table/item_box_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ItemBoxTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_plan/test_manufacturing_plan.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestManufacturingPlan(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_criteria/metal_criteria.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MetalCriteria(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/purchase_type/purchase_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class PurchaseType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_rejection_reason/test_qc_rejection_reason.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestQCRejectionReason(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/snc_fg_details/snc_fg_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SNCFGDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/transfer_type/transfer_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class TransferType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/config/desktop.py: -------------------------------------------------------------------------------- 1 | from frappe import _ 2 | 3 | 4 | def get_data(): 5 | return [ 6 | { 7 | "module_name": "Jewellery Erpnext", 8 | "color": "grey", 9 | "icon": "octicon octicon-file-directory", 10 | "type": "module", 11 | "label": _("Jewellery Erpnext"), 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/attribute_value/attribute_value.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class AttributeValue(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/bom_metal_detail/bom_metal_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class BOMMetalDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/custom_refining/custom_refining.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CustomRefining(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/cutting_process/cutting_process.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CuttingProcess(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/default_charges/default_charges.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DefaultCharges(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_operation/test_department_operation.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestDepartmentOperation(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mc_source_table/mc_source_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MCSourceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mould_reference/mould_reference.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MouldReference(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_metal_loss/test_operation_metal_loss.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestOperationMetalLoss(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/product_category/product_category.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ProductCategory(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/product_details/product_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ProductDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/recoverd_diamond/recoverd_diamond.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class RecoverdDiamond(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refining_details/refining_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class RefiningDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sc_source_table/sc_source_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SCSourceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sc_target_table/sc_target_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SCTargetTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/serial_no_table/serial_no_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SerialNoTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/serial_number_creator/test_serial_number_creator.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSerialNumberCreator(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sm_source_table/sm_source_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SMSourceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sm_target_table/sm_target_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SMTargetTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/snc_sfg_details/snc_sfg_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SNCSFGDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/snc_source_table/snc_source_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SNCSourceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tolerance_weight_type/test_tolerance_weight_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestToleranceWeightType(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/parcel_place_list/parcel_place_list.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ParcelPlaceList(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/batch_multiselect/batch_multiselect.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class BatchMultiSelect(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/bom_diamond_detail/bom_diamond_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class BOMDiamondDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/bom_finding_detail/bom_finding_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class BOMFindingDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/cam_weight_detail/cam_weight_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CamWeightDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_certification_price/customer_certification_price.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2025, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("Customer Certification Price", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_item_code/customer_item_code.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CustomerItemCode(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_payment_terms/test_customer_payment_terms.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestCustomerPaymentTerms(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/design_attributes/design_attributes.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DesignAttributes(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employees_hobbies/employees_hobbies.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class EmployeesHobbies(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_chain_length/item_chain_length.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ItemChainLength(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/laser_powder_type/laser_powder_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class LaserPowderType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_setting/test_manufacturing_setting.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestManufacturingSetting(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_loss_purity/metal_loss_purity.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MetalLossPurity(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mop_balance_table/mop_balance_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MOPBalanceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/pmo_gemstone_table/pmo_gemstone_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class PMOGemstoneTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/pmo_operation_cost/pmo_operation_cost.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class PMOOperationCost(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/product_certification/test_product_certification.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestProductCertification(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/recoverd_gemstone/recoverd_gemstone.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class RecoverdGemstone(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/recovered_diamond/recovered_diamond.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class RecoveredDiamond(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/variant_item_group/variant_item_group.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class VariantItemGroup(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/variant_loss_table/variant_loss_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class VariantLossTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/work_order_details/work_order_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class WorkOrderDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/workstation_metal_loss/test_workstation_metal_loss.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestWorkstationMetalLoss(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/designer_assignment/designer_assignment.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DesignerAssignment(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/gemstone_price_list/gemstone_price_list.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class GemstonePriceList(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/parcel_place_multiselect/test_parcel_place_multiselect.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestParcelPlaceMultiSelect(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/alloy_batch_details/alloy_batch_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class AlloyBatchDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/bom_gemstone_detail/bom_gemstone_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class BOMGemstoneDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_languages/employee_languages.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class EmployeeLanguages(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_relations/employee_relations.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class EmployeeRelations(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/exploded_product_details/test_exploded_product_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestExplodedProductDetails(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/gemstone_multiplier/gemstone_multiplier.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class GemstoneMultiplier(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/main_slip_operation/main_slip_operation.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MainSlipOperation(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/main_slip_se_details/main_slip_se_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MainSlipSEDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_operation/test_manufacturing_operation.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestManufacturingOperation(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_work_order/test_manufacturing_work_order.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestManufacturingWorkOrder(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_card_transfer/test_operation_card_transfer.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestOperationCardTransfer(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_warehouse/operation_warehouse.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class OperationWarehouse(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/qc_rejection_reason/qc_rejection_reason.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class QCRejectionReason(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/recovered_gemstone/recovered_gemstone.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class RecoveredGemstone(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/stock_entry_mop_item/stock_entry_mop_item.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class StockEntryMOPItem(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/supplier_services_price/test_supplier_services_price.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSupplierServicesPrice(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/cad_order_form_detail/cad_order_form_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CADOrderFormDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/final_sketch_approval/final_sketch_approval.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class FinalSketchApproval(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/rough_sketch_approval/rough_sketch_approval.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class RoughSketchApproval(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/alloy_setting_details/alloy_setting_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class AlloySettingDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/category_multiselect/category_multiselect.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CategoryMultiSelect(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/child_stock_reconcilation/test_child_stock_reconcilation.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestChildStockReconcilation(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_operation/department_operation.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DepartmentOperation(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_ir_operation/employee_ir_operation.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class EmployeeIROperation(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_loss_details/employee_loss_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class EmployeeLossDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_source_table/employee_source_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class EmployeeSourceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_target_table/employee_target_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class EmployeeTargetTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/jewellery_system_item/jewellery_system_item.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class JewellerySystemItem(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_setting/manufacturing_setting.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ManufacturingSetting(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_tolerance_table/metal_tolerance_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MetalToleranceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mwo_mop_balance_table/mwo_mop_balance_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MWOMOPBalanceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_multiselect/operation_multiselect.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class OperationMultiSelect(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/parent_manufacturing_order/test_parent_manufacturing_order.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestParentManufacturingOrder(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tolerance_weight_type/tolerance_weight_type.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ToleranceWeightType(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/customer_diamond_grade/customer_diamond_grade.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CustomerDiamondGrade(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doc_events/purchase_receipt.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | from erpnext.stock.doctype.purchase_receipt.purchase_receipt import PurchaseReceipt as ERPNextPurchaseReceipt 3 | from frappe.utils import cint 4 | 5 | class CustomPurchaseReceipt(ERPNextPurchaseReceipt): 6 | def validate(self): 7 | pass 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/certification_settings/certification_settings.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CertificationSettings(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/combine_job_card_detail/combine_job_card_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CombineJobCardDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_metal_line_no/customer_metal_line_no.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CustomerMetalLineNo(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_payment_terms/customer_payment_terms.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CustomerPaymentTerms(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_ir_operation/department_ir_operation.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DepartmentIROperation(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_source_table/department_source_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DepartmentSourceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_target_table/department_target_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DepartmentTargetTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/diamond_tolerance_table/diamond_tolerance_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DiamondToleranceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_template_attribute/item_template_attribute.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ItemTemplateAttribute(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/metal_product_tolerance/metal_product_tolerance.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MetalProductTolerance(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/operation_loss_details/operation_loss_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class OperationLossDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sale_person_child_table/sale_person_child_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SalePersonChildTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sales_order_item_child/sales_order_item_child.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SalesOrderItemChild(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sales_type_multiselect/sales_type_multiselect.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SalesTypeMultiselect(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/sm_remain_balance_table/sm_remain_balance_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SMRemainBalanceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/supplier_services_price/supplier_services_price.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SupplierServicesPrice(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/territory_multi_select/territory_multi_select.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class TerritoryMultiSelect(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/variant_based_warehouse/variant_based_warehouse.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class VariantbasedWarehouse(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/variant_loss_warehouse/variant_loss_warehouse.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class VariantLossWarehouse(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/designer_assignment___cad/designer_assignment___cad.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DesignerAssignmentCAD(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/final_sketch_approval_cmo/final_sketch_approval_cmo.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class FinalSketchApprovalCMO(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/final_sketch_approval_hod/final_sketch_approval_hod.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class FinalSketchApprovalHOD(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/parcel_place_multiselect/parcel_place_multiselect.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ParcelPlaceMultiSelect(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/sketch_order_form_detail/sketch_order_form_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SketchOrderFormDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_certification_price/test_customer_certification_price.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestCustomerCertificationPrice(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_relative_deails/employee_relative_deails.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class EmployeeRelativeDeails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/exploded_product_details/exploded_product_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ExplodedProductDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/gemstone_tolerance_table/gemstone_tolerance_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class GemstoneToleranceTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/ignore_department_for_mop/ignore_department_for_mop.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class IgnoreDepartmentForMOP(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_plan_table/manufacturing_plan_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ManufacturingPlanTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_lot_alloy_details/melting_lot_alloy_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MeltingLotAlloyDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refining_serial_no_detail/refining_serial_no_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class RefiningSerialNoDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/stock_reconciliation_template/test_stock_reconciliation_template.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestStockReconciliationTemplate(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/cam_weight_details_mapping/cam_weight_details_mapping.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CAMWeightDetailsMapping(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/serial_no_and_design_code_order/test_serial_no_and_design_code_order.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSerialNoandDesignCodeOrder(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/sketch_order_form_category/sketch_order_form_category.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SketchOrderFormCategory(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/diamond_product_tolerance/diamond_product_tolerance.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DiamondProductTolerance(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_family_background/employee_family_background.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class EmployeeFamilyBackground(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/gemstone_product_tolerance/gemstone_product_tolerance.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class GemstoneProductTolerance(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_category_multiselect/item_category_multiselect.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ItemCategoryMultiselect(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manually_book_loss_details/manually_book_loss_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ManuallyBookLossDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/parent_manufacturing_order/parent_manufacturing_order_list.js: -------------------------------------------------------------------------------- 1 | frappe.listview_settings['Parent Manufacturing Order'] = { 2 | onload: function(listview) { 3 | listview.page.add_inner_button('PMO PMO', () => { 4 | window.open('/pmo_home', '_blank'); 5 | }); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/purchase_type_multiselect/purchase_type_multiselect.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class PurchaseTypeMultiselect(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refining_department_detail/refining_department_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class RefiningDepartmentDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/refining_operation_details/refining_operation_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class RefiningOperationDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/slip_operation_card_detial/slip_operation_card_detial.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SlipOperationCardDetial(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/report/bom_details_against_quotation/bom_details_against_quotation.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["BOM details against Quotation"] = { 2 | filters: [ 3 | { 4 | fieldname: "qname", 5 | label: __("name"), 6 | fieldtype: "Link", 7 | options: "Quotation", 8 | reqd: 1, 9 | }, 10 | ], 11 | }; 12 | -------------------------------------------------------------------------------- /jewellery_erpnext/public/js/doctype_js/supplier.js: -------------------------------------------------------------------------------- 1 | frappe.ui.form.on("Supplier", { 2 | setup(frm) { 3 | frm.set_query("operation", "operations", function (doc, cdt, cdn) { 4 | return { 5 | filters: { 6 | is_subcontracted: 1, 7 | supplier_group: frm.doc.supplier_group, 8 | }, 9 | }; 10 | }); 11 | }, 12 | }); 13 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/final_sketch_approval___hold/final_sketch_approval___hold.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class FinalSketchApprovalHold(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_certification_price/customer_certification_price.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CustomerCertificationPrice(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_product_tolerance_master/test_customer_product_tolerance_master.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestCustomerProductToleranceMaster(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/child_stock_reconcilation_item/child_stock_reconcilation_item.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ChildStockReconcilationItem(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_payment_terms_details/customer_payment_terms_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CustomerPaymentTermsDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_plan_sales_order/manufacturing_plan_sales_order.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ManufacturingPlanSalesOrder(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/product_certification_details/product_certification_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ProductCertificationDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/supplier_services_price_item_subcategory/supplier_services_price_item_subcategory.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("Supplier Services Price Item Subcategory", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/serial_no_and_design_code_order_form/test_serial_no_and_design_code_order_form.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSerialNoandDesignCodeOrderForm(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/custom_fields/payment_schedule.json: -------------------------------------------------------------------------------- 1 | { 2 | "Payment Schedule": [ 3 | { 4 | "dt": "Payment Schedule", 5 | "fieldname": "custom_invoice_portion", 6 | "fieldtype": "Percent", 7 | "insert_after": "invoice_portion", 8 | "label": "Invoice Portion", 9 | "module": "Jewellery Erpnext" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/job_card_internal_transfer_item/job_card_internal_transfer_item.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class JobCardInternalTransferItem(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_lot_design_order_detail/melting_lot_design_order_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MeltingLotDesignOrderDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/custom_refining_department_detail/custom_refining_department_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CustomRefiningDepartmentDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/custom_refining_operation_detail/custom_refining_operation_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CustomRefiningOperationDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/customer_product_tolerance_master/customer_product_tolerance_master.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CustomerProductToleranceMaster(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_operation_department_time_log/manufacturing_operation_department_time_log.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on("Manufacturing Operation Department Time Log", { 5 | // refresh(frm) { 6 | 7 | // }, 8 | // }); 9 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_operation_time_log/manufacturing_operation_time_log.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ManufacturingOperationTimeLog(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/attribute_value_finding_type_weight/attribute_value_finding_type_weight.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class AttributeValueFindingTypeWeight(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/final_sketch_approval_cmo___rejected/final_sketch_approval_cmo___rejected.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2025, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class FinalSketchApprovalCMORejected(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/attribute_value_diamond_sieve_size/attribute_value_diamond_sieve_size.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class AttributeValueDiamondSieveSize(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/previous_child_stock_reconciliation/previous_child_stock_reconciliation.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class PreviousChildStockReconciliation(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/stock_reconciliation_template_item/stock_reconciliation_template_item.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class StockReconciliationTemplateItem(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/supplier_services_price_item_subcategory/test_supplier_services_price_item_subcategory.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestSupplierServicesPriceItemSubcategory(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/attribute_value_item_attribute_detail/attribute_value_item_attribute_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class AttributeValueItemAttributeDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/melting_lot_design_order_bunch_detail/melting_lot_design_order_bunch_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MeltingLotDesignOrderBunchDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/public/js/doctype_js/quality_inspection_template.js: -------------------------------------------------------------------------------- 1 | frappe.ui.form.on("Quality Inspection Template", { 2 | setup(frm) { 3 | frm.set_query("category", "categories", function () { 4 | return { 5 | query: "jewellery_erpnext.query.item_attribute_query", 6 | filters: { item_attribute: "Item Category" }, 7 | }; 8 | }); 9 | }, 10 | }); 11 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/cad_to_finish_weight_estimated_details/cad_to_finish_weight_estimated_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class CadToFinishWeightEstimatedDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_operation_department_time_log/test_manufacturing_operation_department_time_log.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestManufacturingOperationDepartmentTimeLog(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/attribute_value_finding_type_subcategory/attribute_value_finding_type_subcategory.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class AttributeValueFindingTypeSubcategory(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/making_charge_price_finding_subcategory/making_charge_price_finding_subcategory.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MakingChargePriceFindingSubcategory(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/supplier_services_price_item_subcategory/supplier_services_price_item_subcategory.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SupplierServicesPriceItemSubcategory(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/serial_no_and_design_code_order_form_detail/serial_no_and_design_code_order_form_detail.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class SerialNoandDesignCodeOrderFormDetail(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_work_order_refining_details/manufacturing_work_order_refining_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ManufacturingWorkOrderRefiningDetails(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/manufacturing_operation_department_time_log/manufacturing_operation_department_time_log.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class ManufacturingOperationDepartmentTimeLog(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/design_order/design_order.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | from frappe.model.naming import make_autoname 7 | 8 | 9 | class DesignOrder(Document): 10 | def autoname(self): 11 | self.name = make_autoname("DO.###") 12 | -------------------------------------------------------------------------------- /scripts/check_max_lines.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | MAX_LINES = 2000 4 | 5 | 6 | def main(argv): 7 | files = argv[1:] 8 | for file_path in files: 9 | with open(file_path) as file: 10 | lines = file.readlines() 11 | if len(lines) > MAX_LINES: 12 | print(f"Error: File {file_path} has more than {MAX_LINES} lines.") 13 | sys.exit(1) 14 | 15 | 16 | if __name__ == "__main__": 17 | main(sys.argv) 18 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/customization/sales_invoice/sales_invoice.py: -------------------------------------------------------------------------------- 1 | from jewellery_erpnext.jewellery_erpnext.customization.sales_invoice.doc_events.utils import ( 2 | create_branch_po, 3 | validate_item_category_for_customer, 4 | ) 5 | 6 | 7 | def before_validate(self, method): 8 | validate_item_category_for_customer(self) 9 | 10 | 11 | def on_submit(self, method): 12 | create_branch_po(self) 13 | -------------------------------------------------------------------------------- /jewellery_erpnext/config/docs.py: -------------------------------------------------------------------------------- 1 | """ 2 | Configuration for docs 3 | """ 4 | 5 | # source_link = "https://github.com/[org_name]/jewellery_erpnext" 6 | # docs_base_url = "https://[org_name].github.io/jewellery_erpnext" 7 | # headline = "App that does everything" 8 | # sub_heading = "Yes, you got that right the first time, everything" 9 | 10 | 11 | def get_context(context): 12 | context.brand_html = "Jewellery Erpnext" 13 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/making_charge_price/making_charge_price.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MakingChargePrice(Document): 9 | pass 10 | 11 | 12 | def on_doctype_update(): 13 | frappe.db.add_index("Making Charge Price", ["customer"]) 14 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/customization/stock_ledger_entry/stock_ledger_entry.py: -------------------------------------------------------------------------------- 1 | from erpnext.stock.doctype.stock_ledger_entry.stock_ledger_entry import StockLedgerEntry 2 | 3 | from jewellery_erpnext.jewellery_erpnext.customization.stock_ledger_entry.doc_events.utils import ( 4 | custom_on_submit, 5 | ) 6 | 7 | 8 | class CustomStockLedgerEntry(StockLedgerEntry): 9 | def on_submit(self): 10 | custom_on_submit(self) 11 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/department_operation/department_operation.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Department Operation", { 5 | setup: function (frm) { 6 | frm.set_query("service_item", function () { 7 | return { 8 | filters: { 9 | is_stock_item: 0, 10 | }, 11 | }; 12 | }); 13 | }, 14 | }); 15 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/report/work_order_status/work_order_status.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, Nirali and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["Work Order Status"] = { 6 | filters: [ 7 | { 8 | fieldname: "work_order", 9 | label: __("Work Order"), 10 | fieldtype: "Link", 11 | options: "Work Order", 12 | reqd: 1, 13 | }, 14 | ], 15 | }; 16 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/parent_melting_lot/parent_melting_lot.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, satya and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | from frappe.model.naming import make_autoname 7 | 8 | 9 | class ParentMeltingLot(Document): 10 | def autoname(self): 11 | self.name = make_autoname(f"P-{self.product_purity}.{self.product_abbr}.###.") 12 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/tree_number/tree_number.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | from frappe.utils import cint 7 | 8 | 9 | class TreeNumber(Document): 10 | def after_insert(self): 11 | counter = cint(frappe.db.get_value("Tree Number", {}, "max(counter)")) 12 | self.db_set("counter", counter + 1) 13 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doc_events/item_attribute.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | 3 | 4 | def validate(self, method): 5 | create_attribute_value(self) 6 | 7 | 8 | def create_attribute_value(self): 9 | for row in self.item_attribute_values: 10 | row.value = row.attribute_value 11 | if not frappe.db.exists("Attribute Value", row.attribute_value): 12 | doc = frappe.new_doc("Attribute Value") 13 | doc.attribute_value = row.attribute_value 14 | doc.save() 15 | -------------------------------------------------------------------------------- /jewellery_erpnext/jobs/stock_reconciliation_template.py: -------------------------------------------------------------------------------- 1 | from jewellery_erpnext.jewellery_erpnext.doctype.stock_reconciliation_template.stock_reconciliation_template_utils import create_stock_reconciliation_from_template 2 | 3 | def create_stock_reconciliation(): 4 | """ 5 | Trigger the stock reconciliation process based on the defined templates. 6 | This function will be called every minute by the scheduler. 7 | """ 8 | create_stock_reconciliation_from_template() -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/customization/purchase_receipt/purchase_receipt.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | 3 | from jewellery_erpnext.jewellery_erpnext.customization.purchase_receipt.doc_events.utils import ( 4 | update_bundle_details, 5 | update_customer, 6 | update_inventory_type, 7 | ) 8 | 9 | 10 | def before_validate(self, method): 11 | update_customer(self) 12 | update_inventory_type(self) 13 | 14 | 15 | def on_submit(self, method): 16 | update_bundle_details(self) 17 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/making_charge_price_item_subcategory/making_charge_price_item_subcategory.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class MakingChargePriceItemSubcategory(Document): 9 | pass 10 | 11 | 12 | def on_doctype_update(): 13 | frappe.db.add_index("Making Charge Price Finding Subcategory", ["subcategory"]) 14 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/jewellery_settings/jewellery_settings.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Jewellery Settings", { 5 | setup(frm) { 6 | frm.set_query("metal_type", "system_item", function (doc) { 7 | return { 8 | query: "jewellery_erpnext.query.item_attribute_query", 9 | filters: { item_attribute: "Metal Type" }, 10 | }; 11 | }); 12 | }, 13 | }); 14 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/customization/quotation/quotation.py: -------------------------------------------------------------------------------- 1 | from jewellery_erpnext.jewellery_erpnext.customization.quotation.doc_events.utils import ( 2 | validate_po, 3 | update_si, 4 | ) 5 | from jewellery_erpnext.jewellery_erpnext.customization.sales_invoice.doc_events.utils import ( 6 | validate_item_category_for_customer, 7 | ) 8 | 9 | 10 | def before_validate(self, method): 11 | validate_po(self) 12 | validate_item_category_for_customer(self) 13 | # update_si(self) 14 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Root editor config file 2 | root = true 3 | 4 | # Common settings 5 | [*] 6 | end_of_line = lf 7 | insert_final_newline = true 8 | trim_trailing_whitespace = true 9 | charset = utf-8 10 | 11 | # python, js indentation settings 12 | [{*.py,*.js,*.vue,*.css,*.scss,*.html}] 13 | indent_style = tab 14 | indent_size = 4 15 | max_line_length = 99 16 | 17 | # JSON files - mostly doctype schema files 18 | [{*.json}] 19 | insert_final_newline = false 20 | indent_style = space 21 | indent_size = 2 -------------------------------------------------------------------------------- /jewellery_erpnext/patches.txt: -------------------------------------------------------------------------------- 1 | [pre_model_sync] 2 | 3 | [post_model_sync] 4 | # jewellery_erpnext.patches.sed_copy_to_mop 5 | jewellery_erpnext.patches.create_custom_field # create se detail 6 | jewellery_erpnext.patches.add_ir_workflows # patch for workflow 7 | jewellery_erpnext.patches.update_employee_ir_status # employee ir 8 | jewellery_erpnext.patches.update_department_ir_status 9 | jewellery_erpnext.patches.create_branch_account_field 10 | jewellery_erpnext.patches.create_custom_field_in_jv # 08/08/2025 -------------------------------------------------------------------------------- /jewellery_erpnext/patches/create_branch_account_field.py: -------------------------------------------------------------------------------- 1 | import os, json 2 | 3 | def execute(): 4 | CUSTOM_FIELDS = {} 5 | path = os.path.join(os.path.dirname(__file__), "../jewellery_erpnext/custom_fields") 6 | for file in os.listdir(path): 7 | if file in ["branch.json"]: 8 | with open(os.path.join(path, file), "r") as f: 9 | CUSTOM_FIELDS.update(json.load(f)) 10 | 11 | from frappe.custom.doctype.custom_field.custom_field import create_custom_fields 12 | 13 | create_custom_fields(CUSTOM_FIELDS) -------------------------------------------------------------------------------- /jewellery_erpnext/patches/create_custom_field_in_jv.py: -------------------------------------------------------------------------------- 1 | import os, json 2 | 3 | def execute(): 4 | CUSTOM_FIELDS = {} 5 | path = os.path.join(os.path.dirname(__file__), "../jewellery_erpnext/custom_fields") 6 | for file in os.listdir(path): 7 | if file in ["journal_entry.json"]: 8 | with open(os.path.join(path, file), "r") as f: 9 | CUSTOM_FIELDS.update(json.load(f)) 10 | 11 | from frappe.custom.doctype.custom_field.custom_field import create_custom_fields 12 | 13 | create_custom_fields(CUSTOM_FIELDS) -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/stock_reconciliation_template/stock_reconciliation_template.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | 7 | from jewellery_erpnext.jewellery_erpnext.doctype.stock_reconciliation_template.stock_reconciliation_template_utils import * 8 | 9 | 10 | class StockReconciliationTemplate(Document): 11 | def before_save(self): 12 | stock_reconciliation() 13 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/diamond_price_list/diamond_price_list.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | 7 | 8 | class DiamondPriceList(Document): 9 | pass 10 | 11 | 12 | def on_doctype_update(): 13 | frappe.db.add_index( 14 | "Diamond Price List", 15 | ["price_list", "diamond_type", "stone_shape", "diamond_quality", "price_list_type"], 16 | index_name="bom_rate", 17 | ) 18 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/mould/mould.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | 7 | from jewellery_erpnext.jewellery_erpnext.doctype.mould.doc_events.utils import ( 8 | crate_autoname, 9 | update_details, 10 | ) 11 | 12 | 13 | class Mould(Document): 14 | def autoname(self, method=None): 15 | crate_autoname(self) 16 | 17 | def validate(self, method=None): 18 | update_details(self) 19 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/report/cad_order_timelogs/cad_order_timelogs.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, Nirali and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["CAD Order TimeLogs"] = { 6 | filters: [ 7 | { 8 | label: __("CAD Order"), 9 | fieldname: "cad_order", 10 | fieldtype: "Link", 11 | options: "CAD Order", 12 | }, 13 | { 14 | label: __("Workflow State"), 15 | fieldname: "workflow_state", 16 | fieldtype: "Data", 17 | }, 18 | ], 19 | }; 20 | -------------------------------------------------------------------------------- /jewellery_erpnext/patches/create_custom_field.py: -------------------------------------------------------------------------------- 1 | import os, json 2 | 3 | def execute(): 4 | CUSTOM_FIELDS = {} 5 | path = os.path.join(os.path.dirname(__file__), "../jewellery_erpnext/custom_fields") 6 | for file in os.listdir(path): 7 | if file in ["stock_entry_mop_item.json", "stock_entry.json", "stock_entry_detail.json"]: 8 | with open(os.path.join(path, file), "r") as f: 9 | CUSTOM_FIELDS.update(json.load(f)) 10 | 11 | from frappe.custom.doctype.custom_field.custom_field import create_custom_fields 12 | 13 | create_custom_fields(CUSTOM_FIELDS) -------------------------------------------------------------------------------- /jewellery_erpnext/public/js/doctype_js/operation.js: -------------------------------------------------------------------------------- 1 | // frm.set_query("warehouse", "warehouses", function (frm, cdt, cdn) { 2 | // let d = locals[cdt][cdn]; 3 | // return { 4 | // filters: { 5 | // company: d.company, 6 | // }, 7 | // }; 8 | // }); 9 | frappe.ui.form.on("Operation", { 10 | setup: function (frm, cdt, cdn) { 11 | frm.set_query("warehouse", "warehouses", function (frm, cdt, cdn) { 12 | let d = locals[cdt][cdn]; 13 | return { 14 | filters: { 15 | company: d.company, 16 | }, 17 | }; 18 | }); 19 | }, 20 | }); 21 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import find_packages, setup 2 | 3 | with open("requirements.txt") as f: 4 | install_requires = f.read().strip().split("\n") 5 | 6 | # get version from __version__ variable in jewellery_erpnext/__init__.py 7 | from jewellery_erpnext import __version__ as version 8 | 9 | setup( 10 | name="jewellery_erpnext", 11 | version=version, 12 | description="jewellery custom app", 13 | author="Nirali", 14 | author_email="nirali@ascratech.com", 15 | packages=find_packages(), 16 | zip_safe=False, 17 | include_package_data=True, 18 | install_requires=install_requires, 19 | ) 20 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/job_card_internal_transfer/job_card_internal_transfer.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, Nirali and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on("Job Card Internal Transfer", { 5 | refresh: function (frm) { 6 | if (!frm.doc.__islocal && !frm.doc.received) { 7 | frm.add_custom_button(__("Received"), function () { 8 | frappe.db 9 | .set_value("Job Card Internal Transfer", frm.doc.name, "received", 1) 10 | .then((res) => { 11 | frm.reload_doc(); 12 | }); 13 | }); 14 | } 15 | }, 16 | }); 17 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/customization/sales_order/sales_order.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | 3 | from jewellery_erpnext.jewellery_erpnext.customization.sales_order.doc_events.branch_utils import ( 4 | create_branch_so, 5 | ) 6 | from jewellery_erpnext.jewellery_erpnext.customization.sales_order.doc_events.utils import ( 7 | update_delivery_date, 8 | validate_duplicate_so, 9 | ) 10 | 11 | 12 | def on_update_after_submit(self, method): 13 | update_delivery_date(self) 14 | 15 | 16 | def before_validate(self, method): 17 | validate_duplicate_so(self) 18 | 19 | 20 | def on_submit(self, method): 21 | create_branch_so(self) 22 | -------------------------------------------------------------------------------- /jewellery_erpnext/patches/update_department_ir_status.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | 3 | def execute(): 4 | department_ir_list = frappe.db.get_all( 5 | "Department IR", { 6 | "docstatus": 1 7 | }, ["name", "workflow_state", "type"]) 8 | 9 | for ir in department_ir_list: 10 | if ir.type == "Issue" and ir.workflow_state != "IR Issued": 11 | frappe.db.set_value("Department IR", ir.name, "workflow_state", "IR Issued", update_modified=False) 12 | elif ir.type == "Receive" and ir.workflow_state != "IR Received": 13 | frappe.db.set_value("Department IR", ir.name, "workflow_state", "IR Received", update_modified=False) 14 | 15 | frappe.db.commit() -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_ir/doc_events/mould_utils.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | 3 | 4 | def create_mould(self, row): 5 | if row.no_of_moulds > 0: 6 | mould_doc = frappe.new_doc("Mould") 7 | mould_doc.company = self.company 8 | mould_doc.item_code = frappe.db.get_value( 9 | "Manufacturing Work Order", row.manufacturing_work_order, "item_code" 10 | ) 11 | mould_doc.no_of_moulds = row.no_of_moulds 12 | mould_doc.mould_wtin_gram = row.mould_wtin_gram 13 | # mould_doc.rake = row.rake 14 | # mould_doc.tray_no = row.tray_no 15 | # mould_doc.box_no = row.box_no 16 | mould_doc.flags.ignore_permission = True 17 | mould_doc.save() 18 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include MANIFEST.in 2 | include requirements.txt 3 | include *.json 4 | include *.md 5 | include *.py 6 | include *.txt 7 | recursive-include jewellery_erpnext *.css 8 | recursive-include jewellery_erpnext *.csv 9 | recursive-include jewellery_erpnext *.html 10 | recursive-include jewellery_erpnext *.ico 11 | recursive-include jewellery_erpnext *.js 12 | recursive-include jewellery_erpnext *.json 13 | recursive-include jewellery_erpnext *.md 14 | recursive-include jewellery_erpnext *.png 15 | recursive-include jewellery_erpnext *.py 16 | recursive-include jewellery_erpnext *.svg 17 | recursive-include jewellery_erpnext *.txt 18 | recursive-exclude jewellery_erpnext *.pyc -------------------------------------------------------------------------------- /jewellery_erpnext/patches/update_employee_ir_status.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | 3 | def execute(): 4 | employee_ir_list = frappe.db.get_all( 5 | "Employee IR", { 6 | "docstatus": 1 7 | }, ["name", "workflow_state", "type"]) 8 | 9 | for ir in employee_ir_list: 10 | if ir.type == "Issue" and ir.workflow_state != "IR Issued": 11 | frappe.db.set_value("Employee IR", ir.name, "workflow_state", "IR Issued", update_modified=False) 12 | elif ir.type == "Receive" and ir.workflow_state != "IR Received": 13 | frappe.db.set_value("Employee IR", ir.name, "workflow_state", "IR Received", update_modified=False) 14 | 15 | frappe.db.commit() -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/customization/utils/metal_utils.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | 3 | 4 | def get_purity_percentage(item): 5 | if not item: 6 | return 7 | 8 | IVA = frappe.qb.DocType("Item Variant Attribute") 9 | ITEM = frappe.qb.DocType("Item") 10 | AV = frappe.qb.DocType("Attribute Value") 11 | 12 | purity_percentage = ( 13 | frappe.qb.from_(IVA) 14 | .join(ITEM) 15 | .on(ITEM.name == IVA.parent) 16 | .join(AV) 17 | .on(IVA.attribute_value == AV.name) 18 | .select(AV.purity_percentage) 19 | .where((IVA.attribute == "Metal Purity") & (ITEM.name == item)) 20 | ).run() 21 | 22 | if not purity_percentage: 23 | return 24 | 25 | return purity_percentage[0][0] 26 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/design_order/design_order.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, satya and contributors 2 | // For license information, please see license.txt 3 | 4 | // frappe.ui.form.on('Design Order', { 5 | // refresh: function (frm) { 6 | // if (frm.doc.docstatus === 1) { 7 | // frm.add_custom_button(__('Melting Lot'), function () { 8 | // frappe.model.open_mapped_doc({ 9 | // method: "jewellery_erpnext.jewellery_erpnext.doctype.melting_lot.melting_lot.make_melting_lot", 10 | // frm: frm 11 | // }) 12 | // }, __("Create")); 13 | // } 14 | // } 15 | 16 | // }); 17 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/job_card_internal_transfer/job_card_internal_transfer.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | from frappe.utils import flt 7 | 8 | 9 | class JobCardInternalTransfer(Document): 10 | def validate(self): 11 | for row in self.items: 12 | if row.from_job_card: 13 | out_gold_weight = frappe.db.get_value("Job Card", row.from_job_card, "out_gold_weight") 14 | out_finding_weight = frappe.db.get_value("Job Card", row.from_job_card, "out_finding_weight") 15 | row.net_wt = flt(out_gold_weight) + flt(out_finding_weight) 16 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doc_events/unreconcile_payment.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | 3 | def before_submit(doc, method): 4 | """ 5 | Cancel a Journal Entry if it exists, when unreconciling a Payment Entry. 6 | """ 7 | if doc.voucher_type != "Payment Entry": 8 | return 9 | 10 | existing_jv_list = get_journal_entry_from_pe(doc.voucher_no) 11 | 12 | for je_name in existing_jv_list: 13 | je = frappe.get_doc("Journal Entry", je_name) 14 | je.cancel() 15 | 16 | 17 | def get_journal_entry_from_pe(pe_name): 18 | jv_list = frappe.db.get_all("Journal Entry", { 19 | "ref_payment_entry":pe_name, 20 | "docstatus":1 21 | }, pluck="name") 22 | 23 | return jv_list -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doc_events/purchase_invoice.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import PurchaseInvoice as ERPNextPurchaseInvoice 3 | from frappe.utils import cint 4 | 5 | class CustomPurchaseInvoice(ERPNextPurchaseInvoice): 6 | def validate(self): 7 | pass 8 | 9 | 10 | def before_validate(self): 11 | update_expense_account(self) 12 | 13 | 14 | def update_expense_account(self): 15 | if self.is_opening == "No": 16 | expense_account = frappe.db.get_value( 17 | "Account", {"company": self.company, "custom_purchase_type": self.purchase_type}, "name" 18 | ) 19 | if expense_account: 20 | for row in self.items: 21 | row.expense_account = expense_account 22 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/slip/slip.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | from frappe.utils import flt, get_link_to_form 7 | 8 | 9 | class Slip(Document): 10 | def on_submit(self): 11 | # Create Operation Card 12 | oc_doc = frappe.new_doc("Operation Card") 13 | oc_doc.purity = self.purity 14 | oc_doc.operation = self.current_operation 15 | oc_doc.slip = self.name 16 | oc_doc.save() 17 | frappe.msgprint(f"Operation Card {get_link_to_form('Operation Card', oc_doc.name)} Created !!") 18 | 19 | # TODO: create a material request for Gold and Alloy Gold weight will be computed from Wax Weight 20 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employees_hobbies/employees_hobbies.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "allow_rename": 1, 4 | "creation": "2024-04-26 10:39:05.478178", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "hobbies" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "hobbies", 14 | "fieldtype": "Data", 15 | "label": "Hobbies" 16 | } 17 | ], 18 | "index_web_pages_for_search": 1, 19 | "istable": 1, 20 | "links": [], 21 | "modified": "2024-04-26 10:40:08.404945", 22 | "modified_by": "Administrator", 23 | "module": "Jewellery Erpnext", 24 | "name": "Employees Hobbies", 25 | "owner": "Administrator", 26 | "permissions": [], 27 | "sort_field": "modified", 28 | "sort_order": "DESC", 29 | "states": [] 30 | } -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/property_setter/employee_transfer.json: -------------------------------------------------------------------------------- 1 | { 2 | "Employee Transfer": [ 3 | { 4 | "doctype_or_field": "DocType", 5 | "doctype": "Employee Transfer", 6 | "field_name": "field", 7 | "row_name": null, 8 | "property": "field_order", 9 | "value": ["employee", "employee_name", "transfer_date", "column_break_3", "company", "new_company", "department", "details_section", "transfer_details", "reallocate_leaves", "create_new_employee_id", "new_employee_id", "amended_from", "custom_expenses", "custom_relocation_expense", "custom_column_break_pmhsd", "custom_amount_validity", "custom_column_break_skoku", "custom_validity_status"], 10 | "property_type": "Data" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/customization/stock_ledger_entry/doc_events/utils.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | 3 | from jewellery_erpnext.jewellery_erpnext.customization.serial_and_batch_bundle.doc_events.utils import ( 4 | CustomSerialBatchBundle, 5 | ) 6 | 7 | 8 | def custom_on_submit(self): 9 | self.set_posting_datetime() 10 | self.check_stock_frozen_date() 11 | 12 | # Added to handle few test cases where serial_and_batch_bundles are not required 13 | if frappe.flags.in_test and frappe.flags.ignore_serial_batch_bundle_validation: 14 | return 15 | 16 | if not self.get("via_landed_cost_voucher"): 17 | CustomSerialBatchBundle( 18 | sle=self, 19 | item_code=self.item_code, 20 | warehouse=self.warehouse, 21 | company=self.company, 22 | ) 23 | 24 | self.validate_serial_batch_no_bundle() 25 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_ir/doc_events/html_utils.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | import json 3 | from frappe.utils import flt 4 | 5 | @frappe.whitelist() 6 | def get_summary_data(doc): 7 | if isinstance(doc, str): 8 | doc = json.loads(doc) 9 | data = [ 10 | { 11 | "gross_wt": 0, 12 | "net_wt": 0, 13 | "finding_wt": 0, 14 | "diamond_wt": 0, 15 | "gemstone_wt": 0, 16 | "other_wt": 0, 17 | "diamond_pcs": 0, 18 | "gemstone_pcs": 0, 19 | } 20 | ] 21 | for row in doc.get("employee_ir_operations"): 22 | for i in data[0]: 23 | if row.get(i): 24 | value = row.get(i) 25 | if i in ["diamond_pcs", "gemstone_pcs"] and row.get(i): 26 | value = int(row.get(i)) 27 | data[0][i] += flt(value, 3) 28 | data[0][i] = flt(data[0][i], 3) 29 | 30 | return data 31 | -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/jewellery_settings/jewellery_settings.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, Nirali and contributors 2 | # For license information, please see license.txt 3 | 4 | import frappe 5 | from frappe.model.document import Document 6 | 7 | from jewellery_erpnext.jewellery_erpnext.doc_events.diamond_weight import ( 8 | update_item_uom_conversion_from_diamond, 9 | ) 10 | from jewellery_erpnext.jewellery_erpnext.doc_events.gemstone_weight import ( 11 | update_item_uom_conversion_from_gemstone, 12 | ) 13 | 14 | 15 | class JewellerySettings(Document): 16 | @frappe.whitelist() 17 | def update_uom_conversion_in_variant(self): 18 | update_item_uom_conversion_from_diamond() 19 | update_item_uom_conversion_from_gemstone() 20 | return "Queued for updating Item variants.It may take a few minutes." 21 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["flit_core >=3.2,<4"] 3 | build-backend = "flit_core.buildapi" 4 | 5 | [project] 6 | name = "jewellery_erpnext" 7 | authors = [{name = "Prashant Kamble", email = "prashantkamble@8848digital.com"}] 8 | readme = "README.md" 9 | dynamic = ["version"] 10 | description = "jewellery custom app" 11 | dependencies = [ 12 | # Core dependencies 13 | "html2text", 14 | ] 15 | 16 | [tool.black] 17 | line-length = 99 18 | 19 | [tool.isort] 20 | line_length = 99 21 | multi_line_output = 3 22 | include_trailing_comma = true 23 | force_grid_wrap = 0 24 | use_parentheses = true 25 | ensure_newline_before_comments = true 26 | indent = "\t" 27 | 28 | 29 | # These dependencies are only installed when developer mode is enabled 30 | [tool.bench.dev-dependencies] 31 | # package_name = "~=1.1.0" -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/item_chain_length/item_chain_length.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "allow_rename": 1, 4 | "creation": "2024-06-26 16:45:25.790312", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "chain_length" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "chain_length", 14 | "fieldtype": "Float", 15 | "in_list_view": 1, 16 | "label": "Chain Length" 17 | } 18 | ], 19 | "index_web_pages_for_search": 1, 20 | "istable": 1, 21 | "links": [], 22 | "modified": "2024-06-28 11:04:45.203645", 23 | "modified_by": "Administrator", 24 | "module": "Jewellery Erpnext", 25 | "name": "Item Chain Length", 26 | "owner": "Administrator", 27 | "permissions": [], 28 | "sort_field": "modified", 29 | "sort_order": "DESC", 30 | "states": [] 31 | } -------------------------------------------------------------------------------- /jewellery_erpnext/jewellery_erpnext/doctype/employee_ir/doc_events/filters.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | from frappe.query_builder import Case 3 | from frappe.query_builder.functions import Locate 4 | 5 | 6 | @frappe.whitelist() 7 | @frappe.validate_and_sanitize_search_inputs 8 | def get_batch_details(doctype, txt, searchfield, start, page_len, filters): 9 | searchfield = "batch_no" 10 | MBT = frappe.qb.DocType("MOP Balance Table") 11 | 12 | query = frappe.qb.from_(MBT).select(MBT.batch_no) 13 | 14 | query = query.where( 15 | (MBT.item_code == filters.get("item_code")) 16 | & (MBT.parent == filters.get("manufacturing_operation")) 17 | ) 18 | 19 | query = ( 20 | query.where((MBT[searchfield].like(f"%{txt}%"))) 21 | .orderby(MBT.batch_no, order=frappe.qb.desc) 22 | .limit(page_len) 23 | .offset(start) 24 | ) 25 | data = query.run() 26 | return data 27 | -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/service_type_2/service_type_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "creation": "2022-10-11 13:44:06.378309", 4 | "doctype": "DocType", 5 | "editable_grid": 1, 6 | "engine": "InnoDB", 7 | "field_order": [ 8 | "service_type1" 9 | ], 10 | "fields": [ 11 | { 12 | "fieldname": "service_type1", 13 | "fieldtype": "Link", 14 | "in_list_view": 1, 15 | "label": "Service", 16 | "options": "Service Type" 17 | } 18 | ], 19 | "index_web_pages_for_search": 1, 20 | "istable": 1, 21 | "links": [], 22 | "modified": "2023-05-08 15:54:56.093633", 23 | "modified_by": "Administrator", 24 | "module": "Gurukrupa Exports", 25 | "name": "Service Type 2", 26 | "naming_rule": "By fieldname", 27 | "owner": "Administrator", 28 | "permissions": [], 29 | "sort_field": "modified", 30 | "sort_order": "DESC", 31 | "states": [] 32 | } -------------------------------------------------------------------------------- /jewellery_erpnext/gurukrupa_exports/doctype/cam_weight_details_mapping/cam_weight_details_mapping.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "allow_rename": 1, 4 | "creation": "2023-12-13 17:04:52.839931", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "operation" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "operation", 14 | "fieldtype": "Link", 15 | "in_list_view": 1, 16 | "label": "Operation", 17 | "options": "Operation" 18 | } 19 | ], 20 | "index_web_pages_for_search": 1, 21 | "istable": 1, 22 | "links": [], 23 | "modified": "2023-12-13 17:07:53.330148", 24 | "modified_by": "Administrator", 25 | "module": "Gurukrupa Exports", 26 | "name": "CAM Weight Details Mapping", 27 | "owner": "Administrator", 28 | "permissions": [], 29 | "sort_field": "modified", 30 | "sort_order": "DESC", 31 | "states": [] 32 | } --------------------------------------------------------------------------------