├── .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 |
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 |
--------------------------------------------------------------------------------