Skip to main content

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.

Metadata

Release files for django-assignment-desk 0.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-assignment-desk 0.1.10
File Size Uploaded
django-assignment-desk-0.1.10.tar.gz 1.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-assignment-desk 0.1.10
File Interpreter ABI Platform
django_assignment_desk-0.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 3.5 MB

Release files / django-assignment-desk-0.1.10.tar.gz

Download URL django-assignment-desk-0.1.10.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
b7fbeb81a288b3d7a9db29d84911cb9a616fabcc37865643207fd7f46956c886
BLAKE2b-256 checksum
How to use checksums
eaf796373d91991cbec9e56cc7b2737aaa5a5a8167f091f76c81e46195974b82
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / django_assignment_desk-0.1.10-py3-none-any.whl

Download URL django_assignment_desk-0.1.10-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3cf91f4feedee5252e5bda53bde100e87f43a1f0c01342438d80717a10214ca8
BLAKE2b-256 checksum
How to use checksums
1e2a86b90d07349ba4fa6e69dc8b4ef22979b8ff4a746a18fe3d4a1dc23acde5
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page