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 and django-timepiece context processors 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", # <----
        "timepiece.context_processors.extra_nav", # <----
        "timepiece.context_processors.active_entries", # <----
    )
  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.4.tar.gz (1.2 MB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for django-timepiece-0.5.4.tar.gz
Algorithm Hash digest
SHA256 f573f362a5fc76675e052a6c1f9cff740e3c3ff3eb51c3d89b176b3dd71a8948
MD5 79763adc80cbccc092e095dd2edf3227
BLAKE2b-256 e79e62b79e051b97b91012fcd833ba1d16a9809d1969acbb63e3e4d092ef7a81

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