All contributions to django-helpdesk must be under the BSD license documented in the LICENSE file in the top-level directory of this project. By submitting a contribution to this project (in any way: via e-mail, via GitHub forks, attachments, etc), you acknowledge that your contribution is open-source and licensed under the BSD license.
If you or your organisation does not accept these license terms then we cannot accept your contribution. Please reconsider!
Translations
------------
Although django-helpdesk has originally been written for the English language, there are already multiple translations to Spanish, Polish, and German and more translations are welcomed.
Translations are handled using the excellent Transifex service which is much easier for most users than manually editing .po files. It also allows collaborative translation. If you want to help translate django-helpdesk into languages other than English, we encourage you to make use of our Transifex project:
Wherever possible please break git commits up into small chunks that are specific to a single bit of functionality. For example, a commit should not contain both new functionality *and* a bugfix; the new function and the bugfix should be separate commits wherever possible.
Commit messages should also explain *what*, precisely, has been changed.
Currently, test coverage is very low. We're working on increasing this, and to make life easier we are using `Travis CI` (http://travis-ci.org/) for continuous integration. This means that the test suite is run every time a code change is made, so we can try and make sure we avoid basic bugs and other regressions.
As a general policy, we will only accept new feature commits if they are accompanied by appropriate unit/functional tests (that is, tests for the functionality you just added). Bugfixes should also include new unit tests to ensure the bug has been fixed.
More significant code refactoring must also include proper integration or validation tests, to be committed BEFORE the refactoring patches. This is to ensure that the refactored code produces the same results as the previous code base.
Any further integration or validation tests (tests for the entire django-helpdesk application) are not required but greatly appreciated until we can improve our overall test coverage.
As well as making your normal code changes to ``models.py``, please generate a Django migration file and commit it with your code. You will want to use a command similar to the following::
Make sure that ``migration_name`` is a sensible single-string explanation of what this migration does, such as *add_priority_options* or *add_basket_table*.