Skip to main content

A simple app to manage newsroom staff assignments.

Project description

django-assignment-desk

django-assignment-desk is a simple Django app to store and manage weekly editorial staff assignments.

It depends on a staff list (such as the one provided by django-editorial-staff), and returns a rich API that can be queried by any number of consumers (we're using it to feed both a read-only web interface and a chatbot).

This app uses django.contrib.postgres; therefore _it requires a PostgreSQL database and a Python-to-Postgres adapter like psycopg2 or psycopg2-binary to run.

More detailed documentation will be added at a later date.

Quick start

  1. Install this app:

     pip install django-assignment-desk
    
  2. Add six entries (four helper apps, "editorial_staff" and "assignment_desk") to your INSTALLED_APPS setting (in settings.py) like this:

    INSTALLED_APPS = [
        ...
        'django.contrib.humanize',
        ...
        'bootstrap3',
        'colorfield',
        'rest_framework',
        ...
        'editorial_staff',
        'assignment_desk',
    ]
    

    NOTE: If you already installed django-editorial-staff, you may have a number of these in your INSTALLED_APPS setting already. They only need to be listed once.

  3. Add (or update) the following lines to your settings.py file (to configure form rendering):

     BOOTSTRAP3 = {
         'field_renderers': {
             'default': 'bootstrap3.renderers.FieldRenderer',
             'inline': 'bootstrap3.renderers.InlineFieldRenderer',
             'immaterial': 'assignment_desk.field_renderers.ImmaterialFieldRenderer',
         },
     }
    

    NOTE: Again, these lines only need to be listed once. If you already had similar lines, replace them with the version written here.

  4. Include the editorial_staff and assignment_desk URLconfs in your project's urls.py like this:

    url(r'^staff/', include('editorial_staff.urls')),
    url(r'^assignments/', include('assignment_desk.urls')),
    
  5. Run python manage.py migrate to install the data models into your database.

    NOTE: As mentioned above, this command will fail if you're not using a PostgreSQL database.

  6. Start the development server and visit http://127.0.0.1:8000/assignments/ to start editing assignments.

Configuration

You can specify the following configuration options in your project's settings.py file. All are optional:

Setting name Intended value(s) Purpose
ASSIGNMENT_DESK_LOGOUT_URL Any reversible URL pattern If set, includes a "log out" link in the navigation on each django-assignment-desk page.
ASSIGNMENT_DESK_DAY_INTERVAL Integer (default is 7) How many days should be included in an assignment list.

Front-end development

django-assignment-desk front-end pages are built using ES6 and SCSS, and this app includes a Gulp installation that converts files written in these dialects to plain JavaScript and CSS, respectively.

When developing on the front-end, you'll need to run this Gulp installation yourself. Follow these steps to get started.

  1. Open a terminal window and navigate to the root of this app.

  2. Within the app, navigate to ./assignment_desk/staticapp.

  3. If this is your first time running Gulp on this project, run npm install to install JS dependencies. This may take several minutes.

  4. Once your dependencies are installed, run gulp to begin local development.

  5. When your Gulp server says it's up and running, visit http://127.0.0.1:3000/assignments/ for a live preview of your front-end files.

  6. Proceed to modify your front-end interface by changing files in ./assignment_desk/staticapp/scss/ and ./assignment_desk/staticapp/js/. Your changes will be applied to the Gulp server URL without the need for to reload the page manually.

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-assignment-desk-0.1.8.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

django_assignment_desk-0.1.8-py2.py3-none-any.whl (2.2 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-assignment-desk-0.1.8.tar.gz.

File metadata

  • Download URL: django-assignment-desk-0.1.8.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for django-assignment-desk-0.1.8.tar.gz
Algorithm Hash digest
SHA256 442ab878b444daaaaefe1fc9698515add9903920c254e7c73a40649a5a43a327
MD5 49232cffdbc8ba1c03fd14c38c258c81
BLAKE2b-256 8ca3884492c3bb07e4f444a2a54627c4eca20b02c355b2a8f8e94c6512126aff

See more details on using hashes here.

File details

Details for the file django_assignment_desk-0.1.8-py2.py3-none-any.whl.

File metadata

  • Download URL: django_assignment_desk-0.1.8-py2.py3-none-any.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for django_assignment_desk-0.1.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a626c860cc2519fbe4ac40f6ca50fc535dfd9d9e527e3e491f94e4893ac3238b
MD5 07a7e6ab0d8d2280add16e52aa6fe0fe
BLAKE2b-256 ab8b18cc53e4fba7847d4eb69360a6c80162e852200ec92893846b59e87d96c4

See more details on using hashes here.

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