invoiceninja/docs/custom_modules.rst

74 lines
1.6 KiB
ReStructuredText
Raw Normal View History

2016-12-07 23:16:11 +02:00
Custom Modules
==============
Invoice Ninja support customs modules using https://github.com/nWidart/laravel-modules
2016-12-09 14:28:28 +02:00
.. Note:: This currently requires using the develop branch
2016-12-07 23:16:11 +02:00
Install Module
""""""""""""""
To install a module run:
2016-12-07 23:17:28 +02:00
.. code-block:: php
2016-12-07 23:16:11 +02:00
php artisan module:install <vendor/module> --type=github
For example:
2016-12-07 23:17:28 +02:00
.. code-block:: php
2016-12-07 23:16:11 +02:00
php artisan module:install invoiceninja/sprockets --type=github
You can check the current module status with:
2016-12-07 23:17:28 +02:00
.. code-block:: php
2016-12-07 23:16:11 +02:00
php artisan module:list
Create Module
"""""""""""""
2016-12-09 14:18:22 +02:00
Run the following command to create a CRUD module:
2016-12-07 23:16:11 +02:00
2016-12-07 23:17:28 +02:00
.. code-block:: php
2016-12-07 23:16:11 +02:00
2016-12-09 14:23:24 +02:00
php artisan ninja:make-module <module> <fields>
.. code-block:: php
php artisan ninja:make-module Inventory 'name:string,description:text'
2016-12-07 23:16:11 +02:00
2016-12-09 14:10:46 +02:00
You can make adjustments to the migration file and then run:
.. code-block:: php
2016-12-09 14:19:28 +02:00
php artisan module:migrate <module>
2016-12-09 14:10:46 +02:00
To create and migrate in one step add ``--migrate=true``
.. code-block:: php
2016-12-09 14:23:24 +02:00
php artisan ninja:make-module <module> <fields> --migrate=true
2016-12-07 23:16:11 +02:00
.. Tip:: You can specify the module icon by setting a value from http://fontawesome.io/icons/ for "icon" in modules.json.
Share Module
""""""""""""
To share your module create a new project on GitHub and then commit the code:
2016-12-07 23:17:28 +02:00
.. code-block:: php
2016-12-07 23:16:11 +02:00
cd Modules/<module>
git init
git add .
git commit -m "Initial commit"
git remote add origin git@github.com:<vendor/module>.git
git push -f origin master
.. Tip:: Add ``"type": "invoiceninja-module"`` to the composer.json file to help people find your module.
2016-12-07 23:17:28 +02:00
Finally, submit the project to https://packagist.org.