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

Uploaded Source

Built Distribution

django_assignment_desk-0.1.10-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: django-assignment-desk-0.1.10.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.6.3 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.6

File hashes

Hashes for django-assignment-desk-0.1.10.tar.gz
Algorithm Hash digest
SHA256 b7fbeb81a288b3d7a9db29d84911cb9a616fabcc37865643207fd7f46956c886
MD5 1464c66c3e29e79dae1c5f3fb9556ecc
BLAKE2b-256 eaf796373d91991cbec9e56cc7b2737aaa5a5a8167f091f76c81e46195974b82

See more details on using hashes here.

File details

Details for the file django_assignment_desk-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: django_assignment_desk-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.6

File hashes

Hashes for django_assignment_desk-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 3cf91f4feedee5252e5bda53bde100e87f43a1f0c01342438d80717a10214ca8
MD5 394a745d483c52e235e73772357189c3
BLAKE2b-256 1e2a86b90d07349ba4fa6e69dc8b4ef22979b8ff4a746a18fe3d4a1dc23acde5

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