Skip to main content

django-timepiece is a multi-user application for tracking people's time on projects.

Project description

django-timepiece is a multi-user application for tracking people’s time on projects.

Features

  • A simple CRM with projects and businesses

  • User dashboards with budgeted hours based on project contracts

  • Time sheets with daily, weekly, and monthly summaries

  • Verified, approved, and invoiced time sheet workflows

  • Monthly payroll reporting with overtime, paid leave, and vacation summaries

  • Project invoicing with hourly summaries

Requirements

django-timepiece is compatible with Python 2.{6,7} and Django 1.{3,4}. PostgreSQL is the only offically supported database backend and, therefore, requires psycopg2. django-timepiece also depends on the following Django apps:

django-timepiece uses Sphinx and RST for documentation. You can use Sphinx to build the documentation

A makefile is included with the documentation so you can run make html in the doc/ directory to build the documentation

Installation

  1. django-timepiece is available on PyPI, so the easiest way to install it is to use pip:

    pip install django-timepiece
  2. Add timepiece to INSTALLED_APPS in settings.py and run syncdb:

    INSTALLED_APPS = (
        ...
        'timepiece',
        ...
    )
  3. Add django.core.context_processors.request to TEMPLATE_CONTEXT_PROCESSORS:

    TEMPLATE_CONTEXT_PROCESSORS = (
        "django.contrib.auth.context_processors.auth",
        "django.core.context_processors.debug",
        "django.core.context_processors.i18n",
        "django.core.context_processors.media",
        "django.contrib.messages.context_processors.messages",
        "django.core.context_processors.request", # <----
    )
  4. Add the timepiece URLs to urls.py, e.g.:

    urlpatterns = patterns('',
        ...
        (r'^timepiece/', include('timepiece.urls')),
        ...
    )
  5. Add the django.contrib.auth URLs to urls.py, e.g.:

    urlpatterns = patterns('',
        ...
        url(r'^accounts/login/$', 'django.contrib.auth.views.login',
            name='auth_login'),
        url(r'^accounts/logout/$', 'django.contrib.auth.views.logout_then_login',
            name='auth_logout'),
        url(r'^accounts/password-change/$',
            'django.contrib.auth.views.password_change',
            name='change_password'),
        url(r'^accounts/password-change/done/$',
            'django.contrib.auth.views.password_change_done'),
        url(r'^accounts/password-reset/$',
            'django.contrib.auth.views.password_reset',
            name='reset_password'),
        url(r'^accounts/password-reset/done/$',
            'django.contrib.auth.views.password_reset_done'),
        url(r'^accounts/reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$',
            'django.contrib.auth.views.password_reset_confirm'),
        url(r'^accounts/reset/done/$',
            'django.contrib.auth.views.password_reset_complete'),
        ...
    )

Testing

django-timepiece includes several different alternatives for testing. Test can be run using the default django test runner, through Tox, or with django-jenkins. Tox and django-jenkins are not required to run the tests for django-timepiece, but it is possible to use them:

pip install --upgrade tox django-jenkins

A Python module, run_tests.py, is included if you do not want to run tests using Tox. This is the Python module used to run tests when executing python setup.py test. The tests are run through Django, using Django’s default test runner. It accepts an optional argument, run_tests.py jenkins, that runs the tests using django-jenkins. Running the tests with django-jenkins also requires you to install coverage and pep8.

django-timepiece inclues a Tox configuration file to run tests in a variety of environments:

  • py26-1.3 - Test using Python 2.6 and Django 1.3.x

  • py26-1.4 - Test using Python 2.6 and Django 1.4.x

  • py27-1.3 - Test using Python 2.7 and Django 1.3.x

  • py27-1.4 - Test using Python 2.7 and Django 1.4.x

You can run any of the environments listed above using: tox -e name. The tests are run through Django’s default test runner, but you can also run the tests using django-jenkins along with tox by providing an extra argument: tox -e name -- jenkins.

Development sponsored by Caktus Consulting Group, LLC.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-timepiece-0.5.tar.gz (1.0 MB view details)

Uploaded Source

File details

Details for the file django-timepiece-0.5.tar.gz.

File metadata

File hashes

Hashes for django-timepiece-0.5.tar.gz
Algorithm Hash digest
SHA256 d65d4d42b3305f4bbdd86d96eb83f983659beb2712c87f96ecf6de4bdc1171b7
MD5 67733f51fda0f11ca2233de725b829b8
BLAKE2b-256 559d95fafc65c81b92f7a90f6536eaa3af12f9d88872f840c32460149c066910

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page