Initial commit: Vendor Sales Report Magento 2 module
This commit is contained in:
21
etc/acl.xml
Normal file
21
etc/acl.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0"?>
|
||||
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Acl/etc/acl.xsd">
|
||||
<acl>
|
||||
<resources>
|
||||
<resource id="Magento_Backend::admin">
|
||||
<resource id="Magento_Reports::report">
|
||||
<resource id="Magento_Reports::report_salesroot">
|
||||
<resource id="Shopkeeper_VendorSalesReport::report" title="Vendor Sales Report" sortOrder="999"/>
|
||||
</resource>
|
||||
</resource>
|
||||
<resource id="Magento_Backend::stores">
|
||||
<resource id="Magento_Backend::stores_settings">
|
||||
<resource id="Magento_Config::config">
|
||||
<resource id="Shopkeeper_VendorSalesReport::config" title="Vendor Sales Report"/>
|
||||
</resource>
|
||||
</resource>
|
||||
</resource>
|
||||
</resource>
|
||||
</resources>
|
||||
</acl>
|
||||
</config>
|
||||
12
etc/adminhtml/menu.xml
Normal file
12
etc/adminhtml/menu.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0"?>
|
||||
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
|
||||
<menu>
|
||||
<add id="Shopkeeper_VendorSalesReport::report"
|
||||
title="Vendor Sales Report"
|
||||
module="Shopkeeper_VendorSalesReport"
|
||||
sortOrder="999"
|
||||
parent="Magento_Reports::report_salesroot"
|
||||
action="vendorsalesreport/report/index"
|
||||
resource="Shopkeeper_VendorSalesReport::report"/>
|
||||
</menu>
|
||||
</config>
|
||||
8
etc/adminhtml/routes.xml
Normal file
8
etc/adminhtml/routes.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
|
||||
<router id="admin">
|
||||
<route id="vendorsalesreport" frontName="vendorsalesreport">
|
||||
<module name="Shopkeeper_VendorSalesReport"/>
|
||||
</route>
|
||||
</router>
|
||||
</config>
|
||||
55
etc/adminhtml/system.xml
Normal file
55
etc/adminhtml/system.xml
Normal file
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0"?>
|
||||
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
|
||||
<system>
|
||||
<tab id="shopkeeper" translate="label" sortOrder="300">
|
||||
<label>Shopkeeper</label>
|
||||
</tab>
|
||||
<section id="vendorsalesreport" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="0" showInStore="0">
|
||||
<label>Vendor Sales Report</label>
|
||||
<tab>shopkeeper</tab>
|
||||
<resource>Shopkeeper_VendorSalesReport::config</resource>
|
||||
<group id="general" translate="label" type="text" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
|
||||
<label>General Settings</label>
|
||||
<field id="enabled" translate="label comment" type="select" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
|
||||
<label>Enable Automated Monthly Report</label>
|
||||
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
|
||||
<comment>When enabled, report will be generated automatically on the 1st of each month</comment>
|
||||
</field>
|
||||
<field id="order_status" translate="label comment" type="multiselect" sortOrder="20" showInDefault="1" showInWebsite="0" showInStore="0">
|
||||
<label>Order Status Filter</label>
|
||||
<source_model>Magento\Sales\Model\Config\Source\Order\Status</source_model>
|
||||
<comment>Select which order statuses to include in the report</comment>
|
||||
</field>
|
||||
</group>
|
||||
<group id="email" translate="label" type="text" sortOrder="20" showInDefault="1" showInWebsite="0" showInStore="0">
|
||||
<label>Email Settings</label>
|
||||
<field id="enabled" translate="label comment" type="select" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
|
||||
<label>Enable Email</label>
|
||||
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
|
||||
<comment>Send automated report via email</comment>
|
||||
</field>
|
||||
<field id="recipients" translate="label comment" type="text" sortOrder="20" showInDefault="1" showInWebsite="0" showInStore="0">
|
||||
<label>Email Recipients</label>
|
||||
<comment>Comma-separated email addresses (e.g., vendor@example.com, admin@example.com)</comment>
|
||||
<depends>
|
||||
<field id="enabled">1</field>
|
||||
</depends>
|
||||
</field>
|
||||
<field id="subject" translate="label comment" type="text" sortOrder="30" showInDefault="1" showInWebsite="0" showInStore="0">
|
||||
<label>Email Subject</label>
|
||||
<comment>Subject line for automated report emails. Use {{month}} and {{year}} for dynamic values.</comment>
|
||||
<depends>
|
||||
<field id="enabled">1</field>
|
||||
</depends>
|
||||
</field>
|
||||
<field id="sender" translate="label" type="select" sortOrder="40" showInDefault="1" showInWebsite="0" showInStore="0">
|
||||
<label>Email Sender</label>
|
||||
<source_model>Magento\Config\Model\Config\Source\Email\Identity</source_model>
|
||||
<depends>
|
||||
<field id="enabled">1</field>
|
||||
</depends>
|
||||
</field>
|
||||
</group>
|
||||
</section>
|
||||
</system>
|
||||
</config>
|
||||
16
etc/config.xml
Normal file
16
etc/config.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0"?>
|
||||
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
|
||||
<default>
|
||||
<vendorsalesreport>
|
||||
<general>
|
||||
<enabled>1</enabled>
|
||||
<order_status>complete</order_status>
|
||||
</general>
|
||||
<email>
|
||||
<enabled>1</enabled>
|
||||
<subject>Monthly Thermo Report - {{month}} {{year}}</subject>
|
||||
<sender>general</sender>
|
||||
</email>
|
||||
</vendorsalesreport>
|
||||
</default>
|
||||
</config>
|
||||
8
etc/crontab.xml
Normal file
8
etc/crontab.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">
|
||||
<group id="default">
|
||||
<job name="shopkeeper_vendorsalesreport_monthly" instance="Shopkeeper\VendorSalesReport\Cron\GenerateMonthlyReport" method="execute">
|
||||
<schedule>0 2 1 * *</schedule>
|
||||
</job>
|
||||
</group>
|
||||
</config>
|
||||
4
etc/email_templates.xml
Normal file
4
etc/email_templates.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0"?>
|
||||
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Email:etc/email_templates.xsd">
|
||||
<template id="vendorsalesreport_email_template" label="Vendor Sales Report Email" file="report.html" type="html" module="Shopkeeper_VendorSalesReport" area="adminhtml"/>
|
||||
</config>
|
||||
10
etc/module.xml
Normal file
10
etc/module.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0"?>
|
||||
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
|
||||
<module name="Shopkeeper_VendorSalesReport" setup_version="1.0.0">
|
||||
<sequence>
|
||||
<module name="Magento_Sales"/>
|
||||
<module name="Magento_Backend"/>
|
||||
<module name="Magento_Cron"/>
|
||||
</sequence>
|
||||
</module>
|
||||
</config>
|
||||
Reference in New Issue
Block a user