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

Uploaded Source

Built Distribution

django_assignment_desk-0.1.9-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.9.tar.gz.

File metadata

  • Download URL: django-assignment-desk-0.1.9.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.9.tar.gz
Algorithm Hash digest
SHA256 90bc1ce1ddd5d3b4dc8e2fbb723b4d2d9f972a5cc1fef75dc984a5b1c96de99d
MD5 73f08d9001cb1169efd020fd10dd73fe
BLAKE2b-256 aa9d3ac19f027473dad86447b0f3296e1445121cb09fb075bbe850169aa129db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: django_assignment_desk-0.1.9-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.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4d2b76673fc020a600b6a058684c1a52b3df5d8813bbfc8627ba1d3ecbe3a733
MD5 cc85256a7e06d7d26bfd99120b4b07f2
BLAKE2b-256 64577d1219214e8662461df4d2e6ec83e24924e78e82c194d1fb60fa8987eb95

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