├── .gitignore ├── MANIFEST.in ├── README.md ├── license.txt ├── requirements.txt ├── rigpl_erpnext ├── __init__.py ├── config │ ├── __init__.py │ ├── accounts.py │ ├── crm.py │ ├── desktop.py │ ├── hr.py │ ├── manufacturing.py │ ├── selling.py │ └── stock.py ├── fixtures │ └── custom_scripts │ │ ├── Customer.js │ │ ├── Holiday List.js │ │ ├── Purchase Order.js │ │ ├── Salary Component.js │ │ ├── Salary Structure.js │ │ ├── Sales Order.js │ │ ├── communication.js │ │ ├── item.js │ │ └── lead.js ├── hooks.py ├── modules.txt ├── patches.txt ├── patches │ ├── 20151013_delete_obsolete_items.py │ ├── 20160106_update_invoice_trial_tracking.py │ ├── 20160224_update_rol_table.py │ ├── 20160325_xss_removal.py │ ├── 20160505_update_overtime_attendance.py │ ├── 20160730_copy_contribution_ss_ss.py │ ├── 20160819_create_valuation_rate_carbide_rm.py │ ├── 20161016_insert_sales_person_in_customer.py │ ├── 20170103_salary_slip_fields.py │ ├── 20170415_emp_loan_changes.py │ ├── 20170415_expense_claim_status_update.py │ ├── 20170518_emp_adv_direct_post.py │ ├── 20170519_salary_slip_direct_post.py │ ├── 20170616_salary_slip_direct_post_all.py │ ├── 20170630_link_items_with_customs.py │ ├── 20170706_roster_move_dates_to_child.py │ ├── 20170726_create_tracking_details_old_invoice.py │ ├── 20170914_create_brc_tracking.py │ ├── 20171116_update_expiry_date_quotation.py │ ├── 20180516_manually_convert_incl_to_excl_gst18.py │ ├── 20180710_restore_deleted_sales_team_data.py │ ├── 20181119_update_shift_in_attendance.py │ ├── 20181222_update_gst_hsn_code_q_so_dn.py │ ├── 20181222_update_plist.py │ ├── 20190903_customer_primary_contact_address.py │ ├── 20190924_daily_call_communication.py │ ├── __init__.py │ ├── cform_letterhead_si_so.py │ ├── convert_inclusive_exclusive.py │ ├── inclusive_excise_conversion.py │ ├── item_master │ │ ├── 20140830_item.py │ │ ├── 20170720_set_customs_tariff_template.py │ │ ├── 20170721_change_field_name_templates.py │ │ ├── 20170730_item_route_without_special_characters.py │ │ ├── 20181004_Change_Attribute_Value.py │ │ └── __init__.py │ └── manual_patches │ │ ├── 20190123_department_update.py │ │ └── 20190312_create_attendance_for_leave_application.py ├── rigpl_erpnext │ ├── __init__.py │ ├── custom │ │ ├── account.json │ │ ├── attendance.json │ │ ├── communication.json │ │ ├── contact.json │ │ ├── customer.json │ │ ├── delivery_note_item.json │ │ ├── employee.json │ │ ├── expense_claim.json │ │ ├── holiday_list.json │ │ ├── item.json │ │ ├── item_attribute.json │ │ ├── item_attribute_value.json │ │ ├── item_variant_attribute.json │ │ ├── journal_entry_account.json │ │ ├── payment_terms_template.json │ │ ├── price_list.json │ │ ├── production_plan_item.json │ │ ├── purchase_order.json │ │ ├── purchase_order_item.json │ │ ├── quotation.json │ │ ├── quotation_item.json │ │ ├── salary_component.json │ │ ├── salary_detail.json │ │ ├── salary_slip.json │ │ ├── salary_structure.json │ │ ├── salary_structure_assignment.json │ │ ├── sales_order.json │ │ ├── sales_order_item.json │ │ ├── sales_partner.json │ │ ├── shift_type.json │ │ ├── stock_settings.json │ │ ├── supplier.json │ │ ├── todo.json │ │ ├── uom.json │ │ └── warehouse.json │ ├── doctype │ │ ├── __init__.py │ │ ├── attendance_time_table │ │ │ ├── __init__.py │ │ │ ├── attendance_time_table.json │ │ │ └── attendance_time_table.py │ │ ├── brc_meis_tracking │ │ │ ├── __init__.py │ │ │ ├── brc_meis_tracking.js │ │ │ ├── brc_meis_tracking.json │ │ │ ├── brc_meis_tracking.py │ │ │ ├── test_brc_meis_tracking.js │ │ │ └── test_brc_meis_tracking.py │ │ ├── carrier_tracking │ │ │ ├── __init__.py │ │ │ ├── _test_carrier_tracking.js │ │ │ ├── carrier_tracking.js │ │ │ ├── carrier_tracking.json │ │ │ ├── carrier_tracking.py │ │ │ ├── fedex_functions.py │ │ │ ├── templates │ │ │ │ ├── carrier_tracking.html │ │ │ │ └── carrier_tracking_row.html │ │ │ ├── test_carrier_tracking.js │ │ │ └── test_carrier_tracking.py │ │ ├── carrier_tracking_notifications │ │ │ ├── __init__.py │ │ │ ├── carrier_tracking_notifications.json │ │ │ └── carrier_tracking_notifications.py │ │ ├── courier_tracking_scans │ │ │ ├── __init__.py │ │ │ ├── courier_tracking_scans.json │ │ │ └── courier_tracking_scans.py │ │ ├── create_bulk_production_orders │ │ │ ├── __init__.py │ │ │ ├── create_bulk_production_orders.js │ │ │ ├── create_bulk_production_orders.json │ │ │ ├── create_bulk_production_orders.py │ │ │ └── test_create_bulk_production_orders.py │ │ ├── daily_call │ │ │ ├── __init__.py │ │ │ ├── daily_call.js │ │ │ ├── daily_call.json │ │ │ ├── daily_call.py │ │ │ ├── test_daily_call.js │ │ │ └── test_daily_call.py │ │ ├── daily_call_details │ │ │ ├── __init__.py │ │ │ ├── daily_call_details.json │ │ │ └── daily_call_details.py │ │ ├── employee_advance │ │ │ ├── __init__.py │ │ │ ├── employee_advance.js │ │ │ ├── employee_advance.json │ │ │ ├── employee_advance.py │ │ │ ├── employee_loan.js │ │ │ ├── employee_loan.py │ │ │ └── test_employee_advance.py │ │ ├── employee_loan_detail │ │ │ ├── __init__.py │ │ │ ├── employee_loan_detail.json │ │ │ └── employee_loan_detail.py │ │ ├── important_documents │ │ │ ├── __init__.py │ │ │ ├── important_documents.js │ │ │ ├── important_documents.json │ │ │ ├── important_documents.py │ │ │ ├── test_important_documents.js │ │ │ └── test_important_documents.py │ │ ├── indiamart_pull_leads │ │ │ ├── __init__.py │ │ │ ├── indiamart_pull_leads.js │ │ │ ├── indiamart_pull_leads.json │ │ │ ├── indiamart_pull_leads.py │ │ │ ├── test_indiamart_pull_leads.js │ │ │ └── test_indiamart_pull_leads.py │ │ ├── item_variant_restrictions │ │ │ ├── __init__.py │ │ │ ├── item_variant_restrictions.json │ │ │ └── item_variant_restrictions.py │ │ ├── pickup_schedule_details │ │ │ ├── __init__.py │ │ │ ├── pickup_schedule_details.json │ │ │ └── pickup_schedule_details.py │ │ ├── rigpl_settings │ │ │ ├── __init__.py │ │ │ ├── rigpl_settings.js │ │ │ ├── rigpl_settings.json │ │ │ ├── rigpl_settings.py │ │ │ ├── test_rigpl_settings.js │ │ │ └── test_rigpl_settings.py │ │ ├── shipment_package │ │ │ ├── __init__.py │ │ │ ├── shipment_package.js │ │ │ ├── shipment_package.json │ │ │ ├── shipment_package.py │ │ │ ├── test_shipment_package.js │ │ │ └── test_shipment_package.py │ │ ├── shipment_package_details │ │ │ ├── __init__.py │ │ │ ├── shipment_package_details.json │ │ │ └── shipment_package_details.py │ │ ├── shipway_settings │ │ │ ├── __init__.py │ │ │ ├── shipway_settings.js │ │ │ ├── shipway_settings.json │ │ │ ├── shipway_settings.py │ │ │ ├── test_shipway_settings.js │ │ │ └── test_shipway_settings.py │ │ ├── transporters │ │ │ ├── __init__.py │ │ │ ├── test_transporters.js │ │ │ ├── test_transporters.py │ │ │ ├── transporters.js │ │ │ ├── transporters.json │ │ │ └── transporters.py │ │ ├── trial_tracking │ │ │ ├── __init__.py │ │ │ ├── test_records.json │ │ │ ├── test_trial_tracking.py │ │ │ ├── trial_tracking.json │ │ │ └── trial_tracking.py │ │ ├── turn_over_discount │ │ │ ├── __init__.py │ │ │ ├── test_turn_over_discount.js │ │ │ ├── test_turn_over_discount.py │ │ │ ├── turn_over_discount.js │ │ │ ├── turn_over_discount.json │ │ │ └── turn_over_discount.py │ │ ├── user_permission_rules │ │ │ ├── __init__.py │ │ │ ├── user_permission_rules.json │ │ │ └── user_permission_rules.py │ │ ├── user_permission_settings │ │ │ ├── __init__.py │ │ │ ├── test_user_permission_settings.js │ │ │ ├── test_user_permission_settings.py │ │ │ ├── user_permission_settings.js │ │ │ ├── user_permission_settings.json │ │ │ └── user_permission_settings.py │ │ ├── user_share_rules │ │ │ ├── __init__.py │ │ │ ├── test_user_share_rules.js │ │ │ ├── test_user_share_rules.py │ │ │ ├── user_share_rules.js │ │ │ ├── user_share_rules.json │ │ │ └── user_share_rules.py │ │ └── user_share_settings │ │ │ ├── __init__.py │ │ │ ├── test_user_share_settings.js │ │ │ ├── test_user_share_settings.py │ │ │ ├── user_share_settings.js │ │ │ ├── user_share_settings.json │ │ │ └── user_share_settings.py │ ├── item.py │ ├── page │ │ └── __init__.py │ ├── print_format │ │ ├── __init__.py │ │ ├── basic_price_only │ │ │ ├── __init__.py │ │ │ └── basic_price_only.json │ │ ├── daily_call │ │ │ ├── __init__.py │ │ │ └── daily_call.json │ │ ├── quotation_basic_price_only │ │ │ ├── __init__.py │ │ │ └── quotation_basic_price_only.json │ │ ├── quotation_discounts │ │ │ ├── __init__.py │ │ │ └── quotation_discounts.json │ │ ├── quotation_no_discounts │ │ │ ├── __init__.py │ │ │ └── quotation_no_discounts.json │ │ ├── so_discounts │ │ │ ├── __init__.py │ │ │ └── so_discounts.json │ │ ├── so_no_discounts │ │ │ ├── __init__.py │ │ │ └── so_no_discounts.json │ │ └── technical_bid │ │ │ ├── __init__.py │ │ │ └── technical_bid.json │ ├── quality.py │ ├── report │ │ ├── __init__.py │ │ ├── address_book_rigpl │ │ │ ├── __init__.py │ │ │ ├── address_book_rigpl.js │ │ │ ├── address_book_rigpl.json │ │ │ └── address_book_rigpl.py │ │ ├── attendance_performance_analysis │ │ │ ├── __init__.py │ │ │ ├── attendance_performance_analysis.js │ │ │ ├── attendance_performance_analysis.json │ │ │ └── attendance_performance_analysis.py │ │ ├── brc_tracking │ │ │ ├── __init__.py │ │ │ ├── brc_tracking.js │ │ │ ├── brc_tracking.json │ │ │ └── brc_tracking.py │ │ ├── calculate_rol │ │ │ ├── __init__.py │ │ │ ├── calculate_rol.js │ │ │ ├── calculate_rol.json │ │ │ └── calculate_rol.py │ │ ├── cforms_analysis │ │ │ ├── __init__.py │ │ │ ├── cforms_analysis.html │ │ │ ├── cforms_analysis.js │ │ │ ├── cforms_analysis.json │ │ │ └── cforms_analysis.py │ │ ├── compare_pricing │ │ │ ├── __init__.py │ │ │ ├── compare_pricing.js │ │ │ ├── compare_pricing.json │ │ │ └── compare_pricing.py │ │ ├── courier_tracking_rigpl │ │ │ ├── __init__.py │ │ │ ├── courier_tracking_rigpl.js │ │ │ ├── courier_tracking_rigpl.json │ │ │ └── courier_tracking_rigpl.py │ │ ├── customers_with_so │ │ │ ├── __init__.py │ │ │ ├── customers_with_so.js │ │ │ ├── customers_with_so.json │ │ │ └── customers_with_so.py │ │ ├── dcr_analysis_rigpl │ │ │ ├── __init__.py │ │ │ ├── dcr_analysis_rigpl.js │ │ │ ├── dcr_analysis_rigpl.json │ │ │ └── dcr_analysis_rigpl.py │ │ ├── dealer_stock_status │ │ │ ├── __init__.py │ │ │ ├── dealer_stock_status.js │ │ │ ├── dealer_stock_status.json │ │ │ └── dealer_stock_status.py │ │ ├── dn_to_be_billed │ │ │ ├── __init__.py │ │ │ ├── dn_to_be_billed.js │ │ │ ├── dn_to_be_billed.json │ │ │ └── dn_to_be_billed.py │ │ ├── dynamic_items_for_production │ │ │ ├── __init__.py │ │ │ ├── dynamic_items_for_production.js │ │ │ ├── dynamic_items_for_production.json │ │ │ └── dynamic_items_for_production.py │ │ ├── employee_attendance │ │ │ ├── __init__.py │ │ │ ├── employee_attendance.js │ │ │ ├── employee_attendance.json │ │ │ └── employee_attendance.py │ │ ├── employee_balances_rigpl │ │ │ ├── __init__.py │ │ │ ├── employee_balances_rigpl.js │ │ │ ├── employee_balances_rigpl.json │ │ │ └── employee_balances_rigpl.py │ │ ├── employee_loan_analysis │ │ │ ├── __init__.py │ │ │ ├── employee_loan_analysis.js │ │ │ ├── employee_loan_analysis.json │ │ │ └── employee_loan_analysis.py │ │ ├── follow_up_customer │ │ │ ├── __init__.py │ │ │ ├── follow_up_customer.js │ │ │ ├── follow_up_customer.json │ │ │ └── follow_up_customer.py │ │ ├── follow_up_lead │ │ │ ├── __init__.py │ │ │ ├── follow_up_lead.js │ │ │ ├── follow_up_lead.json │ │ │ └── follow_up_lead.py │ │ ├── forex_transactions │ │ │ ├── __init__.py │ │ │ ├── forex_transactions.js │ │ │ ├── forex_transactions.json │ │ │ └── forex_transactions.py │ │ ├── gst_migration_pending_dn │ │ │ ├── __init__.py │ │ │ └── gst_migration_pending_dn.json │ │ ├── item_report │ │ │ ├── __init__.py │ │ │ ├── item_report.js │ │ │ ├── item_report.json │ │ │ └── item_report.py │ │ ├── item_template │ │ │ ├── __init__.py │ │ │ ├── item_template.js │ │ │ ├── item_template.json │ │ │ └── item_template.py │ │ ├── items_for_production │ │ │ ├── __init__.py │ │ │ ├── items_for_production.js │ │ │ ├── items_for_production.json │ │ │ └── items_for_production.py │ │ ├── items_on_indent │ │ │ ├── __init__.py │ │ │ └── items_on_indent.json │ │ ├── label_printing_database_rigpl │ │ │ ├── __init__.py │ │ │ ├── label_printing_database_rigpl.js │ │ │ ├── label_printing_database_rigpl.json │ │ │ └── label_printing_database_rigpl.py │ │ ├── leave_application_report │ │ │ ├── __init__.py │ │ │ ├── leave_application_report.js │ │ │ ├── leave_application_report.json │ │ │ └── leave_application_report.py │ │ ├── list_of_holidays │ │ │ ├── __init__.py │ │ │ ├── list_of_holidays.js │ │ │ ├── list_of_holidays.json │ │ │ └── list_of_holidays.py │ │ ├── monthly_attendance_time_based │ │ │ ├── __init__.py │ │ │ ├── monthly_attendance_time_based.js │ │ │ ├── monthly_attendance_time_based.json │ │ │ └── monthly_attendance_time_based.py │ │ ├── obsolete_items │ │ │ ├── __init__.py │ │ │ ├── obsolete_items.js │ │ │ ├── obsolete_items.json │ │ │ └── obsolete_items.py │ │ ├── pending_orders │ │ │ ├── __init__.py │ │ │ ├── pending_orders.js │ │ │ ├── pending_orders.json │ │ │ └── pending_orders.py │ │ ├── pending_production_orders │ │ │ ├── __init__.py │ │ │ ├── pending_production_orders.html │ │ │ ├── pending_production_orders.js │ │ │ ├── pending_production_orders.json │ │ │ └── pending_production_orders.py │ │ ├── pending_purchase_orders │ │ │ ├── __init__.py │ │ │ ├── pending_purchase_orders.js │ │ │ ├── pending_purchase_orders.json │ │ │ └── pending_purchase_orders.py │ │ ├── pending_so_(prd) │ │ │ ├── __init__.py │ │ │ ├── pending_so_(prd).js │ │ │ ├── pending_so_(prd).json │ │ │ └── pending_so_(prd).py │ │ ├── pending_so_for_gst_migration │ │ │ ├── __init__.py │ │ │ └── pending_so_for_gst_migration.json │ │ ├── pr_to_be_billed │ │ │ ├── __init__.py │ │ │ ├── pr_to_be_billed.js │ │ │ ├── pr_to_be_billed.json │ │ │ └── pr_to_be_billed.py │ │ ├── raw_material_needed │ │ │ ├── __init__.py │ │ │ ├── raw_material_needed.js │ │ │ ├── raw_material_needed.json │ │ │ └── raw_material_needed.py │ │ ├── rigpl_item_codes_with_attributes │ │ │ ├── __init__.py │ │ │ ├── rigpl_item_codes_with_attributes.js │ │ │ ├── rigpl_item_codes_with_attributes.json │ │ │ └── rigpl_item_codes_with_attributes.py │ │ ├── rigpl_price_list │ │ │ ├── __init__.py │ │ │ ├── rigpl_price_list.html │ │ │ ├── rigpl_price_list.js │ │ │ ├── rigpl_price_list.json │ │ │ └── rigpl_price_list.py │ │ ├── roster │ │ │ ├── __init__.py │ │ │ ├── roster.js │ │ │ ├── roster.json │ │ │ └── roster.py │ │ ├── salary_register │ │ │ ├── __init__.py │ │ │ ├── salary_register.js │ │ │ ├── salary_register.json │ │ │ └── salary_register.py │ │ ├── salary_structure │ │ │ ├── __init__.py │ │ │ ├── salary_structure.js │ │ │ ├── salary_structure.json │ │ │ └── salary_structure.py │ │ ├── sales_partner_commission_details │ │ │ ├── __init__.py │ │ │ ├── sales_partner_commission_details.js │ │ │ ├── sales_partner_commission_details.json │ │ │ ├── sales_partner_commission_details.py │ │ │ ├── transaction_details.js~ │ │ │ └── transaction_details.py~ │ │ ├── sales_partner_so_analysis │ │ │ ├── __init__.py │ │ │ ├── sales_partner_so_analysis.js │ │ │ ├── sales_partner_so_analysis.json │ │ │ └── sales_partner_so_analysis.py │ │ ├── sales_person_analysis │ │ │ ├── __init__.py │ │ │ ├── sales_person_analysis.js │ │ │ ├── sales_person_analysis.json │ │ │ └── sales_person_analysis.py │ │ ├── si_import_to_rigb_ru │ │ │ ├── __init__.py │ │ │ ├── si_import_to_rigb_ru.html │ │ │ ├── si_import_to_rigb_ru.js │ │ │ ├── si_import_to_rigb_ru.json │ │ │ └── si_import_to_rigb_ru.py │ │ ├── standards_and_drawings_rigpl │ │ │ ├── __init__.py │ │ │ ├── standards_and_drawings_rigpl.js │ │ │ ├── standards_and_drawings_rigpl.json │ │ │ └── standards_and_drawings_rigpl.py │ │ ├── stock_ageing_rigpl │ │ │ ├── __init__.py │ │ │ ├── stock_ageing_rigpl.js │ │ │ ├── stock_ageing_rigpl.json │ │ │ └── stock_ageing_rigpl.py │ │ ├── stock_ledger_with_valuation │ │ │ ├── __init__.py │ │ │ ├── stock_ledger_with_valuation.js │ │ │ ├── stock_ledger_with_valuation.json │ │ │ └── stock_ledger_with_valuation.py │ │ ├── stock_status │ │ │ ├── __init__.py │ │ │ ├── stock_status.js │ │ │ ├── stock_status.json │ │ │ └── stock_status.py │ │ ├── stock_valuation │ │ │ ├── __init__.py │ │ │ ├── stock_valuation.js │ │ │ ├── stock_valuation.json │ │ │ └── stock_valuation.py │ │ ├── template_variant_import_format │ │ │ ├── __init__.py │ │ │ ├── template_variant_import_format.js │ │ │ ├── template_variant_import_format.json │ │ │ └── template_variant_import_format.py │ │ ├── tod_sales_invoice │ │ │ ├── __init__.py │ │ │ ├── tod_sales_invoice.js │ │ │ ├── tod_sales_invoice.json │ │ │ └── tod_sales_invoice.py │ │ ├── todo_report │ │ │ ├── __init__.py │ │ │ ├── todo_report.js │ │ │ ├── todo_report.json │ │ │ └── todo_report.py │ │ ├── trial_tracking │ │ │ ├── __init__.py │ │ │ ├── trial_tracking.js │ │ │ ├── trial_tracking.json │ │ │ └── trial_tracking.py │ │ ├── va_sales_invoice │ │ │ ├── __init__.py │ │ │ ├── va_sales_invoice.js │ │ │ ├── va_sales_invoice.json │ │ │ └── va_sales_invoice.py │ │ ├── valuation_rate │ │ │ ├── __init__.py │ │ │ ├── valuation_rate.js │ │ │ ├── valuation_rate.json │ │ │ └── valuation_rate.py │ │ └── value_addition │ │ │ ├── __init__.py │ │ │ ├── value_addition.js │ │ │ ├── value_addition.json │ │ │ └── value_addition.py │ ├── scheduled_tasks │ │ ├── __init__.py │ │ ├── automate_docshare.py │ │ ├── communication.py │ │ ├── default_permissions.py │ │ ├── indiamart.py │ │ ├── item_valuation_rate.py │ │ ├── permission_check.py │ │ ├── shipment_data_update.py │ │ ├── variant_copy.py │ │ └── work_order_status.py │ ├── validations │ │ ├── __init__.py │ │ ├── account.py │ │ ├── attendance.py │ │ ├── communication.py │ │ ├── customer.py │ │ ├── delivery_note.py │ │ ├── department.py │ │ ├── employee.py │ │ ├── expense_claim.py │ │ ├── holiday_list.py │ │ ├── item_group.py │ │ ├── item_price.py │ │ ├── lead.py │ │ ├── leave_application.py │ │ ├── opportunity.py │ │ ├── price_list.py │ │ ├── purchase_invoice.py │ │ ├── purchase_order.py │ │ ├── purchase_receipt.py │ │ ├── quotation.py │ │ ├── salary_component.py │ │ ├── salary_slip.py │ │ ├── salary_structure.py │ │ ├── salary_structure_assignment.py │ │ ├── sales_invoice.py │ │ ├── sales_order.py │ │ ├── stock_entry.py │ │ ├── stock_reconciliation.py │ │ ├── supplier.py │ │ ├── todo.py │ │ ├── warehouse.py │ │ └── work_order.py │ └── web_form │ │ ├── __init__.py │ │ └── contact_us │ │ ├── __init__.py │ │ ├── contact_us.js │ │ ├── contact_us.json │ │ └── contact_us.py ├── templates │ ├── __init__.py │ ├── generators │ │ └── __init__.py │ └── pages │ │ └── __init__.py └── utils │ ├── __init__.py │ ├── attribute_query.py │ ├── item_utils.py │ ├── other_utils.py │ ├── rigpl_perm.py │ └── sales_utils.py └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.pyc 3 | *.egg-info 4 | *.swp 5 | tags -------------------------------------------------------------------------------- /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 rigpl_erpnext *.css 8 | recursive-include rigpl_erpnext *.csv 9 | recursive-include rigpl_erpnext *.html 10 | recursive-include rigpl_erpnext *.ico 11 | recursive-include rigpl_erpnext *.js 12 | recursive-include rigpl_erpnext *.json 13 | recursive-include rigpl_erpnext *.md 14 | recursive-include rigpl_erpnext *.png 15 | recursive-include rigpl_erpnext *.py 16 | recursive-include rigpl_erpnext *.svg 17 | recursive-include rigpl_erpnext *.txt 18 | recursive-include rigpl_erpnext/public * 19 | recursive-exclude rigpl_erpnext *.pyc 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/README.md -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | License: GPL v3 -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | frappe 2 | erpnext 3 | fedex -------------------------------------------------------------------------------- /rigpl_erpnext/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/config/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/config/accounts.py: -------------------------------------------------------------------------------- 1 | from frappe import _ 2 | 3 | def get_data(): 4 | return [ 5 | { 6 | "label": _("Billing"), 7 | "icon": "icon-star", 8 | "items": [ 9 | { 10 | "type": "doctype", 11 | "name": "Carrier Tracking", 12 | "description": _("Track Shipments sent via Courier"), 13 | }, 14 | ] 15 | }, 16 | { 17 | "label": _("Banking and Payments"), 18 | "icon": "icon-star", 19 | "items": [ 20 | { 21 | "type": "doctype", 22 | "name": "BRC MEIS Tracking", 23 | "description": _("Track BRC and MEIS Status"), 24 | }, 25 | ] 26 | }, 27 | { 28 | "label": _("Rohit Reports"), 29 | "icon": "icon-paper-clip", 30 | "items": [ 31 | { 32 | "type": "report", 33 | "is_query_report": True, 34 | "name": "Asset Analysis", 35 | "doctype": "Asset Category", 36 | }, 37 | { 38 | "type": "report", 39 | "is_query_report": True, 40 | "name": "BRC Tracking", 41 | "doctype": "BRC MEIS Tracking", 42 | }, 43 | { 44 | "type": "report", 45 | "is_query_report": True, 46 | "name": "DN To Be Billed", 47 | "doctype": "Sales Invoice", 48 | }, 49 | { 50 | "type": "report", 51 | "is_query_report": True, 52 | "name": "PR to be Billed", 53 | "doctype": "Purchase Invoice", 54 | }, 55 | { 56 | "type": "report", 57 | "is_query_report": True, 58 | "name": "Sales Partner Commission Details", 59 | "doctype": "Sales Invoice", 60 | }, 61 | { 62 | "type": "report", 63 | "is_query_report": True, 64 | "name": "TOD Sales Invoice", 65 | "doctype": "Sales Invoice", 66 | } 67 | ] 68 | } 69 | ] 70 | -------------------------------------------------------------------------------- /rigpl_erpnext/config/crm.py: -------------------------------------------------------------------------------- 1 | from frappe import _ 2 | 3 | def get_data(): 4 | return [ 5 | { 6 | "label": _("Communication"), 7 | "icon": "icon-star", 8 | "items": [ 9 | { 10 | "type": "doctype", 11 | "name": "Daily Call", 12 | "description": _("List of Daily Call and Visit Summary"), 13 | }, 14 | ] 15 | }, 16 | { 17 | "label": _("Rohit Reports"), 18 | "icon": "icon-paper-clip", 19 | "items": [ 20 | { 21 | "type": "report", 22 | "is_query_report": True, 23 | "name": "Follow Up-Customer", 24 | "doctype": "Customer", 25 | }, 26 | { 27 | "type": "report", 28 | "is_query_report": True, 29 | "name": "Follow Up-Lead", 30 | "doctype": "Lead", 31 | } 32 | ] 33 | } 34 | ] -------------------------------------------------------------------------------- /rigpl_erpnext/config/desktop.py: -------------------------------------------------------------------------------- 1 | from frappe import _ 2 | 3 | def get_data(): 4 | return { 5 | "Rohit ERPNext Extensions": { 6 | "color": "#007AFF", 7 | "icon": "icon-paper-clip", 8 | "type": "module", 9 | "label": _("Rohit ERPNext Extensions") 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /rigpl_erpnext/config/manufacturing.py: -------------------------------------------------------------------------------- 1 | from frappe import _ 2 | 3 | def get_data(): 4 | return [ 5 | { 6 | "label": _("Production"), 7 | "icon": "icon-paper-clip", 8 | "items": [ 9 | { 10 | "type": "doctype", 11 | "name": "Important Documents", 12 | "description": _("List of all Standards and Drawings"), 13 | } 14 | ] 15 | }, 16 | { 17 | "label": _("Tools"), 18 | "icon": "icon-paper-clip", 19 | "items": [ 20 | { 21 | "type": "doctype", 22 | "name": "Create Bulk Production Orders", 23 | "description": _("Utility to Create Bulk Production or Work Orders"), 24 | } 25 | ] 26 | }, 27 | { 28 | "label": _("Rohit Reports"), 29 | "icon": "icon-paper-clip", 30 | "items": [ 31 | { 32 | "type": "report", 33 | "is_query_report": True, 34 | "name": "Items For Production", 35 | "doctype": "Work Order", 36 | }, 37 | { 38 | "type": "report", 39 | "is_query_report": True, 40 | "name": "Pending Production Orders", 41 | "doctype": "Work Order", 42 | }, 43 | { 44 | "type": "report", 45 | "is_query_report": True, 46 | "name": "Pending So (Prd)", 47 | "doctype": "Work Order", 48 | }, 49 | { 50 | "type": "report", 51 | "is_query_report": True, 52 | "name": "Standards and Drawings RIGPL", 53 | "doctype": "Important Documents", 54 | }, 55 | ] 56 | } 57 | 58 | ] 59 | -------------------------------------------------------------------------------- /rigpl_erpnext/config/selling.py: -------------------------------------------------------------------------------- 1 | from frappe import _ 2 | 3 | def get_data(): 4 | return [ 5 | { 6 | "label": _("Documents"), 7 | "icon": "icon-star", 8 | "items": [ 9 | { 10 | "type": "doctype", 11 | "name": "Trial Tracking", 12 | "description": _("Trial database."), 13 | }, 14 | ] 15 | }, 16 | { 17 | 18 | "label": _("Rohit Reports"), 19 | "icon": "icon-paper-clip", 20 | "items": [ 21 | { 22 | "type": "report", 23 | "is_query_report": True, 24 | "name": "Customers with SO", 25 | "doctype": "Campaign", 26 | }, 27 | { 28 | "type": "report", 29 | "is_query_report": True, 30 | "name": "Compare Pricing", 31 | "doctype": "Price List", 32 | }, 33 | { 34 | "type": "report", 35 | "is_query_report": True, 36 | "name": "Follow Up", 37 | "doctype": "Customer", 38 | }, 39 | { 40 | "type": "report", 41 | "is_query_report": True, 42 | "name": "Pending Orders", 43 | "doctype": "Sales Order", 44 | }, 45 | { 46 | "type": "report", 47 | "is_query_report": True, 48 | "name": "RIGPL Price List", 49 | "doctype": "Item Price", 50 | }, 51 | { 52 | "type": "report", 53 | "is_query_report": True, 54 | "name": "Sales Partner SO Analysis", 55 | "doctype": "Sales Order", 56 | }, 57 | { 58 | "type": "report", 59 | "is_query_report": True, 60 | "name": "Stock Status", 61 | "doctype": "Item", 62 | }, 63 | { 64 | "type": "report", 65 | "is_query_report": True, 66 | "name": "Trial Tracking", 67 | "doctype": "Sales Order", 68 | }, 69 | ] 70 | } 71 | ] 72 | -------------------------------------------------------------------------------- /rigpl_erpnext/config/stock.py: -------------------------------------------------------------------------------- 1 | from frappe import _ 2 | 3 | def get_data(): 4 | return [ 5 | { 6 | "label": _("Rohit Reports"), 7 | "icon": "icon-paper-clip", 8 | "items": [ 9 | { 10 | "type": "report", 11 | "is_query_report": True, 12 | "name": "Calculate ROL", 13 | "doctype": "Stock Ledger Entry", 14 | }, 15 | { 16 | "type": "report", 17 | "is_query_report": True, 18 | "name": "Item Report", 19 | "doctype": "Item", 20 | }, 21 | { 22 | "type": "report", 23 | "is_query_report": True, 24 | "name": "Stock Ledger Normal", 25 | "doctype": "Stock Ledger Entry", 26 | }, 27 | { 28 | "type": "report", 29 | "is_query_report": True, 30 | "name": "Stock Valuation", 31 | "doctype": "Stock Entry Detail", 32 | }, 33 | { 34 | "type": "report", 35 | "is_query_report": True, 36 | "name": "Value Addition", 37 | "doctype": "Tool Type", 38 | }, 39 | ] 40 | } 41 | ] 42 | -------------------------------------------------------------------------------- /rigpl_erpnext/fixtures/custom_scripts/Customer.js: -------------------------------------------------------------------------------- 1 | cur_frm.add_fetch('charge','letter_head','letter_head'); 2 | frappe.ui.form.on("Customer", "refresh", function(frm) { 3 | frm.add_custom_button(__("Sales Call"), function() { 4 | // When this button is clicked, do this 5 | frappe.set_route("Form", "Sales Call Tool", 6 | {"document": "Customer", 7 | "customer": frm.doc.name, 8 | "date_of_communication": Date()}); 9 | 10 | }, __("Add Communication for")); 11 | }); -------------------------------------------------------------------------------- /rigpl_erpnext/fixtures/custom_scripts/Holiday List.js: -------------------------------------------------------------------------------- 1 | cur_frm.cscript.custom_onload = function () { 2 | cur_frm.set_query('base_holiday_list', function(doc){ 3 | return { 4 | filters: [ 5 | ['is_base_list', '=', 1] 6 | ] 7 | }; 8 | }); 9 | } -------------------------------------------------------------------------------- /rigpl_erpnext/fixtures/custom_scripts/Salary Component.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | frappe.ui.form.on('Salary Component', { 4 | refresh: function(frm) { 5 | }, 6 | 7 | onload: function(frm){ 8 | frm.set_query("account", function() { 9 | return { 10 | "filters": { 11 | "is_group": 0, 12 | "freeze_account": "No", 13 | } 14 | }; 15 | }); 16 | frm.set_query("earning", function() { 17 | return { 18 | "filters": { 19 | "is_earning": 1, 20 | "only_for_deductions": 1, 21 | } 22 | }; 23 | }); 24 | }, 25 | }); 26 | cur_frm.add_fetch("salary_component", "is_deduction", "is_deduction"); 27 | cur_frm.add_fetch("salary_component", "is_contribution", "is_contribution"); -------------------------------------------------------------------------------- /rigpl_erpnext/fixtures/custom_scripts/Salary Structure.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | frappe.ui.form.on('Salary Structure', { 4 | refresh: function(frm) { 5 | }, 6 | 7 | onload: function(frm){ 8 | frm.set_query("salary_component", "earnings", function(doc, cdt, cdn) { 9 | return { 10 | "filters": { 11 | "is_earning": 1, 12 | } 13 | }; 14 | }); 15 | frm.set_query("salary_component", "deductions", function(doc, cdt, cdn) { 16 | return { 17 | "filters": { 18 | "is_deduction": 1, 19 | } 20 | }; 21 | }); 22 | frm.set_query("salary_component", "contributions", function(doc, cdt, cdn) { 23 | return { 24 | "filters": { 25 | "is_contribution": 1, 26 | } 27 | }; 28 | }); 29 | }, 30 | }); -------------------------------------------------------------------------------- /rigpl_erpnext/fixtures/custom_scripts/Sales Order.js: -------------------------------------------------------------------------------- 1 | cur_frm.add_fetch('customer','payment_terms','payment_terms'); 2 | cur_frm.add_fetch('shipping_address_name','address_title','shipping_address_title'); 3 | cur_frm.add_fetch('taxes_and_charges','letter_head','letter_head'); -------------------------------------------------------------------------------- /rigpl_erpnext/fixtures/custom_scripts/communication.js: -------------------------------------------------------------------------------- 1 | $.extend(frappe.views.CommunicationComposer, { 2 | 3 | }); -------------------------------------------------------------------------------- /rigpl_erpnext/fixtures/custom_scripts/lead.js: -------------------------------------------------------------------------------- 1 | frappe.ui.form.on("Lead", "refresh", function(frm) { 2 | frm.add_custom_button(__("Sales Call"), function() { 3 | // When this button is clicked, do this 4 | frappe.set_route("Form", "Sales Call Tool", 5 | {"document": "Lead", 6 | "lead": frm.doc.name, 7 | "date_of_communication": Date()}); 8 | 9 | }, __("Add Communication for")); 10 | }); -------------------------------------------------------------------------------- /rigpl_erpnext/modules.txt: -------------------------------------------------------------------------------- 1 | RIGPL ERPNext 2 | -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20160106_update_invoice_trial_tracking.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | import frappe 3 | from frappe import msgprint 4 | 5 | def execute(): 6 | tt_without_invoice = frappe.db.sql("""SELECT name from `tabTrial Tracking` WHERE invoice_no is NULL""", as_list=1) 7 | for i in tt_without_invoice: 8 | tt = frappe.get_doc("Trial Tracking", i[0]) 9 | query = """SELECT si.name FROM `tabSales Invoice` si, `tabSales Invoice Item` sid 10 | WHERE si.docstatus = 1 AND sid.parent = si.name AND sid.so_detail = '%s' 11 | ORDER BY si.name""" % tt.prevdoc_detail_docname 12 | 13 | sid = frappe.db.sql(query, as_list=1) 14 | 15 | if sid: 16 | frappe.db.set_value("Trial Tracking", i[0], "invoice_no", sid[0][0]) 17 | print ("Trial Tracking Number " + tt.name + " updated with Sales Invoice Number " + sid[0][0]) -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20160224_update_rol_table.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | 3 | import frappe 4 | from erpnext.stock.doctype.item.item import DuplicateReorderRows 5 | 6 | def execute(): 7 | if frappe.db.has_column("Item", "re_order_level"): 8 | for item in frappe.db.sql("""select name, default_warehouse, re_order_level, re_order_qty 9 | from tabItem 10 | where has_variants =0 AND ifnull(re_order_level, 0) != 0""", as_dict=1): 11 | print ("In Progress " + item.name) 12 | if item.re_order_qty == 0: 13 | item.re_order_qty = 1 14 | item_doc = frappe.get_doc("Item", item.name) 15 | item_doc.append("reorder_levels", { 16 | "warehouse": item.default_warehouse, 17 | "warehouse_reorder_level": item.re_order_level, 18 | "warehouse_reorder_qty": item.re_order_qty, 19 | "material_request_type": "Transfer" 20 | }) 21 | 22 | try: 23 | item_doc.save() 24 | print ("Update ROL for " + item.name + " WH= " + item.default_warehouse + " ROL=" + item.re_order_level + " ROQ=" + item.re_order_qty) 25 | except DuplicateReorderRows: 26 | pass -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20160325_xss_removal.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | import frappe 3 | from frappe import msgprint 4 | 5 | from HTMLParser import HTMLParser 6 | 7 | def execute(): 8 | 9 | h = HTMLParser() 10 | 11 | for name, rule in frappe.db.sql("""SELECT name, rule FROM `tabItem Variant Restrictions` WHERE rule is not null""", as_list=1): 12 | frappe.db.set_value("Item Variant Restrictions", name, 'rule', h.unescape(rule)) 13 | 14 | -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20160505_update_overtime_attendance.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import frappe 3 | from frappe.utils import time_diff_in_seconds 4 | 5 | def execute(): 6 | att = frappe.db.sql("""SELECT at.name, at.att_date, at.employee, at.employee_name, at.overtime, 7 | at.shift 8 | FROM `tabAttendance` at, `tabShift Type` sh 9 | WHERE at.docstatus = 1 AND sh.in_out_required = 1 AND at.shift = sh.name 10 | ORDER BY at.name""", as_list=1) 11 | 12 | for i in att: 13 | att = frappe.get_doc("Attendance", i[0]) 14 | shft = frappe.get_doc("Shift Type", i[5]) 15 | pu_data = [] 16 | overtime = 0 17 | tt_in = 0 18 | tt_out = 0 19 | shft_hrs = shft.hours_required_per_day.seconds 20 | shft_marg = shft.time_margin.seconds 21 | shft_rounding = shft.time_rounding.seconds 22 | 23 | for d in att.attendance_time: 24 | pu_data.append([d.idx, d.time_type, d.date_time]) 25 | 26 | #only calculate the ot if there are any IN and OUT entries 27 | for j in range(len(pu_data)-1): 28 | if pu_data[j][1] == 'In Time': 29 | tt_in += time_diff_in_seconds(pu_data[j+1][2], pu_data[j][2]) 30 | else: 31 | tt_out += time_diff_in_seconds(pu_data[j+1][2], pu_data[j][2]) 32 | 33 | overtime = ((tt_in - shft_hrs + shft_marg)- \ 34 | ((tt_in + shft_marg - shft_hrs)%shft_rounding))/3600 35 | 36 | frappe.db.set_value("Attendance", i[0], 'overtime', overtime) 37 | 38 | print ("Attendance Updated " + i[0] + " for date:" + i[1] + " employee: " + i[3] + " New OT=" + overtime) -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20161016_insert_sales_person_in_customer.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import frappe 3 | from frappe.utils import flt 4 | 5 | def execute(): 6 | cust_list = frappe.db.sql("""SELECT cu.name FROM `tabCustomer` cu 7 | WHERE cu.name NOT IN (SELECT parent FROM `tabSales Team` WHERE parenttype = 'Customer' 8 | AND parent = cu.name)""", as_list=1) 9 | if cust_list: 10 | for d in range(len(cust_list)): 11 | new_st = frappe.get_doc({ 12 | "doctype": "Sales Team", 13 | "parent": cust_list[d][0], 14 | "parenttype": 'Customer', 15 | "allocated_percentage": 100, 16 | "sales_person": "Rohit Duggal", 17 | "idx": 1, 18 | "parentfield": 'sales_team' 19 | }) 20 | new_st.insert(ignore_permissions=True) 21 | print ("For Customer:" + cust_list[d][0] + " inserted New Sales Person Rohit Duggal") 22 | -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20170415_emp_loan_changes.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import frappe 3 | from frappe.utils import flt 4 | from erpnext.hr.doctype.payroll_entry.payroll_entry import get_month_details 5 | 6 | def execute(): 7 | ''' 8 | This patch is to change the Employee Loan Doctype to Employee Advance 9 | 1. Parent Type of Employee Loan Detail to be Changed from Employee Loan to Employee Advance 10 | 2. Reference Type of Journal Voucher Account to be Changed from Employee Loan to Employee Advance 11 | 3. Reference Type in Salary Slip to be Changed check this is not linked directly 12 | ''' 13 | frappe.db.sql("""UPDATE `tabEmployee Loan Detail` SET parenttype = 'Employee Advance'""") 14 | frappe.db.sql("""UPDATE `tabJournal Entry Account` SET reference_type = 'Employee Advance' 15 | WHERE reference_type = 'Employee Loan' """) 16 | -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20170616_salary_slip_direct_post_all.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe, erpnext 4 | from frappe.utils import flt 5 | from erpnext.hr.doctype.payroll_entry.payroll_entry import get_month_details 6 | 7 | def execute(): 8 | ''' 9 | This patch posts all unposted Salary Slips to GL 10 | ''' 11 | ss_list = frappe.db.sql("""SELECT name FROM `tabSalary Slip` 12 | WHERE docstatus = 1 ORDER BY name""", as_list=1) 13 | for ss in ss_list: 14 | ss_doc = frappe.get_doc("Salary Slip", ss[0]) 15 | ss_posted = frappe.db.sql("""SELECT name FROM `tabGL Entry` WHERE docstatus =1 AND 16 | voucher_type = 'Salary Slip' AND voucher_no = '%s' 17 | """%(ss_doc.name), as_list=1) 18 | 19 | if not ss_posted: 20 | from rigpl_erpnext.rigpl_erpnext.validations.salary_slip import post_gl_entry 21 | post_gl_entry(ss_doc) 22 | print ("Salary Slip # :" + ss[0] + " Posted in GL") 23 | -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20170706_roster_move_dates_to_child.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe, erpnext 4 | from frappe.utils.fixtures import sync_fixtures 5 | 6 | sync_fixtures() 7 | def execute(): 8 | ''' 9 | This patch would add the From Date and To Date to the Child table of Roster 10 | ''' 11 | rosters = frappe.db.sql("""SELECT name FROM `tabRoster` 12 | WHERE docstatus = 0""", as_list=1) 13 | count = 0 14 | for rost in rosters: 15 | roster_doc = frappe.get_doc("Roster", rost[0]) 16 | count += 1 17 | count_emp = 0 18 | for emp in roster_doc.employees: 19 | count_emp += 1 20 | emp_doc = frappe.get_doc("Employee", emp.employee) 21 | relieving_date = emp_doc.relieving_date 22 | frappe.db.set_value('Roster Details', emp.name, 'from_date', roster_doc.from_date) 23 | if relieving_date: 24 | if relieving_date <= roster_doc.to_date: 25 | frappe.db.set_value('Roster Details', emp.name, 'to_date', emp_doc.relieving_date) 26 | else: 27 | frappe.db.set_value('Roster Details', emp.name, 'to_date', roster_doc.to_date) 28 | else: 29 | frappe.db.set_value('Roster Details', emp.name, 'to_date', roster_doc.to_date) 30 | print ("S.No. " + str(count) + "." + str(count_emp) + " Roster = " + rost[0] + \ 31 | " Employee = " + emp_doc.employee_name + " Update with Child Tables") 32 | -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20170726_create_tracking_details_old_invoice.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe, erpnext 4 | from rigpl_erpnext.rigpl_erpnext.scheduled_tasks.shipment_data_update import * 5 | from frappe.utils import getdate, add_days, now_datetime 6 | from rigpl_erpnext.rigpl_erpnext.validations.sales_invoice import check_existing_track, create_new_ship_track 7 | 8 | def execute(): 9 | si_list = frappe.db.sql("""SELECT si.name, si.posting_date, si.transporters, si.lr_no 10 | FROM `tabSales Invoice` si, `tabTransporters` tp 11 | WHERE si.docstatus = 1 AND tp.name = si.transporters 12 | AND tp.track_on_shipway = 1 AND si.posting_date > DATE_SUB(NOW(), INTERVAL 360 day) 13 | ORDER BY si.posting_date DESC""", as_dict=1) 14 | 15 | #create_new_ship_track 16 | for si in si_list: 17 | si_doc = frappe.get_doc('Sales Invoice', si.name) 18 | #print str((si)) 19 | 20 | if si.posting_date >= getdate(add_days(now_datetime (), -30)): 21 | #print(str(si.name) + " " + str(si.transporters) + " " + si.lr_no + " " + str(si.posting_date)) 22 | exist_track = check_existing_track(si.name) 23 | if exist_track: 24 | pass 25 | else: 26 | create_new_ship_track(si_doc) 27 | print ("Created New Tracking For SI # " + si_doc.name) 28 | -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20170914_create_brc_tracking.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe, erpnext 4 | from rigpl_erpnext.rigpl_erpnext.validations.sales_invoice import new_brc_tracking 5 | 6 | def execute(): 7 | si_list = frappe.db.sql("""SELECT si.name, si.posting_date, si.customer 8 | FROM `tabSales Invoice` si, `tabAddress` ad, `tabSales Taxes and Charges Template` stct 9 | WHERE si.docstatus = 1 AND si.shipping_address_name = ad.name AND ad.country != 'India' 10 | AND si.taxes_and_charges = stct.name AND stct.is_export = 1 11 | ORDER BY si.posting_date ASC""", as_list =1) 12 | if si_list: 13 | for si in si_list: 14 | si_doc = frappe.get_doc("Sales Invoice", si[0]) 15 | new_brc_tracking(si_doc, frappe) 16 | print ("Created New BRC for Invoice # " + si[0] + " of Customer: " + si[2] + " dated: " + str(si[1])) 17 | 18 | def update_grand_total(): 19 | brc_list = frappe.db.sql("""SELECT name FROM `tabBRC MEIS Tracking`""", as_list=1) 20 | for brc in brc_list: 21 | brc_doc = frappe.get_doc('BRC MEIS Tracking', brc[0]) 22 | brc_doc.save() 23 | print("BRC # " + brc[0] + " Updated") -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20171116_update_expiry_date_quotation.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe, erpnext 4 | 5 | def execute(): 6 | no_valid_till = frappe.db.sql("""SELECT name, valid_till, quote_valid FROM `tabQuotation` 7 | WHERE quote_valid IS NOT NULL AND valid_till IS NULL ORDER BY creation ASC""", as_list=1) 8 | no_date = frappe.db.sql("""SELECT name, transaction_date FROM `tabQuotation` 9 | WHERE quote_valid IS NULL AND valid_till IS NULL ORDER BY creation DESC""", as_list=1) 10 | for quote in no_valid_till: 11 | frappe.db.set_value("Quotation", quote[0], "valid_till", quote[2]) 12 | print ("Quotation No: " + quote[0] + " Changed Expiry Date from = " + str(quote[1]) + " to New Expiry Date = " + str(quote[2])) 13 | 14 | for quote in no_date: 15 | frappe.db.set_value("Quotation", quote[0], "valid_till", quote[1]) 16 | print ("Quotation No: " + str(quote[0]) + " Has NO DATE But Updated the Validity = " + str(quote[1])) -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20180710_restore_deleted_sales_team_data.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | from frappe.core.doctype.deleted_document.deleted_document import restore 6 | 7 | def execute(): 8 | deleted_steam = frappe.db.sql("""SELECT name FROM `tabDeleted Document` 9 | WHERE deleted_doctype = 'Sales Team' AND restored = 0""", as_list=1) 10 | for delitem in deleted_steam: 11 | restore(delitem[0]) 12 | print("Restored: " + delitem[0]) -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20181222_update_plist.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | 5 | def execute(): 6 | table_list = ["Quotation", "Sales Order", "Delivery Note", "Sales Invoice"] 7 | for t in table_list: 8 | table_name = '`tab' + t + ' Item`' 9 | dt_name = t + ' Item' 10 | qod_no_pl = frappe.db.sql("""SELECT name, parent ,item_code FROM %s 11 | WHERE price_list IS NULL 12 | ORDER BY creation""" % (table_name), as_list=1) 13 | if qod_no_pl: 14 | for qod in qod_no_pl: 15 | qod_doc = frappe.get_doc(dt_name, qod[0]) 16 | dt_pl = frappe.get_value(t, qod[1], "selling_price_list") 17 | if dt_pl: 18 | frappe.db.set_value(dt_name, qod[0], "price_list", dt_pl) 19 | print("Updated Price List for " + t + "# " \ 20 | + qod_doc.parent + " Item No: " + str(qod_doc.idx)) 21 | else: 22 | print( t + " # " + qod_doc.parent + " Does Not have Price List") 23 | frappe.db.commit() 24 | print("Committed Changes") -------------------------------------------------------------------------------- /rigpl_erpnext/patches/20190924_daily_call_communication.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | 5 | def execute(): 6 | comm_list = frappe.db.sql("""SELECT name, owner, sender FROM `tabCommunication` 7 | WHERE communication_subtype = 'Sales Related' AND sender IS NULL""", as_dict=1) 8 | for comm in comm_list: 9 | frappe.db.set_value('Communication', comm.name, 'sender', comm.owner) 10 | print('Update Communication # ' + comm.name) 11 | print(len(comm_list)) -------------------------------------------------------------------------------- /rigpl_erpnext/patches/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/patches/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/patches/cform_letterhead_si_so.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | 6 | def execute(): 7 | frappe.db.sql("""UPDATE `tabSales Invoice` si, `tabSales Taxes and Charges Master` sm 8 | SET si.c_form_applicable = sm.c_form_applicable, 9 | si.letter_head = sm.letter_head 10 | WHERE si.taxes_and_charges = sm.name """) 11 | 12 | frappe.db.sql("""UPDATE `tabSales Order` so, `tabSales Taxes and Charges Master` sm 13 | SET so.letter_head = sm.letter_head 14 | WHERE so.taxes_and_charges = sm.name """) 15 | -------------------------------------------------------------------------------- /rigpl_erpnext/patches/item_master/20140830_item.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | 6 | -------------------------------------------------------------------------------- /rigpl_erpnext/patches/item_master/20170720_set_customs_tariff_template.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2015, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | 8 | def execute (): 9 | templates = frappe.db.sql("""SELECT it.name, ivr.allowed_values FROM `tabItem` it, `tabItem Variant Restrictions` ivr 10 | WHERE it.has_variants = 1 AND ivr.parent = it.name AND ivr.attribute = 'CETSH Number'""", as_list =1) 11 | for t in templates: 12 | frappe.db.set_value("Item", t[0], "country_of_origin", 'India') 13 | frappe.db.set_value("Item", t[0], 'customs_tariff_number', t[1]) 14 | print ("Updated Item " + t[0] + "Customs Tariff = " + t[1]) -------------------------------------------------------------------------------- /rigpl_erpnext/patches/item_master/20170721_change_field_name_templates.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2015, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | 8 | def execute(): 9 | print ("Welcome to the Script to Change the Field Names of Templates Programmatically") 10 | attribute_name = raw_input("Enter the Attribute Name you want to Change exactly as in ERP: ") 11 | new_field_name = raw_input("Enter the Field Name for Website for above attribute: ") 12 | #item_name_like = raw_input("Enter the Items Like (Hit Enter if NO Value): ") 13 | 14 | change_list = frappe.db.sql("""SELECT iva.name, iva.parent, iva.attribute, iva.prefix, iva.field_name, iva.suffix 15 | FROM `tabItem Variant Attribute` iva, `tabItem` it 16 | WHERE iva.parent = it.name AND it.has_variants = 1 AND iva.attribute = '%s' 17 | ORDER BY iva.parent, iva.idx""" %(attribute_name), as_list = 1) 18 | 19 | for i in change_list: 20 | frappe.db.sql("""UPDATE `tabItem Variant Attribute` 21 | SET field_name = '%s' 22 | WHERE name = '%s' AND field_name != 'Material'"""%(new_field_name, i[0])) -------------------------------------------------------------------------------- /rigpl_erpnext/patches/item_master/20170730_item_route_without_special_characters.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2015, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | import re 8 | 9 | def execute(): 10 | items = frappe.db.sql("""SELECT name FROM `tabItem`""", as_list=1) 11 | for it in items: 12 | it_doc = frappe.get_doc("Item", it[0]) 13 | route_name = (re.sub('[^A-Za-z0-9]+', ' ', it_doc.item_name)) 14 | acceptable_route = frappe.db.get_value('Item Group', it_doc.item_group, 'route') + '/' + \ 15 | it_doc.scrub(route_name) 16 | 17 | if it_doc.route != acceptable_route: 18 | frappe.db.set_value('Item', it[0], 'route', acceptable_route) 19 | #it_doc.route_name = acceptable_route 20 | print ("Item Code: " + it[0] + " Route Changed") -------------------------------------------------------------------------------- /rigpl_erpnext/patches/item_master/20181004_Change_Attribute_Value.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2015, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | 8 | def execute(): 9 | print ("Welcome to the Script to Change the Attribute Value of Item Code Programmatically") 10 | item_code = input("Enter the Item Code you want to Change exactly as in ERP: ") 11 | attr_name = input("Enter the Field Name for Item to be Changed: ") 12 | attr_value = input("Enter the New Value: ") 13 | 14 | change_list = frappe.db.sql("""SELECT iva.name, iva.parent, iva.attribute, iva.attribute_value 15 | FROM `tabItem Variant Attribute` iva 16 | WHERE iva.parent = '%s' AND iva.attribute = '%s' 17 | ORDER BY iva.parent, iva.idx""" %(item_code, attr_name), as_list = 1) 18 | 19 | if change_list: 20 | for i in change_list: 21 | frappe.db.sql("""UPDATE `tabItem Variant Attribute` 22 | SET attribute_value = '%s' 23 | WHERE name = '%s' """%(attr_value, i[0])) -------------------------------------------------------------------------------- /rigpl_erpnext/patches/item_master/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/patches/item_master/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/patches/manual_patches/20190123_department_update.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | 5 | def execute(): 6 | dt_list = ["Employee", "Leave Application", "Salary Slip", "Expense Claim", "Attendance"] 7 | for dt in dt_list: 8 | print("Checking Department for all " + dt) 9 | mysql_table = 'tab' + dt 10 | list_of_doc = frappe.db.sql("""SELECT name FROM `%s` 11 | WHERE department IS NULL"""%(mysql_table), as_list=1) 12 | for docs in list_of_doc: 13 | frappe.db.set_value(dt, docs[0], "department", "All Departments") 14 | print("Updated Department for " + dt + " " + docs[0] + " to All Departments") -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/custom/expense_claim.json: -------------------------------------------------------------------------------- 1 | { 2 | "custom_fields": [ 3 | { 4 | "_assign": null, 5 | "_comments": null, 6 | "_liked_by": null, 7 | "_user_tags": null, 8 | "allow_on_submit": 1, 9 | "bold": 0, 10 | "collapsible": 0, 11 | "collapsible_depends_on": null, 12 | "columns": 0, 13 | "creation": "2017-08-02 09:51:31.796738", 14 | "default": null, 15 | "depends_on": null, 16 | "description": null, 17 | "docstatus": 0, 18 | "dt": "Expense Claim", 19 | "fieldname": "pay_with_salary", 20 | "fieldtype": "Check", 21 | "hidden": 0, 22 | "idx": 6, 23 | "ignore_user_permissions": 0, 24 | "ignore_xss_filter": 0, 25 | "in_filter": 0, 26 | "in_filter_dash": 0, 27 | "in_global_search": 0, 28 | "in_list_view": 0, 29 | "in_standard_filter": 0, 30 | "insert_after": "column_break0", 31 | "label": "Pay with Salary", 32 | "modified": "2017-08-02 09:51:31.796738", 33 | "modified_by": "Administrator", 34 | "name": "Expense Claim-pay_with_salary", 35 | "no_copy": 0, 36 | "options": null, 37 | "owner": "Administrator", 38 | "parent": null, 39 | "parentfield": null, 40 | "parenttype": null, 41 | "permlevel": 1, 42 | "precision": "", 43 | "print_hide": 0, 44 | "print_hide_if_no_value": 0, 45 | "print_width": null, 46 | "read_only": 0, 47 | "report_hide": 0, 48 | "reqd": 0, 49 | "search_index": 0, 50 | "unique": 0, 51 | "width": null 52 | } 53 | ], 54 | "custom_perms": [], 55 | "doctype": "Expense Claim", 56 | "property_setters": [], 57 | "sync_on_migrate": 1 58 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/custom/journal_entry_account.json: -------------------------------------------------------------------------------- 1 | { 2 | "custom_fields": [ 3 | { 4 | "_assign": null, 5 | "_comments": null, 6 | "_liked_by": null, 7 | "_user_tags": null, 8 | "allow_on_submit": 0, 9 | "bold": 0, 10 | "collapsible": 0, 11 | "collapsible_depends_on": null, 12 | "creation": "2011-07-14 18:20:47", 13 | "default": null, 14 | "depends_on": null, 15 | "description": "Enter the description for each line amount", 16 | "docstatus": 0, 17 | "dt": "Journal Entry Account", 18 | "fieldname": "line_remarks", 19 | "fieldtype": "Text", 20 | "hidden": 0, 21 | "idx": 19, 22 | "ignore_user_permissions": 0, 23 | "ignore_xss_filter": 0, 24 | "in_filter": 0, 25 | "in_list_view": 0, 26 | "in_standard_filter": 0, 27 | "insert_after": "credit", 28 | "label": "Line Remarks", 29 | "modified": "2016-09-03 18:29:34.539861", 30 | "modified_by": "aditya@rigpl.com", 31 | "name": "Journal Voucher Detail-Line Remarks", 32 | "no_copy": 0, 33 | "options": null, 34 | "owner": "aditya@rigpl.com", 35 | "parent": null, 36 | "parentfield": null, 37 | "parenttype": null, 38 | "permlevel": 0, 39 | "precision": null, 40 | "print_hide": 0, 41 | "print_hide_if_no_value": 0, 42 | "print_width": null, 43 | "read_only": 0, 44 | "report_hide": 0, 45 | "reqd": 0, 46 | "search_index": 0, 47 | "unique": 0, 48 | "width": "346" 49 | } 50 | ], 51 | "custom_perms": [], 52 | "doctype": "Journal Entry Account", 53 | "property_setters": [], 54 | "sync_on_migrate": 1 55 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/custom/todo.json: -------------------------------------------------------------------------------- 1 | { 2 | "custom_fields": [ 3 | { 4 | "_assign": null, 5 | "_comments": null, 6 | "_liked_by": null, 7 | "_user_tags": null, 8 | "allow_on_submit": 0, 9 | "bold": 0, 10 | "collapsible": 0, 11 | "collapsible_depends_on": null, 12 | "columns": 0, 13 | "creation": "2016-07-24 02:18:25", 14 | "default": null, 15 | "depends_on": null, 16 | "description": null, 17 | "docstatus": 0, 18 | "dt": "ToDo", 19 | "fieldname": "type", 20 | "fieldtype": "Select", 21 | "hidden": 0, 22 | "idx": 13, 23 | "ignore_user_permissions": 0, 24 | "ignore_xss_filter": 0, 25 | "in_filter": 0, 26 | "in_filter_dash": 0, 27 | "in_global_search": 0, 28 | "in_list_view": 0, 29 | "in_standard_filter": 1, 30 | "insert_after": "reference_name", 31 | "label": "Type", 32 | "modified": "2017-11-16 13:08:27.164673", 33 | "modified_by": "Administrator", 34 | "name": "ToDo-type", 35 | "no_copy": 0, 36 | "options": "General\nC-Form Reminder\nPayment Reminder\nSales Related", 37 | "owner": "Administrator", 38 | "parent": null, 39 | "parentfield": null, 40 | "parenttype": null, 41 | "permlevel": 0, 42 | "precision": null, 43 | "print_hide": 0, 44 | "print_hide_if_no_value": 0, 45 | "print_width": null, 46 | "read_only": 1, 47 | "report_hide": 0, 48 | "reqd": 0, 49 | "search_index": 0, 50 | "unique": 0, 51 | "width": null 52 | } 53 | ], 54 | "custom_perms": [], 55 | "doctype": "ToDo", 56 | "property_setters": [], 57 | "sync_on_migrate": 1 58 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/custom/uom.json: -------------------------------------------------------------------------------- 1 | { 2 | "custom_fields": [ 3 | { 4 | "_assign": null, 5 | "_comments": null, 6 | "_liked_by": null, 7 | "_user_tags": null, 8 | "allow_on_submit": 0, 9 | "bold": 0, 10 | "collapsible": 0, 11 | "collapsible_depends_on": null, 12 | "columns": 0, 13 | "creation": "2016-04-25 11:05:53", 14 | "default": null, 15 | "depends_on": null, 16 | "description": null, 17 | "docstatus": 0, 18 | "dt": "UOM", 19 | "fieldname": "uoms", 20 | "fieldtype": "Table", 21 | "hidden": 0, 22 | "idx": 3, 23 | "ignore_user_permissions": 0, 24 | "ignore_xss_filter": 0, 25 | "in_filter": 0, 26 | "in_filter_dash": 0, 27 | "in_global_search": 0, 28 | "in_list_view": 0, 29 | "in_standard_filter": 0, 30 | "insert_after": null, 31 | "label": "UOMS", 32 | "modified": "2017-11-16 13:08:27.286631", 33 | "modified_by": "Administrator", 34 | "name": "UOM-uoms", 35 | "no_copy": 0, 36 | "options": "UOM Conversion Detail", 37 | "owner": "Administrator", 38 | "parent": null, 39 | "parentfield": null, 40 | "parenttype": null, 41 | "permlevel": 0, 42 | "precision": null, 43 | "print_hide": 0, 44 | "print_hide_if_no_value": 0, 45 | "print_width": null, 46 | "read_only": 0, 47 | "report_hide": 0, 48 | "reqd": 0, 49 | "search_index": 0, 50 | "unique": 0, 51 | "width": null 52 | } 53 | ], 54 | "custom_perms": [], 55 | "doctype": "UOM", 56 | "property_setters": [], 57 | "sync_on_migrate": 1 58 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/attendance_time_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/attendance_time_table/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/attendance_time_table/attendance_time_table.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and contributors 2 | # For license information, please see license.txt 3 | 4 | from __future__ import unicode_literals 5 | import frappe 6 | from frappe.model.document import Document 7 | 8 | class AttendanceTimeTable(Document): 9 | pass 10 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/brc_meis_tracking/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/brc_meis_tracking/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/brc_meis_tracking/brc_meis_tracking.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('BRC MEIS Tracking', { 5 | refresh: function(frm) { 6 | 7 | }, 8 | onload: function(frm){ 9 | frm.set_query("reference_doctype", function(doc) { 10 | return { 11 | "filters": [ 12 | ['name', 'in', ['Sales Invoice', 'Purchase Invoice']] 13 | ] 14 | }; 15 | }); 16 | frm.set_query("reference_name", function(doc) { 17 | return { 18 | "filters": { 19 | "docstatus": 1 20 | } 21 | }; 22 | }); 23 | frm.set_query("customer_or_supplier", function(doc) { 24 | return { 25 | "filters": [ 26 | ['name', 'in', ['Customer', 'Supplier']] 27 | ] 28 | }; 29 | }); 30 | }, 31 | }); 32 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/brc_meis_tracking/test_brc_meis_tracking.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: BRC MEIS Tracking", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new BRC MEIS Tracking 13 | () => frappe.tests.make('BRC MEIS Tracking', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/brc_meis_tracking/test_brc_meis_tracking.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2017, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestBRCMEISTracking(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/carrier_tracking/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/carrier_tracking/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/carrier_tracking/_test_carrier_tracking.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Carrier Tracking", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially('Carrier Tracking', [ 12 | // insert a new Carrier Tracking 13 | () => frappe.tests.make([ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/carrier_tracking/templates/carrier_tracking_row.html: -------------------------------------------------------------------------------- 1 |
2 | {{ title }} 3 |
4 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/carrier_tracking/test_carrier_tracking.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Carrier Tracking", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially('Carrier Tracking', [ 12 | // insert a new Carrier Tracking 13 | () => frappe.tests.make([ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/carrier_tracking/test_carrier_tracking.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2017, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestCarrierTracking(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/carrier_tracking_notifications/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/carrier_tracking_notifications/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/carrier_tracking_notifications/carrier_tracking_notifications.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class CarrierTrackingNotifications(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/courier_tracking_scans/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/courier_tracking_scans/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/courier_tracking_scans/courier_tracking_scans.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2017, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class CourierTrackingScans(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/create_bulk_production_orders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/create_bulk_production_orders/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/create_bulk_production_orders/create_bulk_production_orders.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Create Bulk Production Orders', { 5 | get_sales_orders: function(frm) { 6 | frappe.call({ 7 | doc: frm.doc, 8 | method: "get_open_sales_orders", 9 | callback: function(r) { 10 | refresh_field("sales_orders"); 11 | } 12 | }); 13 | }, 14 | get_items: function(frm) { 15 | frappe.call({ 16 | doc: frm.doc, 17 | method: "get_items", 18 | callback: function(r) { 19 | refresh_field("items"); 20 | } 21 | }); 22 | }, 23 | create_production_orders: function(frm) { 24 | frappe.call({ 25 | doc: frm.doc, 26 | method: "raise_production_orders" 27 | }); 28 | cur_frm.clear_table("items"); 29 | cur_frm.refresh_fields(); 30 | }, 31 | }); 32 | 33 | cur_frm.cscript.refresh = function(doc) { 34 | cur_frm.disable_save(); 35 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/create_bulk_production_orders/test_create_bulk_production_orders.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2015, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | # test_records = frappe.get_test_records('Create Bulk Production Orders') 10 | 11 | class TestCreateBulkProductionOrders(unittest.TestCase): 12 | pass 13 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/daily_call/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/daily_call/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/daily_call/test_daily_call.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Daily Call", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Daily Call 13 | () => frappe.tests.make('Daily Call', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/daily_call/test_daily_call.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestDailyCall(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/daily_call_details/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/daily_call_details/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/daily_call_details/daily_call_details.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class DailyCallDetails(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/employee_advance/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/employee_advance/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/employee_advance/employee_advance.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Employee Advance', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | 10 | frappe.ui.form.on('Employee Loan Detail', "loan_amount", function(frm, cdt, cdn){ 11 | var d = locals[cdt][cdn] 12 | frappe.model.set_value(cdt, cdn, "repayment_period", 1); 13 | frappe.model.set_value(cdt, cdn, "emi", d.loan_amount/d.repayment_period) 14 | 15 | cur_frm.refresh_fields(); 16 | }); 17 | 18 | frappe.ui.form.on('Employee Loan Detail', "emi", function(frm, cdt, cdn){ 19 | var d = locals[cdt][cdn] 20 | var rp = d.loan_amount/d.emi 21 | if (d.emi < 0){ 22 | frappe.throw("EMI should be greater than ZERO") 23 | } 24 | if ((d.emi % 100)=== 0){ 25 | frappe.model.set_value(cdt, cdn, "repayment_period", rp); 26 | } else { 27 | var emi = Math.ceil(d.emi/100)*100 28 | rp = d.loan_amount/emi 29 | frappe.model.set_value(cdt, cdn, "repayment_period", rp); 30 | frappe.model.set_value(cdt, cdn, "emi", emi); 31 | } 32 | cur_frm.refresh_fields(); 33 | }); 34 | 35 | 36 | //Function to check if Value is integer or not 37 | function isInt(value) { 38 | return !isNaN(value) && 39 | parseInt(Number(value)) == value && 40 | !isNaN(parseInt(value, 10)); 41 | }; 42 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/employee_advance/employee_loan.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Employee Loan', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | 10 | frappe.ui.form.on('Employee Loan Detail', "loan_amount", function(frm, cdt, cdn){ 11 | var d = locals[cdt][cdn] 12 | frappe.model.set_value(cdt, cdn, "repayment_period", 1); 13 | frappe.model.set_value(cdt, cdn, "emi", d.loan_amount/d.repayment_period) 14 | 15 | cur_frm.refresh_fields(); 16 | }); 17 | 18 | frappe.ui.form.on('Employee Loan Detail', "emi", function(frm, cdt, cdn){ 19 | var d = locals[cdt][cdn] 20 | var rp = d.loan_amount/d.emi 21 | if (d.emi < 0){ 22 | frappe.throw("EMI should be greater than ZERO") 23 | } 24 | if ((d.emi % 100)=== 0){ 25 | frappe.model.set_value(cdt, cdn, "repayment_period", rp); 26 | } else { 27 | var emi = Math.ceil(d.emi/100)*100 28 | rp = d.loan_amount/emi 29 | frappe.model.set_value(cdt, cdn, "repayment_period", rp); 30 | frappe.model.set_value(cdt, cdn, "emi", emi); 31 | } 32 | cur_frm.refresh_fields(); 33 | }); 34 | 35 | 36 | //Function to check if Value is integer or not 37 | function isInt(value) { 38 | return !isNaN(value) && 39 | parseInt(Number(value)) == value && 40 | !isNaN(parseInt(value, 10)); 41 | }; -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/employee_advance/test_employee_advance.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2017, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestEmployeeAdvance(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/employee_loan_detail/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/employee_loan_detail/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/employee_loan_detail/employee_loan_detail.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2015, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class EmployeeLoanDetail(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/important_documents/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/important_documents/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/important_documents/test_important_documents.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Drawings and Standards", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Drawings and Standards 13 | () => frappe.tests.make('Drawings and Standards', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/important_documents/test_important_documents.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestDrawingsandStandards(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/indiamart_pull_leads/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/indiamart_pull_leads/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/indiamart_pull_leads/indiamart_pull_leads.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | //cur_frm.cscript.refresh = function(doc) { 5 | // cur_frm.disable_save(); 6 | //} 7 | frappe.ui.form.on('IndiaMart Pull Leads', { 8 | refresh: function(frm) { 9 | frm.disable_save(); 10 | } 11 | }); -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/indiamart_pull_leads/indiamart_pull_leads.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | from rigpl_erpnext.rigpl_erpnext.scheduled_tasks.indiamart import execute 7 | from frappe.model.document import Document 8 | 9 | 10 | class IndiaMartPullLeads(Document): 11 | 12 | def get_leads(self): 13 | execute() 14 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/indiamart_pull_leads/test_indiamart_pull_leads.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: IndiaMart Pull Leads", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new IndiaMart Pull Leads 13 | () => frappe.tests.make('IndiaMart Pull Leads', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/indiamart_pull_leads/test_indiamart_pull_leads.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestIndiaMartPullLeads(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/item_variant_restrictions/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/item_variant_restrictions/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/item_variant_restrictions/item_variant_restrictions.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2015, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class ItemVariantRestrictions(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/pickup_schedule_details/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/pickup_schedule_details/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/pickup_schedule_details/pickup_schedule_details.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class PickupScheduleDetails(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/rigpl_settings/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/rigpl_settings/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/rigpl_settings/rigpl_settings.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('RIGPL Settings', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/rigpl_settings/rigpl_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class RIGPLSettings(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/rigpl_settings/test_rigpl_settings.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: RIGPL Settings", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new RIGPL Settings 13 | () => frappe.tests.make('RIGPL Settings', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/rigpl_settings/test_rigpl_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestRIGPLSettings(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipment_package/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/shipment_package/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipment_package/shipment_package.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Shipment Package', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipment_package/shipment_package.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | import math 9 | 10 | class ShipmentPackage(Document): 11 | def validate(self): 12 | if self.uom == 'cm': 13 | volume = self.length * self.width * self.height 14 | if self.volumetric_factor > 0: 15 | vol_wt = volume/self.volumetric_factor 16 | else: 17 | frappe.throw("Volumetric Factor has to be greater than Zero") 18 | frappe.msgprint(str(vol_wt)) 19 | self.volumetric_weight_in_kgs = self.round_up_to_factor(vol_wt, 0.5) + 0.5 20 | 21 | def round_up_to_factor(self, number, factor): 22 | rounded_number = math.ceil(number/factor) * factor 23 | return rounded_number 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipment_package/test_shipment_package.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Shipment Package", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Shipment Package 13 | () => frappe.tests.make('Shipment Package', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipment_package/test_shipment_package.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestShipmentPackage(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipment_package_details/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/shipment_package_details/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipment_package_details/shipment_package_details.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class ShipmentPackageDetails(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipway_settings/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/shipway_settings/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipway_settings/shipway_settings.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Shipway Settings', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipway_settings/test_shipway_settings.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Shipway Settings", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Shipway Settings 13 | () => frappe.tests.make('Shipway Settings', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/shipway_settings/test_shipway_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2017, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestShipwaySettings(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/transporters/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/transporters/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/transporters/test_transporters.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Transporters", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Transporters 13 | () => frappe.tests.make('Transporters', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/transporters/test_transporters.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2017, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestTransporters(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/transporters/transporters.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Transporters', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/transporters/transporters.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013, Rohit Industries Ltd. 2 | # For license information, please see license.txt 3 | 4 | from __future__ import unicode_literals 5 | import frappe 6 | from frappe.model.document import Document 7 | 8 | class Transporters(Document): 9 | def validate(self): 10 | if self.fedex_credentials == 1: 11 | self.track_on_shipway = 0 12 | self.fedex_tracking_only = 0 13 | elif self.track_on_shipway == 1: 14 | self.fedex_tracking_only = 0 15 | self.fedex_credentials = 0 16 | elif self.fedex_tracking_only == 1: 17 | self.track_on_shipway = 0 18 | self.fedex_credentials = 0 -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/trial_tracking/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/trial_tracking/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/trial_tracking/test_records.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "doctype": "Trial Tracking", 4 | "name": "_Test Trial Tracking 1" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/trial_tracking/test_trial_tracking.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013, Rohit Industries Ltd. and Contributors 2 | # See license.txt 3 | from __future__ import unicode_literals 4 | 5 | import frappe 6 | import unittest 7 | 8 | test_records = frappe.get_test_records('Trial Tracking') 9 | 10 | class TestTrialTracking(unittest.TestCase): 11 | pass 12 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/turn_over_discount/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/turn_over_discount/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/turn_over_discount/test_turn_over_discount.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Turn Over Discount", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Turn Over Discount 13 | () => frappe.tests.make('Turn Over Discount', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/turn_over_discount/test_turn_over_discount.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestTurnOverDiscount(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/turn_over_discount/turn_over_discount.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Turn Over Discount', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/turn_over_discount/turn_over_discount.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class TurnOverDiscount(Document): 10 | def validate(self): 11 | others = frappe.db.sql("""SELECT name, customer, fiscal_year FROM `tabTurn Over Discount` 12 | WHERE docstatus != 2 AND customer = '%s' AND name <> '%s' 13 | AND fiscal_year = '%s'"""%(self.customer, self.fiscal_year, self.name), as_dict=1) 14 | if others: 15 | frappe.throw("Already TOD# {} exists for Customer {} \ 16 | and FY: {}".format(others[0].name, others[0].customer, others[0].fiscal_year)) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_permission_rules/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/user_permission_rules/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_permission_rules/user_permission_rules.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class UserPermissionRules(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_permission_settings/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/user_permission_settings/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_permission_settings/test_user_permission_settings.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: User Permission Settings", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new User Permission Settings 13 | () => frappe.tests.make('User Permission Settings', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_permission_settings/test_user_permission_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestUserPermissionSettings(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_permission_settings/user_permission_settings.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('User Permission Settings', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_permission_settings/user_permission_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class UserPermissionSettings(Document): 10 | def validate(self): 11 | for rule in self.rules: 12 | if rule.role: 13 | if rule.apply_to_all_roles == 1: 14 | rule.apply_to_all_roles = 0 15 | frappe.msgprint("Removed Apply to All Role in Row# {} as \ 16 | there is Role {} Mentioned".format(rule.idx, rule.role)) 17 | 18 | if rule.allow_doctype_value: 19 | if rule.apply_to_all_values == 1: 20 | rule.apply_to_all_values = 0 21 | frappe.msgprint("Removed Apply to Values in Row# {} as \ 22 | there is a {} Value {} Mentioned".\ 23 | format(rule.idx, rule.allow_doctype, rule.allow_doctype_value)) 24 | 25 | if rule.applicable_for_doctype: 26 | if rule.apply_to_all_doctypes == 1: 27 | rule.apply_to_all_doctypes = 0 28 | frappe.msgprint("Removed Apply to All Doctypes in Row# {} as \ 29 | there is a {} Value Mentioned".\ 30 | format(rule.idx, rule.applicable_for_doctype)) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_share_rules/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/user_share_rules/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_share_rules/test_user_share_rules.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: User Share Rules", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new User Share Rules 13 | () => frappe.tests.make('User Share Rules', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_share_rules/test_user_share_rules.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestUserShareRules(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_share_rules/user_share_rules.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('User Share Rules', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_share_rules/user_share_rules.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class UserShareRules(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_share_settings/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/doctype/user_share_settings/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_share_settings/test_user_share_settings.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: User Share Settings", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new User Share Settings 13 | () => frappe.tests.make('User Share Settings', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_share_settings/test_user_share_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestUserShareSettings(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_share_settings/user_share_settings.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('User Share Settings', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/doctype/user_share_settings/user_share_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class UserShareSettings(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/page/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/page/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/print_format/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/print_format/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/print_format/basic_price_only/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/print_format/basic_price_only/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/print_format/daily_call/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/print_format/daily_call/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/print_format/quotation_basic_price_only/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/print_format/quotation_basic_price_only/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/print_format/quotation_discounts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/print_format/quotation_discounts/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/print_format/quotation_no_discounts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/print_format/quotation_no_discounts/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/print_format/so_discounts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/print_format/so_discounts/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/print_format/so_no_discounts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/print_format/so_no_discounts/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/print_format/technical_bid/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/print_format/technical_bid/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/quality.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint, _ 5 | 6 | def fn_base_metal(doc, base_material): 7 | return { 8 | "HSS": 'H', 9 | "Carbide": 'C', 10 | }.get(base_material,"") 11 | 12 | def fn_is_rm(doc, is_rm): 13 | return { 14 | "Yes": 'R', 15 | }.get(is_rm,"") 16 | 17 | def autoname(doc, method=None): 18 | RM = fn_is_rm(doc, doc.is_rm) 19 | BM = fn_base_metal(doc, doc.base_material) 20 | QLT = doc.material 21 | name_inter = '{0}{1}{2}{3}'.format(RM, BM, "-", QLT) 22 | doc.name = name_inter 23 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/address_book_rigpl/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/address_book_rigpl/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/address_book_rigpl/address_book_rigpl.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Address Book RIGPL"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"type", 8 | "label": "type", 9 | "fieldtype": "Select", 10 | "options": "\nOnly Addresses\nOnly Contacts", 11 | "reqd": 1, 12 | "default": "Only Contacts", 13 | }, 14 | { 15 | "fieldname":"customer", 16 | "label": "Customer", 17 | "fieldtype": "Link", 18 | "options": "Customer", 19 | "reqd": 0, 20 | }, 21 | { 22 | "fieldname":"territory", 23 | "label": "Territory", 24 | "fieldtype": "Link", 25 | "options": "Territory", 26 | "reqd": 0, 27 | }, 28 | { 29 | "fieldname":"customer_group", 30 | "label": "Customer Group", 31 | "fieldtype": "Link", 32 | "options": "Customer Group", 33 | "reqd": 0, 34 | }, 35 | { 36 | "fieldname":"customer_type", 37 | "label": "Customer Type", 38 | "fieldtype": "Select", 39 | "options": "\nCompany\nIndividual", 40 | "reqd": 0, 41 | }, 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/address_book_rigpl/address_book_rigpl.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2017-04-17 13:01:59.005558", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2017-04-17 14:39:41.185955", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Address Book RIGPL", 14 | "owner": "Administrator", 15 | "ref_doctype": "Customer", 16 | "report_name": "Address Book RIGPL", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "System Manager" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/attendance_performance_analysis/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/attendance_performance_analysis/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/attendance_performance_analysis/attendance_performance_analysis.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Attendance Performance Analysis"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"from_date", 8 | "label": "From Date", 9 | "fieldtype": "Date", 10 | "default": frappe.datetime.add_days(frappe.datetime.get_today(), -365), 11 | "reqd": 1 12 | }, 13 | { 14 | "fieldname":"to_date", 15 | "label": "To Date", 16 | "fieldtype": "Date", 17 | "default": frappe.datetime.get_today(), 18 | "reqd" : 1 19 | }, 20 | { 21 | "fieldname":"employee", 22 | "label": __("Employee"), 23 | "fieldtype": "Link", 24 | "options": "Employee" 25 | }, 26 | { 27 | "fieldname":"branch", 28 | "label": __("Branch"), 29 | "fieldtype": "Link", 30 | "options": "Branch" 31 | }, 32 | { 33 | "fieldname":"department", 34 | "label": __("Department"), 35 | "fieldtype": "Link", 36 | "options": "Department" 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/attendance_performance_analysis/attendance_performance_analysis.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-04-13 15:30:09.010914", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2016-04-13 16:31:22.605600", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Attendance Performance Analysis", 14 | "owner": "Administrator", 15 | "ref_doctype": "Attendance", 16 | "report_name": "Attendance Performance Analysis", 17 | "report_type": "Script Report" 18 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/brc_tracking/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/brc_tracking/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/brc_tracking/brc_tracking.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["BRC Tracking"] = { 6 | "filters": [ 7 | { 8 | "fieldname":"from_date", 9 | "label": "SB From Date", 10 | "fieldtype": "Date", 11 | "reqd": 0 12 | }, 13 | { 14 | "fieldname":"to_date", 15 | "label": "SB To Date", 16 | "fieldtype": "Date", 17 | "reqd": 0 18 | }, 19 | { 20 | "fieldname":"brc_status", 21 | "label": "BRC Status", 22 | "fieldtype": "Select", 23 | "options": "\nBRC Pending\nBRC Issued\nOFAC" 24 | }, 25 | { 26 | "fieldname":"meis_status", 27 | "label": "MEIS Status", 28 | "fieldtype": "Select", 29 | "options": "\nAll MEIS\nMEIS Pending\nMEIS Claimed\nMEIS Expired\nMEIS Not Applicable" 30 | }, 31 | { 32 | "fieldname":"docstatus", 33 | "label": "Document Status", 34 | "fieldtype": "Select", 35 | "options": "\nDraft\nSubmitted" 36 | }, 37 | 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/brc_tracking/brc_tracking.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2017-09-14 18:56:58.869403", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "json": "{\"add_total_row\": 0, \"sort_by\": \"BRC MEIS Tracking.reference_date\", \"add_totals_row\": 0, \"sort_order\": \"asc\", \"sort_by_next\": \"BRC MEIS Tracking.reference_name\", \"filters\": [], \"sort_order_next\": \"asc\", \"columns\": [[\"name\", \"BRC MEIS Tracking\"], [\"shipping_bill_number\", \"BRC MEIS Tracking\"], [\"bank_ifsc_code\", \"BRC MEIS Tracking\"], [\"brc_number\", \"BRC MEIS Tracking\"], [\"brc_date\", \"BRC MEIS Tracking\"], [\"brc_bill_id\", \"BRC MEIS Tracking\"], [\"reference_doctype\", \"BRC MEIS Tracking\"], [\"reference_name\", \"BRC MEIS Tracking\"], [\"reference_date\", \"BRC MEIS Tracking\"], [\"customer_or_supplier_name\", \"BRC MEIS Tracking\"], [\"customer_or_supplier\", \"BRC MEIS Tracking\"]]}", 11 | "letter_head": "OGL", 12 | "modified": "2017-09-15 10:35:11.131433", 13 | "modified_by": "Administrator", 14 | "module": "RIGPL ERPNext", 15 | "name": "BRC Tracking", 16 | "owner": "Administrator", 17 | "ref_doctype": "BRC MEIS Tracking", 18 | "report_name": "BRC Tracking", 19 | "report_type": "Script Report", 20 | "roles": [ 21 | { 22 | "role": "System Manager" 23 | }, 24 | { 25 | "role": "Accounts User" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/calculate_rol/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/calculate_rol/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/calculate_rol/calculate_rol.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2013-02-28 08:47:44", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "is_standard": "Yes", 9 | "modified": "2014-09-17 10:41:59.260018", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Calculate ROL", 13 | "owner": "Administrator", 14 | "query": "select\n `tabStock Ledger Entry`.posting_date as \"Date:Date:100\",\n `tabStock Ledger Entry`.item_code as \"Item:Link/Item:150\",\n `tabStock Ledger Entry`.warehouse as \"Warehouse:Link/Warehouse:100\",\n `tabStock Ledger Entry`.actual_qty as \"Qty:Float:70\",\n `tabStock Ledger Entry`.qty_after_transaction as \"Balance:Float:70\",\n `tabStock Ledger Entry`.voucher_type as \"Voucher Type::150\",\n `tabStock Ledger Entry`.voucher_no as \"Voucher No::150\",\n `tabStock Ledger Entry`.name as \"Name::100\",\n `tabItem`.re_order_level as \"ROL::70\"\n \n from\n`tabItem` left join `tabStock Ledger Entry` on (`tabItem`.name = `tabStock Ledger Entry`.item_code)\n\nwhere\n`tabStock Ledger Entry`.item_code != \"\"\nand `tabStock Ledger Entry`.item_code = `tabItem`.name\nand `tabStock Ledger Entry`.item_code REGEXP '^RH'\n\nORDER BY\n`tabStock Ledger Entry`.item_code asc, `tabStock Ledger Entry`.name asc", 15 | "ref_doctype": "Stock Ledger Entry", 16 | "report_name": "Calculate ROL", 17 | "report_type": "Script Report" 18 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/cforms_analysis/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/cforms_analysis/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/cforms_analysis/cforms_analysis.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["CForms Analysis"] = { 2 | "filters": [ 3 | 4 | { 5 | "fieldname":"fiscal_year", 6 | "label": "Fiscal Year", 7 | "fieldtype": "Link", 8 | "options": "Fiscal Year" 9 | }, 10 | { 11 | "fieldname":"quarter", 12 | "label": "Quarter", 13 | "fieldtype": "Select", 14 | "options": "\nQ1\nQ2\nQ3\nQ4" 15 | }, 16 | { 17 | "fieldname":"customer", 18 | "label": "Customer", 19 | "fieldtype": "Link", 20 | "options": "Customer" 21 | }, 22 | { 23 | "fieldname":"status", 24 | "label": "Status", 25 | "fieldtype": "Select", 26 | "options": "Not Received\nReceived", 27 | "reqd" : 1 28 | }, 29 | { 30 | "fieldname":"letter_head", 31 | "label": "Letter Head", 32 | "fieldtype": "Link", 33 | "options": "Letter Head" 34 | }, 35 | { 36 | "fieldname":"date", 37 | "label": "C-Forms upto this Date", 38 | "fieldtype": "Date" 39 | }, 40 | { 41 | "fieldname":"summary", 42 | "label": "Summary", 43 | "fieldtype": "Check" 44 | }, 45 | ] 46 | } 47 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/cforms_analysis/cforms_analysis.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "creation": "2014-09-04 23:55:16.118145", 4 | "disabled": 0, 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "idx": 1, 8 | "is_standard": "Yes", 9 | "modified": "2018-11-17 12:30:39.220905", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "CForms Analysis", 13 | "owner": "Administrator", 14 | "prepared_report": 0, 15 | "ref_doctype": "C-Form", 16 | "report_name": "CForms Analysis", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "Accounts User" 21 | }, 22 | { 23 | "role": "Accounts Manager" 24 | }, 25 | { 26 | "role": "Regional Representative" 27 | }, 28 | { 29 | "role": "Sales Representative" 30 | }, 31 | { 32 | "role": "Customer" 33 | } 34 | ] 35 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/compare_pricing/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/compare_pricing/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/compare_pricing/compare_pricing.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-07-08 17:02:08.541544", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2016-07-08 17:02:08.541544", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Compare Pricing", 14 | "owner": "Administrator", 15 | "ref_doctype": "Price List", 16 | "report_name": "Compare Pricing", 17 | "report_type": "Script Report" 18 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/courier_tracking_rigpl/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/courier_tracking_rigpl/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/courier_tracking_rigpl/courier_tracking_rigpl.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2017-08-01 11:44:26.467886", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "json": "{\"add_total_row\": 0, \"sort_by\": \"Carrier Tracking.name\", \"add_totals_row\": 0, \"sort_order\": \"asc\", \"sort_by_next\": null, \"filters\": [[\"Carrier Tracking\", \"status\", \"=\", \"No Information\"]], \"sort_order_next\": \"desc\", \"columns\": [[\"name\", \"Carrier Tracking\"], [\"status\", \"Carrier Tracking\"], [\"carrier_name\", \"Carrier Tracking\"], [\"awb_number\", \"Carrier Tracking\"], [\"receiver_name\", \"Carrier Tracking\"], [\"document\", \"Carrier Tracking\"], [\"document_name\", \"Carrier Tracking\"], [\"invoice_integrity\", \"Carrier Tracking\"], [\"posted_to_shipway\", \"Carrier Tracking\"], [\"creation\", \"Carrier Tracking\"]]}", 11 | "letter_head": "OGL", 12 | "modified": "2017-09-17 20:32:03.259495", 13 | "modified_by": "Administrator", 14 | "module": "RIGPL ERPNext", 15 | "name": "Courier Tracking RIGPL", 16 | "owner": "aditya@rigpl.com", 17 | "ref_doctype": "Carrier Tracking", 18 | "report_name": "Courier Tracking RIGPL", 19 | "report_type": "Script Report", 20 | "roles": [ 21 | { 22 | "role": "System Manager" 23 | }, 24 | { 25 | "role": "Dispatch RIGPL" 26 | }, 27 | { 28 | "role": "Accounts User" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/customers_with_so/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/customers_with_so/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/customers_with_so/customers_with_so.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["Customers with SO"] = { 2 | "filters": [ 3 | { 4 | "fieldname":"customer", 5 | "label": "Customer", 6 | "fieldtype": "Link", 7 | "options": "Customer" 8 | }, 9 | { 10 | "fieldname":"territory", 11 | "label": "Territory", 12 | "fieldtype": "Link", 13 | "options": "Territory", 14 | "reqd" : 0 15 | }, 16 | { 17 | "fieldname":"sales_person", 18 | "label": "Sales Person", 19 | "fieldtype": "Link", 20 | "options": "Sales Person", 21 | "reqd" : 0 22 | }, 23 | { 24 | "fieldname":"sales_partner", 25 | "label": "Sales Partner", 26 | "fieldtype": "Link", 27 | "options": "Sales Partner", 28 | "reqd" : 0 29 | }, 30 | { 31 | "fieldtype": "Break" 32 | }, 33 | { 34 | "fieldname":"from_date", 35 | "label": "From Date", 36 | "fieldtype": "Date", 37 | "reqd": 1 38 | }, 39 | { 40 | "fieldname":"to_date", 41 | "label": "To Date", 42 | "fieldtype": "Date", 43 | "default": frappe.datetime.get_today(), 44 | "reqd": 1 45 | }, 46 | { 47 | "fieldname":"disabled", 48 | "label": "Show Disabled", 49 | "fieldtype": "Check", 50 | "default": 0, 51 | } 52 | ] 53 | } 54 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/customers_with_so/customers_with_so.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2013-05-28 23:55:29", 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "is_standard": "Yes", 8 | "modified": "2014-09-17 10:42:36.008823", 9 | "modified_by": "Administrator", 10 | "module": "RIGPL ERPNext", 11 | "name": "Customers with SO", 12 | "owner": "Administrator", 13 | "ref_doctype": "Campaign", 14 | "report_name": "Customers with SO", 15 | "report_type": "Script Report" 16 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/dcr_analysis_rigpl/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/dcr_analysis_rigpl/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/dcr_analysis_rigpl/dcr_analysis_rigpl.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["DCR Analysis RIGPL"] = { 6 | "filters": [ 7 | { 8 | "fieldname":"from_date", 9 | "label": "From Date", 10 | "fieldtype": "Date", 11 | "reqd": 1, 12 | "default": frappe.datetime.add_months(frappe.datetime.get_today(), -3), 13 | }, 14 | { 15 | "fieldname":"to_date", 16 | "label": "To Date", 17 | "fieldtype": "Date", 18 | "default": frappe.datetime.get_today(), 19 | "reqd": 1, 20 | }, 21 | { 22 | "fieldname":"document", 23 | "label": "Lead or Customer", 24 | "fieldtype": "Link", 25 | "options": "DocType", 26 | "reqd" : 0 27 | }, 28 | { 29 | "fieldname":"docname", 30 | "label": "Name of Lead or Customer", 31 | "fieldtype": "Dynamic Link", 32 | "options": "document", 33 | "reqd" : 0 34 | }, 35 | { 36 | "fieldtype": "Break" 37 | }, 38 | { 39 | "fieldname":"analysis_summary", 40 | "label": "Analysis Summary", 41 | "fieldtype": "Check", 42 | "default": 0 43 | }, 44 | { 45 | "fieldname":"analysis_details", 46 | "label": "Analysis Details", 47 | "fieldtype": "Check", 48 | "default": 0 49 | }, 50 | { 51 | "fieldname":"comm_summary", 52 | "label": "Communication Summary", 53 | "fieldtype": "Check", 54 | "default": 1 55 | }, 56 | { 57 | "fieldname":"comm_details", 58 | "label": "Communication Details", 59 | "fieldtype": "Check", 60 | "default": 0 61 | } 62 | ] 63 | } 64 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/dcr_analysis_rigpl/dcr_analysis_rigpl.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2018-04-03 10:19:55.988150", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "OGL", 11 | "modified": "2018-04-05 19:09:06.669520", 12 | "modified_by": "Administrator", 13 | "module": "RIGPL ERPNext", 14 | "name": "DCR Analysis RIGPL", 15 | "owner": "Administrator", 16 | "ref_doctype": "Daily Call", 17 | "report_name": "DCR Analysis RIGPL", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "System Manager" 22 | }, 23 | { 24 | "role": "Sales Representative" 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/dealer_stock_status/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/dealer_stock_status/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/dealer_stock_status/dealer_stock_status.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2017-04-17 11:02:28.919735", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "", 11 | "modified": "2017-04-17 11:03:04.022030", 12 | "modified_by": "Administrator", 13 | "module": "RIGPL ERPNext", 14 | "name": "Dealer Stock Status", 15 | "owner": "Administrator", 16 | "ref_doctype": "Item", 17 | "report_name": "Dealer Stock Status", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "System Manager" 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/dn_to_be_billed/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/dn_to_be_billed/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/dn_to_be_billed/dn_to_be_billed.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["DN To Be Billed"] = { 2 | "filters": [ 3 | { 4 | "fieldname":"customer", 5 | "label": "Customer", 6 | "fieldtype": "Link", 7 | "options": "Customer" 8 | }, 9 | { 10 | "fieldname":"from_date", 11 | "label": "From Date", 12 | "fieldtype": "Date" 13 | }, 14 | { 15 | "fieldname":"to_date", 16 | "label": "To Date", 17 | "fieldtype": "Date", 18 | "default": frappe.datetime.get_today() 19 | }, 20 | { 21 | "fieldname":"territory", 22 | "label": "Territory", 23 | "fieldtype": "Link", 24 | "options": "Territory" 25 | }, 26 | { 27 | "fieldname":"draft", 28 | "label": "Draft", 29 | "fieldtype": "Check" 30 | }, 31 | { 32 | "fieldname":"summary", 33 | "label": "Summary", 34 | "fieldtype": "Check", 35 | "default": 1 36 | }, 37 | ], 38 | }; 39 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/dn_to_be_billed/dn_to_be_billed.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2013-07-06 09:48:39", 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "is_standard": "Yes", 8 | "modified": "2014-09-17 10:58:57.998976", 9 | "modified_by": "Administrator", 10 | "module": "RIGPL ERPNext", 11 | "name": "DN To Be Billed", 12 | "owner": "Administrator", 13 | "ref_doctype": "Sales Invoice", 14 | "report_name": "DN To Be Billed", 15 | "report_type": "Script Report" 16 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/dynamic_items_for_production/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/dynamic_items_for_production/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/dynamic_items_for_production/dynamic_items_for_production.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "creation": "2019-04-02 10:55:12.628865", 4 | "disable_prepared_report": 0, 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "OGL", 11 | "modified": "2019-08-19 14:23:03.708251", 12 | "modified_by": "Administrator", 13 | "module": "RIGPL ERPNext", 14 | "name": "Dynamic Items for Production", 15 | "owner": "Administrator", 16 | "prepared_report": 0, 17 | "ref_doctype": "Work Order", 18 | "report_name": "Dynamic Items for Production", 19 | "report_type": "Script Report", 20 | "roles": [ 21 | { 22 | "role": "System Manager" 23 | }, 24 | { 25 | "role": "Production Inventory User" 26 | }, 27 | { 28 | "role": "Dispatch RIGPL" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/employee_attendance/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/employee_attendance/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/employee_attendance/employee_attendance.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2015-01-18 12:59:29.106900", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "is_standard": "Yes", 9 | "modified": "2015-01-18 13:02:45.901725", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Employee Attendance", 13 | "owner": "Administrator", 14 | "ref_doctype": "Attendance", 15 | "report_name": "Employee Attendance", 16 | "report_type": "Script Report" 17 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/employee_balances_rigpl/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/employee_balances_rigpl/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/employee_balances_rigpl/employee_balances_rigpl.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["Employee Balances RIGPL"] = { 6 | "filters": [ 7 | { 8 | "fieldname":"from_date", 9 | "label": __("From Date"), 10 | "fieldtype": "Date", 11 | "reqd": 1, 12 | "default": frappe.datetime.add_months(frappe.datetime.get_today(), -1), 13 | }, 14 | { 15 | "fieldname":"to_date", 16 | "label": __("To Date"), 17 | "fieldtype": "Date", 18 | "reqd": 1, 19 | "default": frappe.datetime.month_end(frappe.datetime.get_today()), 20 | }, 21 | { 22 | "fieldname":"employee", 23 | "label": __("Employee"), 24 | "fieldtype": "Link", 25 | "options": "Employee" 26 | }, 27 | { 28 | "fieldname":"branch", 29 | "label": "Branch", 30 | "fieldtype": "Link", 31 | "options": "Branch" 32 | }, 33 | { 34 | "fieldname":"department", 35 | "label": "Department", 36 | "fieldtype": "Link", 37 | "options": "Department" 38 | }, 39 | { 40 | "fieldname":"designation", 41 | "label": "Designation", 42 | "fieldtype": "Link", 43 | "options": "Designation" 44 | }, 45 | { 46 | "fieldname":"company_registered_with", 47 | "label": "Company", 48 | "fieldtype": "Link", 49 | "options": "Letter Head" 50 | }, 51 | { 52 | "fieldname":"non_zero", 53 | "label": "Non Zero", 54 | "fieldtype": "Check", 55 | "default": 1 56 | }, 57 | ] 58 | } 59 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/employee_balances_rigpl/employee_balances_rigpl.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2017-06-12 19:05:02.751071", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2017-06-16 18:11:28.057685", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Employee Balances RIGPL", 14 | "owner": "Administrator", 15 | "ref_doctype": "Salary Slip", 16 | "report_name": "Employee Balances RIGPL", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "System Manager" 21 | }, 22 | { 23 | "role": "HR User" 24 | }, 25 | { 26 | "role": "HR Manager" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/employee_loan_analysis/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/employee_loan_analysis/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/employee_loan_analysis/employee_loan_analysis.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Employee Loan Analysis"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"company", 8 | "label": __("Company Registered With"), 9 | "fieldtype": "Link", 10 | "options": "Letter Head" 11 | }, 12 | { 13 | "fieldname":"employee", 14 | "label": __("Employee"), 15 | "fieldtype": "Link", 16 | "options": "Employee" 17 | }, 18 | { 19 | "fieldname":"branch", 20 | "label": __("Branch"), 21 | "fieldtype": "Link", 22 | "options": "Branch" 23 | }, 24 | { 25 | "fieldname":"department", 26 | "label": __("Department"), 27 | "fieldtype": "Link", 28 | "options": "Department" 29 | }, 30 | { 31 | "fieldname":"from_date", 32 | "label": "From Date", 33 | "fieldtype": "Date", 34 | "default": frappe.datetime.add_months(frappe.datetime.get_today(), -1), 35 | "reqd": 1 36 | }, 37 | { 38 | "fieldname":"to_date", 39 | "label": "To Date", 40 | "fieldtype": "Date", 41 | "default": frappe.datetime.get_today(), 42 | "reqd": 1 43 | }, 44 | { 45 | "fieldname":"details", 46 | "label": "Details", 47 | "fieldtype": "Check" 48 | }, 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/employee_loan_analysis/employee_loan_analysis.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-04-16 10:13:34.434400", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2017-04-28 11:21:24.533289", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Employee Loan Analysis", 14 | "owner": "Administrator", 15 | "ref_doctype": "Employee Advance", 16 | "report_name": "Employee Loan Analysis", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "HR User" 21 | }, 22 | { 23 | "role": "System Manager" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/follow_up_customer/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/follow_up_customer/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/follow_up_customer/follow_up_customer.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Follow Up-Customer"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"from_date", 8 | "label": "From Date", 9 | "fieldtype": "Date", 10 | "options": "Customer", 11 | "reqd": 1, 12 | "default": frappe.datetime.add_months(frappe.datetime.get_today(), -24), 13 | }, 14 | { 15 | "fieldname":"customer", 16 | "label": "Customer", 17 | "fieldtype": "Link", 18 | "options": "Customer" 19 | }, 20 | { 21 | "fieldname":"territory", 22 | "label": "Territory", 23 | "fieldtype": "Link", 24 | "options": "Territory" 25 | }, 26 | { 27 | "fieldname":"sales_person", 28 | "label": "Sales Person", 29 | "fieldtype": "Link", 30 | "options": "Sales Person" 31 | }, 32 | { 33 | "fieldname":"rating", 34 | "label": "Customer Rating", 35 | "fieldtype": "Select", 36 | "options": "\nOK\nBlack Listed\nChanged Business\nThrough Dealer\nTrial In Progress" 37 | }, 38 | { 39 | "fieldname":"details", 40 | "label": "Details", 41 | "fieldtype": "Check", 42 | "default": 1 43 | } 44 | ] 45 | } 46 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/follow_up_customer/follow_up_customer.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-07-20 20:07:20.684269", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2016-07-22 02:12:39.482137", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Follow Up-Customer", 14 | "owner": "Administrator", 15 | "ref_doctype": "Customer", 16 | "report_name": "Follow Up-Customer", 17 | "report_type": "Script Report" 18 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/follow_up_lead/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/follow_up_lead/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/follow_up_lead/follow_up_lead.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Follow Up-Lead"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"lead", 8 | "label": "Lead", 9 | "fieldtype": "Link", 10 | "options": "Lead" 11 | }, 12 | { 13 | "fieldname":"owner", 14 | "label": "Lead Owner", 15 | "fieldtype": "Link", 16 | "options": "User" 17 | }, 18 | { 19 | "fieldname":"next_contact", 20 | "label": "Lead Next Contact", 21 | "fieldtype": "Link", 22 | "options": "User" 23 | }, 24 | { 25 | "fieldname":"status", 26 | "label": "Status of Lead OR Customer", 27 | "fieldtype": "Select", 28 | "options": "\nHot\nCold\nQuotation Sent\nConverted\nLost\nTrial Passed\nTrial Failed" 29 | }, 30 | { 31 | "fieldname":"territory", 32 | "label": "Territory", 33 | "fieldtype": "Link", 34 | "options": "Territory" 35 | }, 36 | { 37 | "fieldname":"details", 38 | "label": "Details", 39 | "fieldtype": "Check", 40 | "default": 1 41 | } 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/follow_up_lead/follow_up_lead.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-07-20 20:07:56.388090", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2016-07-20 20:07:56.388090", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Follow Up-Lead", 14 | "owner": "Administrator", 15 | "ref_doctype": "Lead", 16 | "report_name": "Follow Up-Lead", 17 | "report_type": "Script Report" 18 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/forex_transactions/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/forex_transactions/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/forex_transactions/forex_transactions.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["Forex Transactions"] = { 6 | "filters": [ 7 | { 8 | "fieldname":"company", 9 | "label": "Company", 10 | "fieldtype": "Link", 11 | "options": "Company", 12 | "reqd": 1, 13 | "default": frappe.defaults.get_default("Company") 14 | }, 15 | { 16 | "fieldname":"from_date", 17 | "label": "From Date", 18 | "fieldtype": "Date", 19 | "reqd": 1, 20 | "default": frappe.datetime.add_months(frappe.datetime.get_today(), -12), 21 | }, 22 | { 23 | "fieldname":"to_date", 24 | "label": "To Date", 25 | "fieldtype": "Date", 26 | "default": frappe.datetime.get_today(), 27 | "reqd": 1, 28 | }, 29 | { 30 | "fieldname":"doctype", 31 | "label": "Transaction Type", 32 | "fieldtype": "Select", 33 | "options": "\nSales Invoice\nPurchase Invoice", 34 | "reqd": 1 35 | }, 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/forex_transactions/forex_transactions.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "creation": "2019-05-27 15:45:14.139827", 4 | "disable_prepared_report": 1, 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "OGL", 11 | "modified": "2019-05-27 15:45:14.139827", 12 | "modified_by": "Administrator", 13 | "module": "RIGPL ERPNext", 14 | "name": "Forex Transactions", 15 | "owner": "Administrator", 16 | "prepared_report": 0, 17 | "ref_doctype": "GL Entry", 18 | "report_name": "Forex Transactions", 19 | "report_type": "Script Report", 20 | "roles": [ 21 | { 22 | "role": "Accounts Manager" 23 | }, 24 | { 25 | "role": "Accounts User" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/forex_transactions/forex_transactions.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013, Rohit Industries Ltd. and contributors 2 | # For license information, please see license.txt 3 | 4 | from __future__ import unicode_literals 5 | import frappe 6 | 7 | def execute(filters=None): 8 | if filters.get("doctype") == "Sales Invoice": 9 | for_name = "Customer" 10 | else: 11 | for_name = "Supplier" 12 | 13 | columns = get_columns(filters, for_name) 14 | data = get_data(filters, for_name) 15 | return columns, data 16 | 17 | def get_columns(filters, for_name): 18 | return [ 19 | filters["doctype"] + "#:Link/" + filters["doctype"] + ":130", 20 | "Date:Date:80", for_name + ":Link/" + for_name + ":200", 21 | "Outstanding:Currency:100", "Forex Amt:Currency:100", "Base Amt:Currency:100", 22 | "Currency::50" 23 | ] 24 | 25 | def get_data(filters, for_name): 26 | conditions = get_conditions(filters) 27 | def_currency = frappe.get_value("Company", filters.get("company"), "default_currency") 28 | query = """SELECT dt.name, dt.posting_date, dt.%s, dt.outstanding_amount, 29 | dt.grand_total, dt.base_grand_total, dt.currency 30 | FROM `tab%s` dt 31 | WHERE docstatus !=2 AND currency != '%s' %s 32 | ORDER BY dt.posting_date DESC, dt.name DESC"""%(for_name, filters["doctype"], def_currency, conditions) 33 | data = frappe.db.sql(query, as_list=1) 34 | return data 35 | 36 | def get_conditions(filters): 37 | conditions = "" 38 | 39 | if filters.get("from_date"): 40 | conditions += " AND dt.posting_date >= '%s'" % filters.get("from_date") 41 | if filters.get("to_date"): 42 | conditions += " AND dt.posting_date <= '%s'" % filters.get("to_date") 43 | 44 | return conditions -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/gst_migration_pending_dn/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/gst_migration_pending_dn/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/item_report/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/item_report/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/item_report/item_report.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "creation": "2013-01-11 11:55:39", 4 | "disabled": 0, 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "idx": 0, 8 | "is_standard": "Yes", 9 | "modified": "2018-09-28 10:09:59.119169", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Item Report", 13 | "owner": "aditya@rigpl.com", 14 | "prepared_report": 0, 15 | "ref_doctype": "Item", 16 | "report_name": "Item Report", 17 | "report_type": "Script Report", 18 | "roles": [] 19 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/item_template/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/item_template/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/item_template/item_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2015-09-24 17:48:35.087940", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "is_standard": "Yes", 9 | "modified": "2015-09-24 17:48:35.087940", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Item Template", 13 | "owner": "Administrator", 14 | "ref_doctype": "Item", 15 | "report_name": "Item Template", 16 | "report_type": "Script Report" 17 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/items_for_production/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/items_for_production/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/items_for_production/items_for_production.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "creation": "2013-01-11 11:55:39", 4 | "disable_prepared_report": 1, 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2019-04-02 10:33:43.442127", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Items For Production", 14 | "owner": "aditya@rigpl.com", 15 | "prepared_report": 1, 16 | "ref_doctype": "Work Order", 17 | "report_name": "Items For Production", 18 | "report_type": "Script Report", 19 | "roles": [] 20 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/items_on_indent/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/items_on_indent/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/label_printing_database_rigpl/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/label_printing_database_rigpl/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/label_printing_database_rigpl/label_printing_database_rigpl.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["Label Printing Database RIGPL"] = { 6 | "filters": [ 7 | 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/label_printing_database_rigpl/label_printing_database_rigpl.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2018-05-01 14:28:47.837146", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "RIGB", 11 | "modified": "2018-05-01 14:28:47.837146", 12 | "modified_by": "Administrator", 13 | "module": "RIGPL ERPNext", 14 | "name": "Label Printing Database RIGPL", 15 | "owner": "Administrator", 16 | "ref_doctype": "Item", 17 | "report_name": "Label Printing Database RIGPL", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "All" 22 | }, 23 | { 24 | "role": "Customer" 25 | }, 26 | { 27 | "role": "Dispatch RIGPL" 28 | }, 29 | { 30 | "role": "Sales Representative" 31 | }, 32 | { 33 | "role": "Production Inventory User" 34 | }, 35 | { 36 | "role": "Stock Manager" 37 | }, 38 | { 39 | "role": "Stock User" 40 | }, 41 | { 42 | "role": "Material Master Manager" 43 | }, 44 | { 45 | "role": "System Manager" 46 | }, 47 | { 48 | "role": "Customer RIGPL" 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/leave_application_report/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/leave_application_report/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/leave_application_report/leave_application_report.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Leave Application Report"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"employee", 8 | "label": __("Employee"), 9 | "fieldtype": "Link", 10 | "options": "Employee" 11 | }, 12 | { 13 | "fieldname":"branch", 14 | "label": __("Branch"), 15 | "fieldtype": "Link", 16 | "options": "Branch" 17 | }, 18 | { 19 | "fieldname":"department", 20 | "label": __("Department"), 21 | "fieldtype": "Link", 22 | "options": "Department" 23 | }, 24 | { 25 | "fieldname":"from_date", 26 | "label": "From Date", 27 | "fieldtype": "Date", 28 | "default": frappe.datetime.get_today(), 29 | "reqd": 1 30 | }, 31 | { 32 | "fieldname":"to_date", 33 | "label": "To Date", 34 | "fieldtype": "Date" 35 | }, 36 | { 37 | "fieldname":"status", 38 | "label": "Status", 39 | "fieldtype": "Select", 40 | "options": "\nApproved\nRejected\nOpen" 41 | }, 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/leave_application_report/leave_application_report.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-04-13 14:14:05.913657", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2016-04-13 14:14:05.913657", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Leave Application Report", 14 | "owner": "Administrator", 15 | "ref_doctype": "Leave Application", 16 | "report_name": "Leave Application Report", 17 | "report_type": "Script Report" 18 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/list_of_holidays/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/list_of_holidays/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/list_of_holidays/list_of_holidays.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["List of Holidays"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"from_date", 8 | "label": "From Date", 9 | "fieldtype": "Date", 10 | "reqd": 1, 11 | "default": frappe.datetime.year_start() 12 | }, 13 | { 14 | "fieldname":"to_date", 15 | "label": "To Date", 16 | "fieldtype": "Date", 17 | "reqd": 1, 18 | "default": frappe.datetime.year_end() 19 | }, 20 | { 21 | "fieldname":"name", 22 | "label": __("Holiday List"), 23 | "fieldtype": "Link", 24 | "options": "Holiday List", 25 | "get_query": function(){ return {'filters': [['Holiday List', 'is_base_list','=', 1]]}}, 26 | "reqd":1, 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/list_of_holidays/list_of_holidays.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-04-13 18:02:30.314199", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2016-04-13 18:02:30.314199", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "List of Holidays", 14 | "owner": "Administrator", 15 | "ref_doctype": "Holiday List", 16 | "report_name": "List of Holidays", 17 | "report_type": "Script Report" 18 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/monthly_attendance_time_based/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/monthly_attendance_time_based/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/monthly_attendance_time_based/monthly_attendance_time_based.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2015-01-16 18:48:41.532809", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "is_standard": "Yes", 9 | "modified": "2015-09-11 17:41:26.191818", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Monthly Attendance Time Based", 13 | "owner": "Administrator", 14 | "ref_doctype": "Attendance", 15 | "report_name": "Monthly Attendance Time Based", 16 | "report_type": "Script Report" 17 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/obsolete_items/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/obsolete_items/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/obsolete_items/obsolete_items.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2015-09-29 18:12:06.780648", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "is_standard": "Yes", 9 | "modified": "2015-09-29 18:12:06.780648", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Obsolete Items", 13 | "owner": "Administrator", 14 | "ref_doctype": "Item", 15 | "report_name": "Obsolete Items", 16 | "report_type": "Script Report" 17 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_orders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/pending_orders/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_orders/pending_orders.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["Pending Orders"] = { 2 | "filters": [ 3 | 4 | { 5 | "fieldname":"customer", 6 | "label": "Customer", 7 | "fieldtype": "Link", 8 | "options": "Customer" 9 | }, 10 | { 11 | "fieldname":"item", 12 | "label": "Item", 13 | "fieldtype": "Link", 14 | "options": "Item" 15 | }, 16 | { 17 | "fieldname":"date", 18 | "label": "SO Upto Date", 19 | "fieldtype": "Date", 20 | "default": frappe.datetime.get_today() 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_orders/pending_orders.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2013-06-14 21:05:20", 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "is_standard": "Yes", 8 | "modified": "2014-09-17 10:39:16.840114", 9 | "modified_by": "Administrator", 10 | "module": "RIGPL ERPNext", 11 | "name": "Pending Orders", 12 | "owner": "Administrator", 13 | "ref_doctype": "Sales Order", 14 | "report_name": "Pending Orders", 15 | "report_type": "Script Report" 16 | } 17 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_production_orders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/pending_production_orders/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_purchase_orders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/pending_purchase_orders/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_purchase_orders/pending_purchase_orders.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Pending Purchase Orders"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"subcontracting", 8 | "label": "Is Job Work", 9 | "fieldtype": "Check", 10 | "default": 1 11 | }, 12 | { 13 | "fieldname":"item", 14 | "label": "Item Code", 15 | "fieldtype": "Link", 16 | "options": "Item", 17 | "get_query": function(){ return {'filters': [['Item', 'is_purchase_item','=', 1]]}} 18 | }, 19 | { 20 | "fieldname":"supplier", 21 | "label": "Supplier", 22 | "fieldtype": "Link", 23 | "options": "Supplier" 24 | }, 25 | { 26 | "fieldname":"date", 27 | "label": "PO Upto Date", 28 | "fieldtype": "Date", 29 | "default": frappe.datetime.get_today(), 30 | "reqd": 1 31 | }, 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_purchase_orders/pending_purchase_orders.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2012-12-17 16:21:24", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2016-08-17 09:34:39.151403", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Pending Purchase Orders", 14 | "owner": "aditya@rigpl.com", 15 | "query": "select \n\tpo.name as \"PO No:Link/Purchase Order:120\",\n\tpo.transaction_date as \"PO Date:Date:100\",\n\tpoi.schedule_date as \"Sch Date:Date:100\",\n\tpo.supplier as \"Supplier:Link/Supplier:180\",\n\tpoi.item_code as \"Item Code:Link/Item:150\",\n\tpoi.qty -ifnull(poi.received_qty,0) as \"Pending Qty:Float:70\",\n\tpoi.qty as \"Qty:Float:70\",\n\tpoi.received_qty as \"Received Qty:Float:70\",\n\tpoi.uom as \"UoM::30\",\n\tpoi.base_rate as \"Price:Currency:100\",\n\tpoi.description as \"Description::300\",\n\tpo.per_received as \"%%PO Completed:Float:80\"\n\nfrom\n `tabPurchase Order` po, `tabPurchase Order Item` poi\nwhere\n poi.`parent` = po.`name`\n and po.docstatus = 1\n AND po.status != \"Closed\"\n and po.transaction_date <= curdate()\n and ifnull(poi.received_qty,0) < ifnull(poi.qty,0)\norder by poi.schedule_date asc\n", 16 | "ref_doctype": "Purchase Order", 17 | "report_name": "Pending Purchase Orders", 18 | "report_type": "Script Report" 19 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_so_(prd)/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/pending_so_(prd)/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_so_(prd)/pending_so_(prd).js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Pending So (Prd)"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"so_id", 8 | "label": "Sales Order Number", 9 | "fieldtype": "Link", 10 | "options": "Sales Order", 11 | "get_query": function(){ return {'filters': [['Sales Order', 'docstatus','=', 1]]}, {'filters': [['Sales Order', 'status','!=', "To Bill"]]}, {'filters': [['Sales Order', 'status','!=', "Completed"]]}, {'filters': [['Sales Order', 'status','!=', "Closed"]]}} 12 | }, 13 | { 14 | "fieldname":"item", 15 | "label": "Item Code", 16 | "fieldtype": "Link", 17 | "options": "Item", 18 | "get_query": function(){ return {'filters': [['Item', 'is_sales_item','=', 1]]}} 19 | }, 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_so_(prd)/pending_so_(prd).json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "creation": "2013-01-07 08:10:33", 4 | "disabled": 0, 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "idx": 3, 8 | "is_standard": "Yes", 9 | "modified": "2018-11-14 17:06:13.174505", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Pending So (Prd)", 13 | "owner": "aditya@rigpl.com", 14 | "prepared_report": 1, 15 | "query": "SELECT \n so.name as \"SO No:Link/Sales Order:100\",\n so.transaction_date as \"SO Date:Date:90\",\n so.delivery_date as \"ED Date:Date:90\",\n soi.item_code as \"Item Code:Link/Item:150\",\n soi.description as \"Description::450\",\n (soi.qty - ifnull(soi.delivered_qty, 0)) as \"Pending Qty:Float:70\"\n\nfrom\n `tabSales Order` so, `tabSales Order Item` soi\nwhere\n soi.`parent` = so.`name`\n and so.status <> \"Closed\"\n AND so.docstatus = 1\n and so.transaction_date <= curdate()\n and ifnull(soi.delivered_qty,0) < ifnull(soi.qty,0)\norder by so.transaction_date desc", 16 | "ref_doctype": "Work Order", 17 | "report_name": "Pending So (Prd)", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "Manufacturing User" 22 | }, 23 | { 24 | "role": "System Manager" 25 | }, 26 | { 27 | "role": "Manufacturing Manager" 28 | }, 29 | { 30 | "role": "Production Inventory User" 31 | }, 32 | { 33 | "role": "Dispatch RIGPL" 34 | }, 35 | { 36 | "role": "Stock User" 37 | } 38 | ] 39 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_so_for_gst_migration/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/pending_so_for_gst_migration/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pending_so_for_gst_migration/pending_so_for_gst_migration.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2017-06-27 18:07:56.627227", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2017-06-27 22:27:52.987553", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Pending SO for GST Migration", 14 | "owner": "Administrator", 15 | "query": "SELECT \n\t so.name as \"SO No:Link/Sales Order:80\",\n\t so.transaction_date as \"Date:Date:80\",\n\t so.customer as \"Customer:Link/Customer:80\", \n\t sod.item_code as \"ItemCode:Link/Item:80\", \n\t sod.description as \"Description::100\",\n\t sod.qty as \"Ordered Qty:Float:50\",\n\t ifnull(sod.qty,0)-ifnull(sod.delivered_qty,0) as \"Pend Qty:Float:50\",\n\t sod.base_net_rate as \"Basic Rate:Currency:50\", \n\t sod.base_rate as \"Rate Inc:Currency:50\", \n\t so.currency as \"Cur:Link/Currency:50\", \n\t so.selling_price_list as \"Price List:Link/Price List:80\", \n\t sod.name, so.taxes_and_charges, so.ignore_pricing_rule, so.track_trial\n\nFROM\n\t `tabSales Order` so, `tabSales Order Item` sod\nWHERE\n\t sod.parent = so.name\n\t AND so.docstatus = 1\n\t AND so.status != \"Closed\"\n\t AND ifnull(sod.delivered_qty,0) < ifnull(sod.qty,0)\nORDER BY so.transaction_date desc ", 16 | "ref_doctype": "Sales Order", 17 | "report_name": "Pending SO for GST Migration", 18 | "report_type": "Query Report", 19 | "roles": [ 20 | { 21 | "role": "System Manager" 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pr_to_be_billed/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/pr_to_be_billed/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pr_to_be_billed/pr_to_be_billed.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["PR to be Billed"] = { 2 | "filters": [ 3 | { 4 | "fieldname":"supplier", 5 | "label": "Supplier", 6 | "fieldtype": "Link", 7 | "options": "Supplier" 8 | }, 9 | { 10 | "fieldname":"from_date", 11 | "label": "From Date", 12 | "fieldtype": "Date" 13 | }, 14 | { 15 | "fieldname":"to_date", 16 | "label": "To Date", 17 | "fieldtype": "Date", 18 | "default": frappe.datetime.get_today() 19 | }, 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/pr_to_be_billed/pr_to_be_billed.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2013-11-23 17:14:49", 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "is_standard": "Yes", 8 | "modified": "2014-06-05 17:07:47.008705", 9 | "modified_by": "Administrator", 10 | "module": "RIGPL ERPNext", 11 | "name": "PR to be Billed", 12 | "owner": "Administrator", 13 | "ref_doctype": "Purchase Invoice", 14 | "report_name": "PR to be Billed", 15 | "report_type": "Script Report" 16 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/raw_material_needed/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/raw_material_needed/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/rigpl_item_codes_with_attributes/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/rigpl_item_codes_with_attributes/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/rigpl_item_codes_with_attributes/rigpl_item_codes_with_attributes.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["RIGPL Item Codes with Attributes"] = { 6 | "filters": [ 7 | { 8 | "fieldname":"template", 9 | "label": "Is Template", 10 | "fieldtype": "Check", 11 | "default": 1, 12 | }, 13 | { 14 | "fieldname":"disabled", 15 | "label": "Include Disabled", 16 | "fieldtype": "Check", 17 | "default": 0, 18 | }, 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/rigpl_item_codes_with_attributes/rigpl_item_codes_with_attributes.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "creation": "2019-12-24 16:21:17.767732", 4 | "disable_prepared_report": 0, 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "OGL", 11 | "modified": "2019-12-27 11:50:07.257178", 12 | "modified_by": "Administrator", 13 | "module": "RIGPL ERPNext", 14 | "name": "RIGPL Item Codes with Attributes", 15 | "owner": "Administrator", 16 | "prepared_report": 0, 17 | "query": "SELECT \n it.name AS \"Item:Link/Item:300\",\n it.variant_of AS \"Template:Link/Item:300\",\n\tiva.attribute AS \"Attribute::150\",\n\tiva.attribute_value AS \"Field Value::150\"\nFROM\n\t`tabItem` it, `tabItem Variant Attribute` iva\nWHERE\n\tit.has_variants = 0\n\tAND it.variant_of IS NOT NULL\n\tAND iva.parent = it.name\n\tAND it.disabled = 0\nORDER BY it.name, iva.idx", 18 | "ref_doctype": "RIGPL Settings", 19 | "report_name": "RIGPL Item Codes with Attributes", 20 | "report_type": "Script Report", 21 | "roles": [ 22 | { 23 | "role": "System Manager" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/rigpl_price_list/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/rigpl_price_list/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/rigpl_price_list/rigpl_price_list.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2013-01-11 11:55:39", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2017-07-11 17:32:33.501398", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "RIGPL Price List", 14 | "owner": "aditya@rigpl.com", 15 | "ref_doctype": "Item Price", 16 | "report_name": "RIGPL Price List", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "Sales Master Manager" 21 | }, 22 | { 23 | "role": "Purchase Master Manager" 24 | }, 25 | { 26 | "role": "Sales Representative" 27 | }, 28 | { 29 | "role": "System Manager" 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/roster/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/roster/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/roster/roster.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Roster"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"branch", 8 | "label": "Branch", 9 | "fieldtype": "Link", 10 | "options": "Branch" 11 | }, 12 | { 13 | "fieldname":"department", 14 | "label": "Department", 15 | "fieldtype": "Link", 16 | "options": "Department" 17 | }, 18 | { 19 | "fieldname":"designation", 20 | "label": "Designation", 21 | "fieldtype": "Link", 22 | "options": "Designation" 23 | }, 24 | { 25 | "fieldname":"employee", 26 | "label": "Employee", 27 | "fieldtype": "Link", 28 | "options": "Employee" 29 | }, 30 | { 31 | "fieldname":"from_date", 32 | "label": "From Date", 33 | "fieldtype": "Date", 34 | "default": frappe.datetime.get_today(), 35 | "reqd": 1 36 | }, 37 | { 38 | "fieldname":"to_date", 39 | "label": "To Date", 40 | "fieldtype": "Date", 41 | "reqd": 1, 42 | "default": frappe.datetime.add_months(frappe.datetime.get_today(), 1) 43 | }, 44 | { 45 | "fieldname":"shift", 46 | "label": "Shift", 47 | "fieldtype": "Link", 48 | "options": "Shift Type" 49 | }, 50 | { 51 | "fieldname":"without_roster", 52 | "label": "Show Employees without Roster", 53 | "fieldtype": "Check" 54 | }, 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/roster/roster.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "creation": "2016-04-12 20:38:49.233663", 4 | "disabled": 0, 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "idx": 0, 8 | "is_standard": "Yes", 9 | "modified": "2019-01-16 19:17:02.879024", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Roster", 13 | "owner": "Administrator", 14 | "prepared_report": 0, 15 | "ref_doctype": "Shift Assignment", 16 | "report_name": "Roster", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "System Manager" 21 | }, 22 | { 23 | "role": "HR User" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/salary_register/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/salary_register/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/salary_register/salary_register.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-05-17 15:17:27.336045", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2017-06-09 13:41:00.310799", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Salary Register", 14 | "owner": "Administrator", 15 | "ref_doctype": "Salary Slip", 16 | "report_name": "Salary Register", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "System Manager" 21 | }, 22 | { 23 | "role": "HR User" 24 | }, 25 | { 26 | "role": "HR Manager" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/salary_structure/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/salary_structure/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/salary_structure/salary_structure.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Salary Structure"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"employee", 8 | "label": "Employee", 9 | "fieldtype": "Link", 10 | "options": "Employee" 11 | }, 12 | { 13 | "fieldname":"branch", 14 | "label": "Branch", 15 | "fieldtype": "Link", 16 | "options": "Branch" 17 | }, 18 | { 19 | "fieldname":"department", 20 | "label": "Department", 21 | "fieldtype": "Link", 22 | "options": "Department" 23 | }, 24 | { 25 | "fieldname":"designation", 26 | "label": "Designation", 27 | "fieldtype": "Link", 28 | "options": "Designation" 29 | }, 30 | { 31 | "fieldname":"from_date", 32 | "label": "From Date", 33 | "fieldtype": "Date", 34 | "default": frappe.datetime.get_today(), 35 | "reqd": 1 36 | }, 37 | { 38 | "fieldname":"to_date", 39 | "label": "To Date", 40 | "fieldtype": "Date", 41 | "reqd": 1, 42 | "default": frappe.datetime.add_months(frappe.datetime.get_today(), 12) 43 | }, 44 | { 45 | "fieldname":"without_salary_structure", 46 | "label": "Emp w/o SS", 47 | "fieldtype": "Check" 48 | }, 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/salary_structure/salary_structure.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-05-09 12:46:11.895474", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2016-05-09 12:46:11.895474", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Salary Structure", 14 | "owner": "Administrator", 15 | "ref_doctype": "Salary Structure", 16 | "report_name": "Salary Structure", 17 | "report_type": "Script Report" 18 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/sales_partner_commission_details/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/sales_partner_commission_details/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/sales_partner_commission_details/sales_partner_commission_details.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors 2 | // License: GNU General Public License v3. See license.txt 3 | 4 | frappe.query_reports["Sales Partner Commission Details"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"doc_type", 8 | "label": "Transaction Type", 9 | "fieldtype": "Select", 10 | "options": "\nSales Order\nDelivery Note\nSales Invoice", 11 | "reqd": 1 12 | }, 13 | { 14 | "fieldname":"based_on", 15 | "label": "Based On", 16 | "fieldtype": "Select", 17 | "options": "\nMaster\nTransaction", 18 | "reqd": 1 19 | }, 20 | { 21 | "fieldname":"sales_partner", 22 | "label": "Sales Partner", 23 | "fieldtype": "Link", 24 | "options": "Sales Partner" 25 | }, 26 | { 27 | "fieldname":"customer", 28 | "label": "Customer", 29 | "fieldtype": "Link", 30 | "options": "Customer" 31 | }, 32 | { 33 | "fieldname":"territory", 34 | "label": "Territory", 35 | "fieldtype": "Link", 36 | "options": "Territory" 37 | }, 38 | { 39 | "fieldname":"from_date", 40 | "label": "From Date", 41 | "fieldtype": "Date", 42 | "default": frappe.defaults.get_user_default("year_start_date") 43 | }, 44 | { 45 | "fieldname":"to_date", 46 | "label": "To Date", 47 | "fieldtype": "Date", 48 | "default": frappe.datetime.get_today() 49 | } 50 | ] 51 | } 52 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/sales_partner_commission_details/sales_partner_commission_details.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2014-09-11 00:01:11.044674", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "is_standard": "Yes", 9 | "modified": "2014-09-11 00:01:43.690486", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Sales Partner Commission Details", 13 | "owner": "Administrator", 14 | "ref_doctype": "Sales Invoice", 15 | "report_name": "Sales Partner Commission Details", 16 | "report_type": "Script Report" 17 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/sales_partner_commission_details/transaction_details.js~: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors 2 | // License: GNU General Public License v3. See license.txt 3 | 4 | frappe.query_reports["Transaction Summary"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"doc_type", 8 | "label": "Transaction Type", 9 | "fieldtype": "Select", 10 | "options": "\nSales Order\nDelivery Note\nSales Invoice" 11 | }, 12 | { 13 | "fieldname":"based_on", 14 | "label": "Based On", 15 | "fieldtype": "Select", 16 | "options": "\nMaster\nTransaction" 17 | }, 18 | { 19 | "fieldname":"sales_person", 20 | "label": "Sales Person", 21 | "fieldtype": "Link", 22 | "options": "Sales Person" 23 | }, 24 | { 25 | "fieldname":"sales_partner", 26 | "label": "Sales Partner", 27 | "fieldtype": "Link", 28 | "options": "Sales Partner" 29 | }, 30 | { 31 | "fieldname":"customer", 32 | "label": "Customer", 33 | "fieldtype": "Link", 34 | "options": "Customer" 35 | }, 36 | { 37 | "fieldname":"territory", 38 | "label": "Territory", 39 | "fieldtype": "Link", 40 | "options": "Territory" 41 | }, 42 | { 43 | "fieldname":"from_date", 44 | "label": "From Date", 45 | "fieldtype": "Date", 46 | "default": frappe.defaults.get_user_default("year_start_date") 47 | }, 48 | { 49 | "fieldname":"to_date", 50 | "label": "To Date", 51 | "fieldtype": "Date", 52 | "default": frappe.datetime.get_today() 53 | } 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/sales_partner_so_analysis/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/sales_partner_so_analysis/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/sales_partner_so_analysis/sales_partner_so_analysis.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["Sales Partner SO Analysis"] = { 2 | "filters": [ 3 | { 4 | fieldname: "from_date", 5 | label: "From Date", 6 | fieldtype: "Date", 7 | default: frappe.defaults.get_user_default("year_start_date"), 8 | }, 9 | { 10 | fieldname:"to_date", 11 | label: "To Date", 12 | fieldtype: "Date", 13 | default: frappe.datetime.get_today() 14 | }, 15 | { 16 | fieldname:"sales_partner", 17 | label: "Sales Partner", 18 | fieldtype: "Link", 19 | options: "Sales Partner", 20 | }, 21 | { 22 | fieldname:"territory", 23 | label: "Territory", 24 | fieldtype: "Link", 25 | options: "Territory", 26 | }, 27 | { 28 | fieldname:"customer", 29 | label: "Customer", 30 | fieldtype: "Link", 31 | options: "Customer", 32 | }, 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/sales_partner_so_analysis/sales_partner_so_analysis.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2013-08-29 16:45:47", 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "is_standard": "Yes", 8 | "modified": "2014-09-17 10:41:30.566206", 9 | "modified_by": "Administrator", 10 | "module": "RIGPL ERPNext", 11 | "name": "Sales Partner SO Analysis", 12 | "owner": "Administrator", 13 | "ref_doctype": "Sales Order", 14 | "report_name": "Sales Partner SO Analysis", 15 | "report_type": "Script Report" 16 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/sales_person_analysis/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/sales_person_analysis/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/sales_person_analysis/sales_person_analysis.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "creation": "2015-07-10 13:04:21.322684", 4 | "disabled": 0, 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "idx": 0, 8 | "is_standard": "Yes", 9 | "modified": "2019-01-08 13:46:50.005155", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Sales Person Analysis", 13 | "owner": "Administrator", 14 | "prepared_report": 0, 15 | "ref_doctype": "Integration Request", 16 | "report_name": "Sales Person Analysis", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "System Manager" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/si_import_to_rigb_ru/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/si_import_to_rigb_ru/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/si_import_to_rigb_ru/si_import_to_rigb_ru.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/si_import_to_rigb_ru/si_import_to_rigb_ru.html -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/si_import_to_rigb_ru/si_import_to_rigb_ru.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["SI Import to RIGB RU"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"id", 8 | "label": "Sales Invoice Number", 9 | "fieldtype": "Link", 10 | "reqd": 1, 11 | "options": "Sales Invoice", 12 | "get_query": function(){ return {'filters': [['Sales Invoice', 'docstatus','=',1]]}} 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/si_import_to_rigb_ru/si_import_to_rigb_ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2017-04-14 14:56:11.951231", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "", 11 | "modified": "2017-04-14 15:17:01.758684", 12 | "modified_by": "Administrator", 13 | "module": "RIGPL ERPNext", 14 | "name": "SI Import to RIGB RU", 15 | "owner": "Administrator", 16 | "ref_doctype": "Sales Invoice", 17 | "report_name": "SI Import to RIGB RU", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "System Manager" 22 | }, 23 | { 24 | "role": "Accounts Manager" 25 | }, 26 | { 27 | "role": "Accounts User" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/si_import_to_rigb_ru/si_import_to_rigb_ru.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013, Rohit Industries Ltd. and contributors 2 | # For license information, please see license.txt 3 | 4 | from __future__ import unicode_literals 5 | import frappe 6 | 7 | def execute(filters=None): 8 | columns = get_columns(filters) 9 | data = get_data(filters) 10 | return columns, data 11 | 12 | def get_columns(filters): 13 | return ["Invoice#:Link/Sales Invoice:120", "Item Code::60","Description::500", 14 | "Qty:Float:50", "Rate:Currency:80"] 15 | 16 | def get_data(filters): 17 | name = filters.get("id") 18 | data = frappe.db.sql("""SELECT si.name, sid.item_code, sid.description, sid.qty, sid.rate, 19 | sid.cetsh_number 20 | FROM `tabSales Invoice` si, `tabSales Invoice Item` sid 21 | WHERE sid.parent = si.name AND si.docstatus = 1 22 | AND si.name = '%s' 23 | ORDER BY sid.idx ASC""" % name , as_list=1) 24 | 25 | ctn = frappe.db.sql ("""SELECT name, item_code FROM `tabCustoms Tariff Number`""", as_list=1) 26 | if ctn: 27 | for c in ctn: 28 | for i in range(len(data)): 29 | if c[0] == data[i][5]: 30 | data[i][1] = c[1] 31 | if len(data) > 1: 32 | for i in range(len(data)): 33 | if i > 0: 34 | data[i][0] = "" 35 | return data 36 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/standards_and_drawings_rigpl/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/standards_and_drawings_rigpl/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/standards_and_drawings_rigpl/standards_and_drawings_rigpl.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "creation": "2020-06-19 00:31:46.116143", 4 | "disable_prepared_report": 1, 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "OGL", 11 | "modified": "2020-06-19 00:31:46.116143", 12 | "modified_by": "Administrator", 13 | "module": "RIGPL ERPNext", 14 | "name": "Standards and Drawings RIGPL", 15 | "owner": "Administrator", 16 | "prepared_report": 0, 17 | "ref_doctype": "Important Documents", 18 | "report_name": "Standards and Drawings RIGPL", 19 | "report_type": "Script Report", 20 | "roles": [ 21 | { 22 | "role": "System Manager" 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/stock_ageing_rigpl/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/stock_ageing_rigpl/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/stock_ageing_rigpl/stock_ageing_rigpl.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "creation": "2019-03-22 13:37:43.791193", 4 | "disable_prepared_report": 0, 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "OGL", 11 | "modified": "2019-03-22 16:09:50.430832", 12 | "modified_by": "Administrator", 13 | "module": "RIGPL ERPNext", 14 | "name": "Stock Ageing RIGPL", 15 | "owner": "Administrator", 16 | "prepared_report": 0, 17 | "ref_doctype": "Integration Request", 18 | "report_name": "Stock Ageing RIGPL", 19 | "report_type": "Script Report", 20 | "roles": [ 21 | { 22 | "role": "System Manager" 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/stock_ledger_with_valuation/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/stock_ledger_with_valuation/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/stock_ledger_with_valuation/stock_ledger_with_valuation.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["Stock Ledger with Valuation"] = { 2 | "filters": [ 3 | { 4 | "fieldname":"item", 5 | "label": "Item", 6 | "fieldtype": "Link", 7 | "options": "Item", 8 | "reqd": 1 9 | }, 10 | { 11 | "fieldname":"warehouse", 12 | "label": "Warehouse", 13 | "fieldtype": "Link", 14 | "options": "Warehouse" 15 | }, 16 | { 17 | "fieldname":"from_date", 18 | "label": "From Date", 19 | "fieldtype": "Date", 20 | "default": frappe.datetime.add_months(frappe.datetime.get_today(), -12), 21 | "reqd": 1 22 | }, 23 | { 24 | "fieldname":"to_date", 25 | "label": "To Date", 26 | "fieldtype": "Date", 27 | "default": frappe.datetime.get_today() 28 | } 29 | 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/stock_ledger_with_valuation/stock_ledger_with_valuation.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "creation": "2013-05-27 04:04:20", 4 | "disabled": 0, 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "idx": 0, 8 | "is_standard": "Yes", 9 | "modified": "2019-01-08 13:47:13.098475", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Stock Ledger with Valuation", 13 | "owner": "Administrator", 14 | "prepared_report": 0, 15 | "ref_doctype": "Integration Request", 16 | "report_name": "Stock Ledger with Valuation", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "System Manager" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/stock_status/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/stock_status/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/stock_valuation/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/stock_valuation/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/stock_valuation/stock_valuation.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "creation": "2013-07-31 18:52:01", 4 | "disable_prepared_report": 0, 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2019-11-12 12:57:30.797431", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Stock Valuation", 14 | "owner": "Administrator", 15 | "prepared_report": 1, 16 | "ref_doctype": "Item Attribute", 17 | "report_name": "Stock Valuation", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "System Manager" 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/template_variant_import_format/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/template_variant_import_format/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/template_variant_import_format/template_variant_import_format.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["Template Variant Import Format"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"eol", 8 | "label": "End Of Life", 9 | "fieldtype": "Date", 10 | "default": frappe.datetime.get_today(), 11 | "reqd": 1 12 | }, 13 | { 14 | "fieldname":"item", 15 | "label": "Item Code", 16 | "fieldtype": "Link", 17 | "options": "Item" 18 | }, 19 | { 20 | "fieldname":"variant_of", 21 | "label": "Variant Of", 22 | "fieldtype": "Link", 23 | "options": "Item", 24 | "get_query": function(){ return {'filters': [['Item', 'has_variants','=', 1]]}} 25 | }, 26 | { 27 | "fieldname":"show_in_website", 28 | "label": "Show in Website", 29 | "fieldtype": "Check" 30 | }, 31 | { 32 | "fieldname":"template", 33 | "label": "Is Template", 34 | "fieldtype": "Check", 35 | "default": 1 36 | }, 37 | { 38 | "fieldname":"restrictions", 39 | "label": "Restrictions", 40 | "fieldtype": "Check" 41 | } 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/template_variant_import_format/template_variant_import_format.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-02-12 17:45:04.602842", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2016-02-12 17:45:04.602842", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "Template Variant Import Format", 14 | "owner": "Administrator", 15 | "ref_doctype": "Item", 16 | "report_name": "Template Variant Import Format", 17 | "report_type": "Script Report" 18 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/tod_sales_invoice/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/tod_sales_invoice/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/tod_sales_invoice/tod_sales_invoice.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["TOD Sales Invoice"] = { 2 | "filters": [ 3 | 4 | { 5 | "fieldname":"fiscal_year", 6 | "label": "Fiscal Year", 7 | "fieldtype": "Link", 8 | "options": "Fiscal Year", 9 | "reqd": 1, 10 | }, 11 | { 12 | "fieldname":"customer", 13 | "label": "Customer", 14 | "fieldtype": "Link", 15 | "options": "Customer" 16 | }, 17 | { 18 | "fieldname":"from_date", 19 | "label": "From Date", 20 | "fieldtype": "Date" 21 | }, 22 | { 23 | "fieldname":"to_date", 24 | "label": "To Date", 25 | "fieldtype": "Date" 26 | }, 27 | { 28 | "fieldname":"summary", 29 | "label": "Summary", 30 | "fieldtype": "Check", 31 | "default": 1 32 | }, 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/tod_sales_invoice/tod_sales_invoice.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2015-11-03 13:55:16.118145", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "is_standard": "Yes", 9 | "modified": "2015-11-03 13:55:16.118145", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "TOD Sales Invoice", 13 | "owner": "Administrator", 14 | "ref_doctype": "Sales Invoice", 15 | "report_name": "TOD Sales Invoice", 16 | "report_type": "Script Report" 17 | } 18 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/todo_report/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/todo_report/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/todo_report/todo_report.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Rohit Industries Ltd. and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.query_reports["ToDo Report"] = { 5 | "filters": [ 6 | { 7 | "fieldname":"owner", 8 | "label": "Owner", 9 | "fieldtype": "Link", 10 | "options": "User" 11 | }, 12 | { 13 | "fieldname":"assigned_by", 14 | "label": "Assigned By", 15 | "fieldtype": "Link", 16 | "options": "User" 17 | }, 18 | { 19 | "fieldname":"status", 20 | "label": "Status", 21 | "fieldtype": "Select", 22 | "options": "\nOpen\nClosed", 23 | "reqd": 1, 24 | "default": "Open" 25 | }, 26 | { 27 | "fieldname":"summary", 28 | "label": "Summary", 29 | "fieldtype": "Check", 30 | "default": 0 31 | }, 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/todo_report/todo_report.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2016-04-20 15:36:37.360565", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2016-04-20 15:36:37.360565", 11 | "modified_by": "Administrator", 12 | "module": "RIGPL ERPNext", 13 | "name": "ToDo Report", 14 | "owner": "Administrator", 15 | "ref_doctype": "ToDo", 16 | "report_name": "ToDo Report", 17 | "report_type": "Script Report" 18 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/trial_tracking/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/trial_tracking/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/trial_tracking/trial_tracking.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["Trial Tracking"] = { 2 | "filters": [ 3 | { 4 | "fieldname":"trial_status", 5 | "label": "Trial Status", 6 | "fieldtype": "Select", 7 | "options": "In Production\nMaterial Ready\nAwaited\nPassed\nFailed", 8 | "reqd": 1 9 | }, 10 | { 11 | "fieldname":"customer", 12 | "label": "Customer", 13 | "fieldtype": "Link", 14 | "options": "Customer" 15 | }, 16 | { 17 | "fieldname":"trial_owner", 18 | "label": "Owner", 19 | "fieldtype": "Link", 20 | "options": "Sales Person" 21 | }, 22 | { 23 | "fieldname":"from_date", 24 | "label": "From Date", 25 | "fieldtype": "Date", 26 | }, 27 | { 28 | "fieldname":"to_date", 29 | "label": "To Date", 30 | "fieldtype": "Date", 31 | "default": frappe.datetime.get_today() 32 | }, 33 | { 34 | "fieldname":"status", 35 | "label": "Status", 36 | "fieldtype": "Select", 37 | "options": "\nDraft\nSubmitted\nCancelled" 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/trial_tracking/trial_tracking.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "apply_user_permissions": 1, 4 | "creation": "2013-07-06 15:31:50", 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "is_standard": "Yes", 8 | "modified": "2015-07-22 11:02:49.442320", 9 | "modified_by": "Administrator", 10 | "module": "RIGPL ERPNext", 11 | "name": "Trial Tracking", 12 | "owner": "Administrator", 13 | "ref_doctype": "Trial Tracking", 14 | "report_name": "Trial Tracking", 15 | "report_type": "Script Report" 16 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/va_sales_invoice/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/va_sales_invoice/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/va_sales_invoice/va_sales_invoice.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["VA Sales Invoice"] = { 2 | "filters": [ 3 | 4 | { 5 | "fieldname":"from_date", 6 | "label": "From Date", 7 | "fieldtype": "Date", 8 | "default": frappe.datetime.add_months(frappe.datetime.get_today(), -1), 9 | "reqd": 1, 10 | }, 11 | { 12 | "fieldname":"to_date", 13 | "label": "To Date", 14 | "fieldtype": "Date", 15 | "default": frappe.datetime.get_today(), 16 | "reqd": 1, 17 | } 18 | 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/va_sales_invoice/va_sales_invoice.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "creation": "2013-07-06 15:31:50", 4 | "disabled": 0, 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "idx": 0, 8 | "is_standard": "Yes", 9 | "modified": "2019-01-08 13:47:53.160374", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "VA Sales Invoice", 13 | "owner": "Administrator", 14 | "prepared_report": 0, 15 | "ref_doctype": "Integration Request", 16 | "report_name": "VA Sales Invoice", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "System Manager" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/valuation_rate/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/valuation_rate/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/valuation_rate/valuation_rate.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "creation": "2017-01-10 12:33:27.551967", 4 | "disabled": 0, 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "idx": 1, 8 | "is_standard": "Yes", 9 | "modified": "2018-11-27 11:48:02.389023", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Valuation Rate", 13 | "owner": "Administrator", 14 | "prepared_report": 0, 15 | "ref_doctype": "Purchase Invoice", 16 | "report_name": "Valuation Rate", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "System Manager" 21 | }, 22 | { 23 | "role": "Stock Manager" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/value_addition/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/report/value_addition/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/value_addition/value_addition.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["Value Addition"] = { 2 | "filters": [ 3 | 4 | { 5 | "fieldname":"from_date", 6 | "label": "From Date", 7 | "fieldtype": "Date", 8 | "default": frappe.datetime.get_today()-30 9 | }, 10 | { 11 | "fieldname":"to_date", 12 | "label": "To Date", 13 | "fieldtype": "Date", 14 | "default": frappe.datetime.get_today() 15 | } 16 | 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/report/value_addition/value_addition.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 1, 3 | "creation": "2013-06-14 21:05:20", 4 | "disabled": 0, 5 | "docstatus": 0, 6 | "doctype": "Report", 7 | "idx": 0, 8 | "is_standard": "Yes", 9 | "modified": "2019-01-08 13:47:32.339703", 10 | "modified_by": "Administrator", 11 | "module": "RIGPL ERPNext", 12 | "name": "Value Addition", 13 | "owner": "Administrator", 14 | "prepared_report": 0, 15 | "ref_doctype": "Integration Request", 16 | "report_name": "Value Addition", 17 | "report_type": "Script Report", 18 | "roles": [ 19 | { 20 | "role": "System Manager" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/scheduled_tasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/scheduled_tasks/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/scheduled_tasks/automate_docshare.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from rigpl_erpnext.utils.rigpl_perm import * 8 | from rigpl_erpnext.rigpl_erpnext.validations.lead \ 9 | import lead_docshare, lead_quote_share, lead_address_share 10 | from frappe.share import add, remove 11 | 12 | def execute(): 13 | inactive_users = get_users(active=0) 14 | for user in inactive_users: 15 | delete_docshare(user=user[0]) 16 | frappe.db.commit() 17 | active_users = get_users(active=1) 18 | lead_list = frappe.db.sql("""SELECT name FROM `tabLead` 19 | ORDER BY creation DESC""", as_list=1) 20 | commit_chk = 0 21 | for lead in lead_list: 22 | lead_doc = frappe.get_doc("Lead", lead[0]) 23 | print("Checking For Lead " + lead[0]) 24 | lead_docshare(lead_doc) 25 | lead_quote_share(lead_doc) 26 | lead_address_share(lead_doc) 27 | commit_chk += 1 28 | if commit_chk%100 == 0: 29 | frappe.db.commit() -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/scheduled_tasks/default_permissions.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, Rohit Industries Ltd. and contributors 3 | # For license information, please see license.txt 4 | 5 | ''' 6 | 1. Check if User is Active, if yes then get all default values for User 7 | ''' 8 | from __future__ import unicode_literals 9 | import frappe 10 | from rigpl_erpnext.utils.rigpl_perm import * 11 | 12 | def create_defaults(): 13 | user_list = get_users(active=1) 14 | for user in user_list: 15 | print("Checking for Defaults for User:" + user[0]) 16 | role_list = get_user_roles(user[0]) 17 | for role in role_list: 18 | all_role_settings = get_user_perm_settings(apply_to_all_roles=1) 19 | for setting in all_role_settings: 20 | create_new_user_perm(allow=setting[1], \ 21 | for_value=setting[2], user=user[0], \ 22 | applicable_for=setting[3], \ 23 | apply_to_all_doctypes=setting[4]) 24 | 25 | default_value_settings = get_user_perm_settings(role=role[0], \ 26 | apply_to_all_doctypes="None") 27 | for setting in default_value_settings: 28 | create_new_user_perm(allow=setting[1], \ 29 | for_value=setting[2], user=user[0], \ 30 | applicable_for=setting[3], \ 31 | apply_to_all_doctypes=setting[4]) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/validations/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/account.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | from rigpl_erpnext.utils.rigpl_perm import * 6 | 7 | def validate(doc,method): 8 | if doc.get("__islocal") != 1: 9 | copy_users_to_child_accounts(doc) 10 | check_account_perm(doc) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/communication.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | from rigpl_erpnext.rigpl_erpnext.doctype.daily_call.daily_call import check_date_time_diff 6 | 7 | def validate(doc, method): 8 | in_daily_call = frappe.db.sql("""SELECT name, parent FROM `tabDaily Call Details` 9 | WHERE communication = '%s'"""%(doc.name), as_list=1) 10 | if in_daily_call: 11 | dcr_details = frappe.get_doc("Daily Call Details", in_daily_call[0][0]) 12 | dcr = frappe.get_doc("Daily Call", in_daily_call[0][1]) 13 | if dcr_details.details != doc.content: 14 | doc.content = dcr_details.details 15 | if dcr_details.document != doc.reference_doctype: 16 | doc.reference_doctype = dcr_details.document 17 | if dcr_details.document_name != doc.reference_name: 18 | doc.reference_name = dcr_details.document_name 19 | if dcr_details.type_of_communication != doc.communication_medium: 20 | doc.communication_medium = dcr_details.type_of_communication 21 | if dcr_details.communication_date != doc.communication_date: 22 | doc.communication_date = dcr_details.communication_date 23 | if doc.follow_up == 1: 24 | if not doc.next_action_date: 25 | frappe.throw('Next Action Date is Mandatory for Follow Up Communication') 26 | else: 27 | check_date_time_diff(doc.next_action_date, hours_diff=1, \ 28 | type_of_check= 'time', name_of_field = 'Next Action') -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/department.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | from rigpl_erpnext.utils.rigpl_perm import * 6 | 7 | def validate(doc,method): 8 | allowed_ids = get_department_allowed_ids(doc) 9 | for user in allowed_ids: 10 | role_list = get_user_roles(user) 11 | role_in_settings, apply_to_all_doctypes, applicable_for = \ 12 | check_role(role_list, doc.doctype, apply_to_all_doctypes="None") 13 | if role_in_settings == 1: 14 | create_new_user_perm(allow=doc.doctype, for_value=doc.name, \ 15 | user=user, apply_to_all_doctypes=apply_to_all_doctypes, \ 16 | applicable_for=applicable_for) 17 | dept_perm_list = get_permission(allow=doc.doctype, for_value=doc.name) 18 | for perm in dept_perm_list: 19 | if perm[3] not in allowed_ids: 20 | delete_permission(perm[0]) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/expense_claim.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | 6 | def validate(doc,method): 7 | doc.deparment = frappe.get_value("Employee", doc.employee, "department") -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/holiday_list.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | from datetime import datetime, timedelta 6 | from frappe.utils import getdate 7 | 8 | def validate(doc,method): 9 | yr_start = getdate(doc.from_date) 10 | yr_end = getdate(doc.to_date) 11 | if doc.is_base_list == 1: 12 | doc.base_holiday_list = "" 13 | else: 14 | holiday_list_based_on = frappe.db.sql("""SELECT name FROM `tabHoliday List` 15 | WHERE base_holiday_list = '%s'"""%(doc.name),as_dict=1) 16 | if holiday_list_based_on: 17 | frappe.throw("Holiday List {} already is Base List for {} and hence Cannot \ 18 | be made non-base Holiday List".format(doc.name, holiday_list_based_on[0].name)) 19 | if doc.base_holiday_list == "": 20 | frappe.throw("Base Holiday List Mandatory for {}".format(doc.name)) 21 | else: 22 | base_holiday = frappe.get_value("Holiday List", doc.base_holiday_list, "is_base_list") 23 | if base_holiday != 1: 24 | frappe.throw("Base Holiday List {} Selected is Not a Base \ 25 | Holiday List in {}".format(doc.base_holiday_list, doc.name)) 26 | for d in doc.holidays: 27 | d.holiday_date = getdate(d.holiday_date) 28 | if d.holiday_date < yr_start or d.holiday_date > yr_end: 29 | frappe.msgprint(("""Error in Row# {0} has {1} date as {2} but it is not within 30 | FY {3}""").format(d.idx, d.description, d.holiday_date, doc.fiscal_year), raise_exception=1) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/item_group.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | from frappe.utils import cstr 6 | from datetime import datetime, timedelta 7 | 8 | def validate(doc,method): 9 | if doc.lft: 10 | childs = frappe.db.sql("""SELECT name FROM `tabItem Group` 11 | WHERE lft > %s AND rgt < %s""" % (doc.lft, doc.rgt), as_list=1) 12 | for i in childs: 13 | child = frappe.get_doc ("Item Group", i[0]) 14 | child.save() -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/item_price.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | import math 6 | from frappe.utils import flt 7 | 8 | def validate(doc,method): 9 | pl_doc = frappe.get_doc("Price List", doc.price_list) 10 | if pl_doc.price_round_type == 'CEILING': 11 | new_price = math.ceil(flt(doc.price_list_rate)/flt(pl_doc.rounding_multiple)) * pl_doc.rounding_multiple 12 | elif pl_doc.price_round_type == 'MROUND': 13 | new_price = round(flt(doc.price_list_rate)/flt(pl_doc.rounding_multiple)) * pl_doc.rounding_multiple 14 | 15 | else: 16 | new_price = doc.price_list_rate 17 | doc.price_list_rate = new_price -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/leave_application.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe.utils import add_days 5 | 6 | 7 | def validate(doc,method): 8 | doc.deparment = frappe.get_value("Employee", doc.employee, "department") 9 | #Check if there is any attendance for an employee 10 | att = frappe.db.sql("""SELECT name FROM `tabAttendance` 11 | WHERE docstatus = 1 AND employee = '%s' AND attendance_date >= '%s' AND 12 | attendance_date <= '%s'"""%(doc.employee, doc.from_date, doc.to_date), as_list=1) 13 | if att: 14 | frappe.throw(("Employee: {0} already has attendance between {1} and {2}").format(doc.employee_name, doc.from_date, doc.to_date)) 15 | if doc.half_day == 1: 16 | frappe.throw("Half Day Leave Application is Not Allowed") 17 | 18 | def on_submit(doc, method): 19 | create_attendance(doc) 20 | 21 | def create_attendance(la_doc): 22 | leave_days = la_doc.total_leave_days 23 | for lday in range(int(leave_days)): 24 | new_att = frappe.new_doc("Attendance") 25 | new_att.docstatus = 1 26 | new_att.employee = la_doc.employee 27 | new_att.employee_name = la_doc.employee_name 28 | new_att.attendance_date = add_days(la_doc.from_date, lday) 29 | if la_doc.total_leave_days == int(la_doc.total_leave_days): 30 | new_att.status = 'On Leave' 31 | new_att.company = la_doc.company 32 | new_att.department = la_doc.department 33 | new_att.flags.ignore_validate = True 34 | new_att.insert(ignore_permissions=True) 35 | frappe.msgprint("Created Attendance for Employee {}".format(la_doc.employee)) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/opportunity.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | 6 | def validate(doc,method): 7 | #Check if Lead is Converted or Not, if the lead is converted 8 | #then don't allow it to be selected without linked customer 9 | if doc.lead: 10 | link = frappe.db.sql("""SELECT name FROM `tabCustomer` 11 | WHERE lead_name = '%s'"""%(doc.lead), as_list=1) 12 | if doc.customer is None and link: 13 | frappe.throw(("Lead {0} is Linked to Customer {1} so kindly make quotation for \ 14 | Customer and not Lead").format(doc.lead, link[0][0])) 15 | elif doc.customer: 16 | if doc.customer != link[0][0]: 17 | frappe.throw(("Customer {0} is not linked to Lead {1} hence cannot be set\ 18 | in the Quotation").format(doc.customer, doc.lead)) 19 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/price_list.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | 5 | 6 | def validate(doc,method): 7 | #Disable SO only if not Disabled and also only if its for Selling 8 | if doc.selling != 1: 9 | if doc.disable_so == 1: 10 | doc.disable_so = 0 11 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/salary_component.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | 6 | def validate(doc, method): 7 | if doc.is_earning == 1: 8 | if doc.is_deduction == 1 or doc.is_contribution == 1: 9 | frappe.throw("Salary Component can either be Earning or Deduction or Contribution") 10 | 11 | if doc.is_deduction == 1: 12 | if doc.is_earning == 1 or doc.is_contribution == 1: 13 | frappe.throw("Salary Component can either be Earning or Deduction or Contribution") 14 | 15 | if doc.is_contribution == 1: 16 | if doc.is_earning == 1 or doc.is_deduction == 1: 17 | frappe.throw("Salary Component can either be Earning or Deduction or Contribution") 18 | 19 | if doc.is_contribution == 0 and doc.is_deduction == 0 and doc.is_earning == 0: 20 | frappe.throw("Salary Component has to be either of Earning or Deduction or Contribution") -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/salary_structure.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | from frappe.utils import money_in_words, flt 6 | 7 | def validate(doc,method): 8 | list = ['earnings', 'deductions', 'contributions'] 9 | check_edc(doc, list) 10 | 11 | def check_edc(doc,tables): 12 | #Only allow Earnings in Earnings Table and So On 13 | for i in tables: 14 | for comp in doc.get(i): 15 | sal_comp = frappe.get_doc("Salary Component", comp.salary_component) 16 | field = 'is_' + i[:-1] 17 | comp.depends_on_lwp = sal_comp.depends_on_lwp 18 | if sal_comp.get(field)!=1: 19 | frappe.throw(("Only {0} are allowed in {1} table check row# \ 20 | {2} where {3} is not a {4}").format(i, i, comp.idx, \ 21 | sal_comp.salary_component, i[:-1])) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/salary_structure_assignment.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | from erpnext.hr.doctype.payroll_entry.payroll_entry import get_start_end_dates 6 | 7 | def validate(doc,method): 8 | #Validate From Date should be first date of month 9 | if doc.from_date > doc.to_date: 10 | frappe.throw("From Date cannot be after To Date") 11 | 12 | date_details = get_start_end_dates("Monthly", doc.from_date) 13 | doj = frappe.db.get_value("Employee", doc.employee, "date_of_joining") 14 | 15 | if doj < date_details.end_date and doj >= date_details.start_date: 16 | doc.from_date = doj 17 | else: 18 | doc.from_date = date_details.start_date 19 | 20 | if doc.minimum_applicable > 0: 21 | if doc.basic_percent > 0: 22 | if ((doc.base + doc.variable) * doc.basic_percent)/100 < doc.minimum_applicable: 23 | frappe.throw("Basic Salary Cannot be Less than Minimum Applicable") -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/stock_reconciliation.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | 6 | def validate(doc,method): 7 | #Get Stock Valuation from Item Table 8 | for d in doc.items: 9 | query = """SELECT valuation_rate, is_purchase_item FROM `tabItem` WHERE name = '%s' """ % d.item_code 10 | vr = frappe.db.sql(query, as_list=1) 11 | if vr[0][0] != 0 or vr[0][0]: 12 | if d.warehouse == "REJ-DEL20A - RIGPL": 13 | d.valuation_rate = 1 14 | elif d.warehouse == "Dead Stock - RIGPL": 15 | d.valuation_rate = custom_round(vr[0][0]/4) 16 | elif d.valuation_rate == 1 or d.valuation_rate == 0: 17 | pass 18 | else: 19 | d.valuation_rate = vr[0][0] 20 | else: 21 | d.valuation_rate = 1 22 | 23 | def custom_round(number): 24 | if number < 100: 25 | return int(number) 26 | elif number < 500: 27 | return (int(number/5)*5) 28 | elif number < 1000: 29 | return (int(number/10)*10) 30 | elif number < 5000: 31 | return (int(number/50)*50) 32 | else: 33 | return (int(number/100)*100) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/supplier.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from rigpl_erpnext.utils.other_utils import validate_msme_no, validate_pan 5 | 6 | def validate(doc,method): 7 | msme_validations(doc) 8 | 9 | def msme_validations(doc): 10 | if not doc.payment_terms: 11 | frappe.throw("Payment Terms for Supplier {} is Mandatory".format(doc.name)) 12 | 13 | if doc.is_msme_registered == 1: 14 | if not doc.msme_number: 15 | frappe.throw("MSME Number is Mandatory for {}".format(doc.name)) 16 | if doc.msme_number: 17 | validate_msme_no(doc.msme_number) 18 | if not doc.pan: 19 | frappe.throw("Pan No is Mandatory for MSME Supplier {}".format(doc.name)) 20 | else: 21 | validate_pan(doc.pan) 22 | if doc.payment_terms: 23 | msme_compatible = frappe.get_value("Payment Terms Template", doc.payment_terms, "msme_compatible") 24 | if msme_compatible != 1: 25 | frappe.throw("Selected Payment Terms {} is not Allowed for \ 26 | MSME Supplier {}".format(doc.payment_terms, doc.name)) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/todo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | 6 | def validate(doc, method): 7 | if doc.reference_type == 'Communication': 8 | if doc.reference_name: 9 | comm_doc = frappe.get_doc('Communication', doc.reference_name) 10 | else: 11 | frappe.throw('Reference Name is Mandatory for {} Reference Type'.format(doc.reference_name)) 12 | if comm_doc.follow_up == 1 and doc.status == 'Closed': 13 | frappe.msgprint("If you don't wish to receive ToDo for this Communication \ 14 | then Click on Communication and uncheck the Follow Up Check Box \ 15 | or Change the next action date to be reminded again about this communication \ 16 | {}".format(frappe.get_desk_link("Communication", doc.reference_name))) -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/validations/work_order.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe import msgprint 5 | from frappe.model.mapper import get_mapped_doc 6 | from frappe.utils import cstr, flt, getdate, new_line_sep 7 | 8 | def validate(doc,method): 9 | pass 10 | 11 | @frappe.whitelist() 12 | def add_items_to_purchase_order(source_name, target_doc=None): 13 | def postprocess(source, target_doc): 14 | set_missing_values(source, target_doc) 15 | 16 | doclist = get_mapped_doc("Work Order", source_name, { 17 | "Work Order": { 18 | "doctype": "Purchase Order", 19 | "validation": { 20 | "docstatus": ["=", 1], 21 | "status": ["!=", "Stopped"] 22 | } 23 | }, 24 | "Work Order": { 25 | "doctype": "Purchase Order Item", 26 | "field_map": [ 27 | ["production_item", "item_code"], 28 | ["item_description", "description"], 29 | ["wip_warehouse", "warehouse"], 30 | ["sales_order", "prevdoc_docname"] 31 | ], 32 | "postprocess": update_item, 33 | "condition": lambda doc: doc.docstatus == 1 34 | } 35 | }, target_doc, postprocess) 36 | frappe.msgprint(doclist.items) 37 | return doclist 38 | 39 | def update_item(obj, target, source_parent): 40 | target.conversion_factor = 1 41 | target.qty = flt(obj.qty) 42 | target.stock_qty = target.qty 43 | 44 | def set_missing_values(source, target_doc): 45 | target_doc.run_method("set_missing_values") 46 | target_doc.run_method("calculate_taxes_and_totals") -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/web_form/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/web_form/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/web_form/contact_us/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/rigpl_erpnext/web_form/contact_us/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/web_form/contact_us/contact_us.js: -------------------------------------------------------------------------------- 1 | frappe.ready(function() { 2 | // bind events here 3 | }) 4 | -------------------------------------------------------------------------------- /rigpl_erpnext/rigpl_erpnext/web_form/contact_us/contact_us.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | 3 | import frappe 4 | 5 | def get_context(context): 6 | # do your magic here 7 | pass 8 | -------------------------------------------------------------------------------- /rigpl_erpnext/templates/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/templates/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/templates/generators/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/templates/generators/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/templates/pages/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/templates/pages/__init__.py -------------------------------------------------------------------------------- /rigpl_erpnext/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adityaduggal/rigpl-erpnext/fdff4bf88d66f0bddffb8481dedfa817d925a508/rigpl_erpnext/utils/__init__.py -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup, find_packages 2 | import os 3 | 4 | version = '0.0.1' 5 | 6 | setup( 7 | name='rigpl_erpnext', 8 | version=version, 9 | description='Rohit ERPNext Extensions', 10 | author='Rohit Industries Ltd.', 11 | author_email='aditya@rigpl.com', 12 | packages=find_packages(), 13 | zip_safe=False, 14 | include_package_data=True, 15 | install_requires=("frappe",), 16 | ) 17 | --------------------------------------------------------------------------------