Package: django-assignment-desk
django-assignment-deskdjango-assignment-deskis a simple Django app to store and manage weekly editorial staff assignments.It depends on a staff list (such as the one provided bydjango-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 usesdjango.contrib.postgres; therefore _it requires a PostgreSQL database and a Python-to-Postgres adapter likepsycopg2orpsycopg2-binaryto run.More detailed documentation will be added at a later date.Quick startInstall this app:pip install django-assignment-deskAdd six entries (four helper apps, "editorial_staff" and "assignment_desk") to your INSTALLED_APPS setting (insettings.py) like this:INSTALLED_APPS = [
    ...
    'django.contrib.humanize',
    ...
    'bootstrap3',
    'colorfield',
    'rest_framework',
    ...
    'editorial_staff',
    'assignment_desk',
]NOTE:If you already installeddjango-editorial-staff, you may have a number of these in yourINSTALLED_APPSsetting already. They only need to be listed once.Add (or update) the following lines to yoursettings.pyfile (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.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')),Runpython manage.py migrateto install the data models into your database.NOTE:As mentioned above, this command will fail if you're not using a PostgreSQL database.Start the development server and visithttp://127.0.0.1:8000/assignments/to start editing assignments.ConfigurationYou can specify the following configuration options in your project'ssettings.pyfile. All are optional:Setting nameIntended value(s)PurposeASSIGNMENT_DESK_LOGOUT_URLAny reversible URL patternIf set, includes a "log out" link in the navigation on eachdjango-assignment-deskpage.ASSIGNMENT_DESK_DAY_INTERVALInteger (default is 7)How many days should be included in an assignment list.Front-end developmentdjango-assignment-deskfront-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.Open a terminal window and navigate to the root of this app.Within the app, navigate to./assignment_desk/staticapp.If this is your first time running Gulp on this project, runnpm installto install JS dependencies. This may take several minutes.Once your dependencies are installed, rungulpto begin local development.When your Gulp server says it's up and running, visithttp://127.0.0.1:3000/assignments/for a live preview of your front-end files.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.