Package: django-freckle-budgets
Django Freckle Budgets======================A reusable Django app that allows to plan year budgets and track them via letsfreckle.Installation------------To get the latest stable release from PyPi.. code-block:: bashpip install django-freckle-budgetsTo get the latest commit from GitHub.. code-block:: bashpip install -e git+git://github.com/bitmazk/django-freckle-budgets.git#egg=freckle_budgetsTODO: Describe further installation steps (edit / remove the examples below):Add ``freckle_budgets`` to your ``INSTALLED_APPS``.. code-block:: pythonINSTALLED_APPS = (...,'freckle_budgets',)Add the ``freckle_budgets`` URLs to your ``urls.py``.. code-block:: pythonurlpatterns = patterns('',...url(r'^freckle-budgets/', include('freckle_budgets.urls')),)Don't forget to migrate your database.. code-block:: bash./manage.py migrate freckle_budgetsFinally make sure to add the necessary settings to your ``local_settings.py``:.. code-block:: pythonFRECKLE_BUDGETS_ACCOUNT_NAME = 'your-freckle-account-name'FRECKLE_BUDGETS_API_TOKEN = 'your-freckle-api-token'Usage-----Add a year++++++++++The first thing you need to do is to add a year via the Django admin:* **Year**: This is the year you want to add, i.e. 2015* **Rate**: This is your hourly rate that you would like to get for newprojects in this year. This value will be used to calculate the potentialamount of money you could earn if you were fully booked out (one can beallowed to dream).* **Work hours per day**: The number of hours you will definitely work on eachwork day.* **Sick leave days**: The number of sick leave days that you estimate (this isper person, not the total for all employees)* **Vacation days**: The number of vacation days that each employee may takeduring this year.These values will be used to calculate the total number of hours that your teamcan possibly work during any month.Add months++++++++++Once you have added a year, you need to add twelve months for that year via theDjango admin:* **Year**: The year this month belongs to.* **Month**: The month number (i.e. 1 for January)* **Number of employees**: The number of employees that you will have duringthis month.* **Public holidays**: The number of public holidays that this month has inthis year.Again, these values are mainly needed to calculate the total number of hoursthat your team can work during this month.Add projects++++++++++++After adding a year and it's months, you need to add a few projects via theDjango admin:* **Name**: The display name for this project.* **Freckle project ID**: The project ID of this project in your freckleaccount.* **Color**: A CSS color code for this project (i.e. ``#C7B06F``)* **Is investment**: If you are working on this project for free (i.e. forinternal projects), enable this checkbox.Add project budgets to months+++++++++++++++++++++++++++++For each of your projects, add as many ``ProjectMonth`` objects as needed. Forexample, if you have a long running project that has budgets for the wholeyear, you would have to add twelve objects:* **Project**: The project you want to plan for.* **Month**: The month you want to plan for.* **Budget**: The budget that you can burn on this project during this month.* **Rate**: The hourly rate that you can bill for this project.Add employees+++++++++++++By now, your budget planning should look pretty good. It is time to add someemployees. You can do that via the Django admin:* **Name**: The name of your employee* **Freckle ID**: The user id of that employee in Letsfreckle.Add employee project months+++++++++++++++++++++++++++For each ``ProjectMonth`` you can define responsibilities for your employees:* **ProjectMonth**: Foreign key to the ``ProjectMonth`` you are referring to.* **Employee**: Foreign key to the ``Employee`` you are referring to.* **Responsibility**: Amount in percent (1-100). For example, 50 would meanthat this employee is responsible of working off 50% of the total budgetfor this project in this month.Add free time+++++++++++++If your employees know that they will have vacation days, or there are publicholidays, you can track those as well. This will raise the hours per day, sincethe same amount of hours will have to be spread over lesser days available inthe month:* **Employee**: Foreign key to the ``Employee`` who will be absent.* **Day**: The day when the employee will be absent.* **Is public holiday**: If ``True``, we will assume that this is a publicholiday. This could be interesting in the future to track, public holidays,sick-leave and vacation days.* **Is sick leave**: If ``True``, we will assume that this is a sick-leave day.This could be interesting in the future to track, public holidays, sick-leaveand vacation days.Contribute----------If you want to contribute to this project, please perform the following steps.. code-block:: bash# Fork this repository# Clone your forkmkvirtualenv -p python2.7 django-freckle-budgetsmake developgit co -b feature_branch master# Implement your feature and testsgit add . && git commitgit push -u origin feature_branch# Send us a pull request for your feature branchIn order to run the tests, simply execute ``tox``. It will create two morevenvs and run tests against Django 1.6 and Django 1.7.