Welcome to CTS’s documentation!

_images/logo.png

The International Rescue Committee (IRC) has built a remote verification and monitoring system in order to track and report on the movement of goods to ensure that the intended beneficiaries receive them. Due to staffing and lack of access in some of the places we work, the monitoring system makes use of creative remote monitoring methods (such as mobile data collection, QR coding and GPS mapping) that integrates with a web application for administration, management and reporting on the status of shipments. This system is known as the Commodity Tracking System (CTS).

This is CTS’s user and developer documentation. To explore other open source IRC projects, please see IRC’s GitHub account.

Contents:

User Guide

This is the user guide for using and managing a CTS instance via the frontend web interface. Please see the Developer Documentation for technical setup and contributing guides.

Users

In order to access CTS, one must have a User account. Users are administered via the Users link in the primary navigation. From this user listing, users can be added, edited, or deleted.

  • Email Address – Unique identifier and username for site authentication
  • Name – The name of the user
  • Mobile – The mobile phone number that a user can be reached at
  • Skype – The Skype username for the user
  • Role – The role that the user possesses in the system
  • Colour – A color swatch associated with the user

All fields are editable except for Code and Device ID.

  • A unique QR code is generated for the User when initially saved.
  • The Device ID for a User is populated when a User scans their QR Code via a CTS provided phone.

Roles and Permissions

CTS uses a number of user roles and associated permissions to ensure that site users have the right level of access.

Coordinator

The IRC Coordinator is the administrator of the Supply Chain System. He/She is the only user permitted to enter and view Referrer, Transporter and Receiver/End User data. The Monitoring Manager reports to the Coordinator.

Monitoring Manager

The Monitoring Manager is a primary user of the system. The system is designed to enable the Monitoring Manager to aid with the project’s required monitoring and reporting. The Monitoring Manager reports to the Coordinator.

The monitoring manager’s privileges are currently the same as the monitoring officer.

Monitoring Officer

IRC Warehouse staff are typically assigned to the role of Monitor Officer. They will create and update a catalog of items, receive shipments (“stock in”), and create packages that can be combined into shipments. This user reports to the Monitoring Manager.

Partner

Recipient - These may be doctors, clinics, or service provision organizations operating inside Syria and responding to the medical needs of conflict-affected Syrians.

Create/Edit User

Users with the Coordinator role are able to create and edit other users. It is during the create/edit process that a User can have their role assigned or changed.

  1. Navigates to /users/
  2. Click New User or the Edit pencil icon in the row of the User to edit
  3. Add/Edit required fields
  4. In the modal, choose an appropriate Role from the dropdown list
  5. Click Add/Save User to save the User.

If a new user was created, the system will send the user an email with an account activation link, similar to:

You’re receiving this email because a new account has been created for you at [server url].

Please go to the following page and choose a new password:

http://[server url]/reset/OTc/[3vn-6f7ca745c7e936513a0d]/

Your email (remember for logging in later): [email address]

Thanks for using our site!

The [server url] team

When the recipient of the email clicks the activation link, they will be asked to create and confirm a password for the new user account. Once saved, the user can then login to the system.

Change Password

A user may changed their password in one of two ways.

A logged in user can selected the Password link in the menu to reset their password.

A user that has forgotten their login credentials can request instructions for resetting their password from the login form via the Forgotten your password? link. The user must supply the email associated with the account and the system will send them instructions as to how to reset the password.

Catalog

The CTS catalog represents physical items that are placed in package templates called Kits. The catalog itself is not a true inventory system, in that it is not aware of stock levels. Rather, it allows for users to create the blueprints for the content of packages to be shipped.

The catalog is accessible via the Catalog link in the primary navigation.

Catalog Item

A catalog item is defined by the following fields:

  • Item Code – A CTS defined code to identify the item
  • Description – A title or short description for the item
  • Category – The category of the item (Antibiotics, for example)
  • Unit – The unit of measurement (1 box of 12 20-foot rolls of bandage, for example)
  • Donor – The associated Donor from the CTS entities
  • T1 Code – The associated T1 Donor Code from the CTS entities
  • Supplier – The provider that fulfilled this item
  • Local Currency Cost – The cost per unit in the local currency
  • USD Cost – The cost per unit in U.S. Dollars
  • Weight – The weight of a unit

When selecting a category during Catalog Item creation/editing, one can choose an existing category via auto-completion or supply a new category name.

Kit

The catalog is the interface to define a Kit which is a package template. For example, a user could define a Winter Kit and add catalog items such as blankets, coats, etc. Defining this Winter Kit and its items does not in itself create packages for shipments. It only provides the details of what items should be included in a Package that is based off of a Winter Kit.

Catalog Listing

The catalog listing page allow for a number of basic interactions:

  • New Item allows for creation of a new Catalog Item
  • Create Kit allows for creation of a new Kit
  • Edit Catalog Item clicking the pencil icon for a Catalog Item will allow for editing of the Catalog Item in a modal
  • Delete Catalog Item clicking the X icon for a Catalog Item will allow for deletion of the Catalog Item
  • Select Kit selects the current Kit that catalog items will be added to

Creating a Kit is straightforward:

  1. Select Create Kit from the catalog list interface
  2. Provice a short name and description
  3. Press Add Kit

Once a Kit has been created (or selected from the list of existing kits), additional functionalities are exposed in the interface:

  • View Kit renders the details about the current selected kit in a modal interface
  • Add Item to Kit When you use the ‘+’ button next to an item, the quantity you specify will be added to this kit.
  • Add All Items to Kit Clicking the green ‘+’ icon in the table header will add all Catalog Items with defined quantities to the selected Kit
  • Clear All Quantities Clicking the 0 in the Quantity table header will reset all defined quantities to none.

Shipments

A CTS Shipment contains Packages of items for distribution. Typically, packages are generated from pre-defined Kits that act as a template for the Package(s).

Shipment

The list of shipments is accessible via the Shipments link in the primary navigation. From here you can create, edit, delete shipments and access the map view.

A shipment can be created via the Create Shipment button on the /shipments/. The editable attributes of a shipment are:

  • Description – this field is auto populated if left empty, but a custom value can be supplied if desired
  • Store Release (required) – A CTS provided value
  • Partner (required) – The associated Partner for this Shipment
  • Transporter – The associated Transporter for this Shipment
  • Shipment Date (required) – The anticipated date that this shipment will leave the warehouse
  • Est. Delivery (in days) – The estimated number of days before this Shipment should arrive at its destination. Setting this field will allow the system to derive when Shipments are overdue.

Shipment Status

Shipment status is not directly editable. Rather, it will auto update based on various parameters related to the Shipment itself.

  • In Progress – Shipment is in an ‘editable’ state in terms of adding or removing packages (and items)
  • Ready for pickup – Shipment is no longer editable in terms of adding or removing packages (and items)
  • Picked up – Shipment Package(s) have been scanned via the mobile Package Delivery Status Form at a picked up location
  • In transit – Shipment Package(s) have been scanned via the mobile Package Delivery Status Form at an in transit location
  • Received –Shipment Package(s) have been scanned via the mobile Package Delivery Status Form at a received location
  • Overdue – The end user will see a Shipment as overdue when the calculated expected date of arrival for the Shipment has passed
  • Lost – Shipment has been marked as lost
  • Cancelled – Shipment has been marked as cancelled

Shipment Actions

In addition to being able to Save a Shipment, additional actions are available on the Shipment object.

  • Finalize – Disables adding/editing additional packages and/or items to a Shipment. This also changes the Shipment status to ready for pickup
  • Re-open – Enables adding/editing packages and/or items in a Shipment and resets the Shipment status to In Progress
  • Print – Exposes additional print options
    • Summary Manifests printable summary of Packages (and Package Items) for the Shipment
    • Full Manifests – printable list of Packages (and Package Items) with barcodes for the Shipment
    • Shipment Details – printable detailed listing of Shipment, Package, and Package Item information
    • Package Barcodes – printable package barcodes for the Shipment
  • Cancel – Cancel editing the current Shipment
  • Cancel Shipment – Mark the Shipment as cancelled
  • Lost – Mark the Shipment as lost. A Shipment can be marked as lost in the web interface once it has been finalized and has shipped
  • Edit lost note – Edit the lost note

Packages

Once a Shipment is created, a User can start adding Packages to it. Packages can either be created manually via Create New Package or generated based off of an existing Kit via Create Package from Kit. The latter action provides an interface from which a User can search existing Kits, and select one or more to then create the Shipment Package from. If multiple Kits are selected a name and description must be provided for the Package. If a single Kit is selected the Package will inherit the name and description from the selected Kit.

As Packages are added to the Shipment, the User is able to drill down into each Package and edit as needed. Items can be added via Add Item or existing items within a package may be removed or edited. Editing item records can be done singularly or via Bulk Edit. For instance, all items within a Package may need their default Donor updated.

Maps

CTS provides maps to visualize where Shipments and Packages have been scanned.

Shipments Map

The Shipments Map is accessible from the Shipment listing page. Click the Map View button to navigate to the map. The map initially loads with no data. A user can filter available map data by Donor, Partner, or specific Shipment.

  • Donor – View shipments associated with the selected donor
  • Partner – View shipments associated with the selected partner
  • Shipment – View the selected shipment
  • reset – Resets all selected filters

Package Map

If a Shipment has shipped, maps of individual package scans are accessible when viewing the detail page of a shipment.

  1. From the shipment listing, select a shipment that has shipped
  2. Click the globe icon for a package

This will render the location scans for this particular package along with related metadata.

Entities

There are a number of miscellaneous content types collectively referred to as Entities. These entities are utilized with Catalog Items (Categories, Donors, Donor Codes), Shipments (Transporters), and items within a Package (Supplier).

To drill down and navigate to a particular entity type, click Entities in the primary navigation.

Categories

Categories display the set of currently defined categories that a Catalog Item can be assigned. Categories are accessible via the Entities submenu. From this category listing a User can add, edit, or delete categories.

Alternatively, a new category can be created during the Adding/Editing of a Catalog Item.

Donors

Catalog Items can be associated with a Donor. Donors are accessible via the Entities submenu. From this donor listing a User can add, edit, or delete donors.

Donor Codes

Donors can be assigned T1 and/or T3 Codes. These Donor Codes are accessible via the Entities submenu. From this listing a User can add, edit, or delete donor codes.

Suppliers

When a Shipments’ Packages are generated, the items within the Package come from a Supplier. Suppliers are accessible via the Entities submenu. From this supplier listing a User can add, edit, or delete suppliers.

Transporters

When a Shipment is added/edited, a Transporter is assigned. Transporters are accessible via the Entities submenu. From this transporter listing a User can add, edit, or delete transporters.

Mobile Forms

CTS makes heavy use of form submissions from mobile devices. One requirement for these mobile devices is that they must support form submissions while the phone has no connectivity. To fulfill this requirement CTS utilizes Ona and ODK Collect.

Please familiarize yourself with the ODK Collect documentation before proceeding.

Configure ODK Collect

In order to access the required CTS Forms, you will need to configure ODK Collect on the mobile device.

  1. Open ODK Collect on the device
  2. Press the Menu button on the device
  3. Select General Settings
  4. Update the URL to https://ona.rescue.org/[username]
  5. Press the Back button on the device
  6. Press Get Blank Form in ODK Collect
  7. Select all forms
  8. Press Get Selected

Submit Form Data

Once a device has forms on it, a user can open ODK Collect and fill out a blank instance of a form.

  1. Select Fill Blank Form
  2. Choose a form
  3. Fill out the form
  4. Mark the form as finalized
  5. Press Save Form and Exit

Upload Form Data

ODK Collect stores completed form submissions on the device. ODK Collect can be configured to automatically upload stored form submissions when the device is conected to wifi.

If automatic upload is not configured, you must manually upload the completed forms.

  1. Select Send Finalized Form
  2. Select the form instance(s) to upload
  3. Press Send Selected
  4. You will be informed of upload successes and failures

User Device Capture Form

The User Device Capture Form is a very simple form. It has one form input that requires scanning a QR code associated with a CTS User. The QR code can be found by navigating to the list of Users and clicking the QR code icon. This will open the unique user QR code in a new browser tab/window.

The web application polls Ona for new form submissions and updates a user’s deviceid as needed.

Package Delivery Form

The Package Delivery Form allows CTS and Partner personnel to update information related to a shipment and its packages during the lifecycle of the shipment. The Package Delivery From is much more complex than the User Device Capture Form:

  • Governate – Select the current administrative division
  • District – Select the current district
  • Sub-District – Select the current sub-district
  • Community – Supply the current community
  • P-code – If known, supply the current GPS precision code
  • Current Location – Select the Shipment’s current location
  • Record Current Location – Record the current GPS coordinates
  • Number of Packages – Supply the number of packages to scan
  • Package Information – Scan the QR code for each package
  • Shipment Complete – Mark if the Shipment is complete
  • Shipment Inomplete Reason – Supply the reason the Shipment is incomplete

Voucher Tracking Form

The Voucher Tracking form allows IRC personnel to activate a voucher which is to be given to a recipient. This is similar to the Package Delivery Form in that it collects location information. Unlike a Package Delivery Form, each Voucher Tracking Form is meant to track only one package, which happens to be a single voucher. It also collects information about the beneficiary, approving party, voucher value, and issue/expiration dates.

Developer Documentation

This section documents how to run the CTS project for local development. CTS is an open source project. That means you can get the source code and change it to suit yourself. You can offer your changes back to the project, help fix bugs, and write new features.

Development Setup

Below you will find basic setup instructions for the CTS project. To begin you should have the following applications installed on your local development system:

The deployment uses SSH with agent forwarding so you’ll need to enable agent forwarding if it is not already by adding ForwardAgent yes to your SSH config.

Getting Started

To setup your local environment you should create a virtualenv and install the necessary requirements:

mkvirtualenv cts
$VIRTUAL_ENV/bin/pip install -r $PWD/requirements/dev.txt

Then create a local settings file and set your DJANGO_SETTINGS_MODULE to use it:

cp cts/settings/local.example.py cts/settings/local.py
echo "export DJANGO_SETTINGS_MODULE=cts.settings.local" >> $VIRTUAL_ENV/bin/postactivate
echo "unset DJANGO_SETTINGS_MODULE" >> $VIRTUAL_ENV/bin/postdeactivate

Exit the virtualenv and reactivate it to activate the settings just changed:

deactivate
workon cts

Install the postgis and hstore templates and create the Postgres database:

cd scripts
./ubuntu_install_postgres_packages.sh
sudo -u postgres ./create_postgis_hstore_template.sh
createdb -E UTF-8 cts -T template_postgis_hstore
cd ..

Create the Postgres database and run the initial migrate:

python manage.py migrate

You should now be able to run the development server:

python manage.py runserver

Load the world borders GDAL data:

python manage.py shell

Then run the following Python commands:

from shipments import load
load.run()

SASS Development

This project utilises the SASS CSS preprocessor. In order to edit locally, you’ll need to install a few packages:

npm install
gem install sass

To automatically compile your latest SCSS changes to CSS, we’ll use grunt. To install grunt:

sudo npm install -g grunt-cli

In a separate terminal run:

grunt watch

Release Notes

0.8.0 on Sep. 29, 2017

  • Update Travis configuration
  • Update djangorestframework (#37)
  • Update ADMINS (#38)
  • Remove obsolete dbbackup configuration (#39)

0.7.0 on Jan. 12, 2016

  • Allow 2cm QR codes to be created (#21)
  • Doc / setup updates (#20, #23)
  • Voucher support (#25, #28)
  • Upgrade Django to 1.8.8 (#27, #30)
  • NewRelic update (#29)
  • Separate task queues (#32)
  • Let tasks expire (#31)

0.6.0 on Nov. 13, 2015

  • Speed up maps (#17)
  • Use django-extensions to setup DB connection (#18)
  • Log to syslog (#19)
  • Update SECRET_KEY from environment (#22)

0.5.5 on Aug. 25, 2015

  • Improve error handling a bit when accessing ONA (#13)
  • Fix Travis badge on Github (#14, thanks @stbenjam!)
  • Update to Django 1.7.10; latest Django security release (#16)

0.5.4 on Jun. 10, 2015

  • Add /health/ URL for load balancers to use

0.5.3 on Jun. 9, 2015

  • Handle more places we could get a 404 retrieving Ona forms (#11)
  • Better reporting when an Ona form ID doesn’t work (#10)
  • Fix bug viewing shipment package list for partners (#7)
  • Don’t store celery task results (#6)
  • Break out deploy-related files to their own repo, https://github.com/theirc/CTS-ircdeploy
  • Update and improve organization of documentation.
  • Remove files related to migrating from CTS v2.

0.5.2 on Apr. 28, 2015

  • Point production at master
  • Add migration to set country in package scans

0.5.1 on Apr. 14, 2015

  • Add migrations to eliminate duplicate package scan records
  • Add partial DB index to prevent duplicate package scan records

0.5.0 on Mar. 24, 2015

  • Enable swap on EC2 instances upon boot
  • Load packages table asynchronously for performance
  • Compress javascript and CSS
  • Compress package items ajax view
  • Use a faster query for shipments on the shipment detail page

0.4.2 on Dec. 17, 2014

  • Fix for allowing postgres access from the readonly users’ IP addresses.

0.4.1 on Dec. 17, 2014

  • Add readonly DB user (#424, #426)
  • Set default from email address (should help with emails going to spam folder) (#423)

0.4.0 on Dec. 10, 2014

  • Document and clean up backup process

0.3.9 on Dec. 9, 2014

  • Give write perms on scans to officers

0.3.8 on Dec. 9, 2014

  • Add permissions for PackageScan model

0.3.7 on Dec. 9, 2014

  • Fix bug in package API (#421)
  • Put a FROM address on server emails

0.3.6 on Nov. 21, 2014

  • More fixes for database/media backup

0.3.5 on Nov. 21, 2014

  • Fixes for database/media backup

0.3.4 on Nov. 20, 2014

  • Fix v2 to v3 data migration that transposed latitude and longitude on scan (#410)
  • Fix map centering on rerender (#409)
  • Infrastructure: Added database backups

0.3.3 on Nov. 17, 2014

  • Fix bug raising OnaApiClientException (#407)
  • Fix reassigning devices to different users (#403)
  • Fix maps zooming too deep (#400, #397)
  • Fix intermittent test failures (#402)
  • Fix misaligned totals on shipment details printout (#391)

0.3.2 on Nov. 6, 2014

  • Display something for shipment and package names on barcode printout (#395)
  • Sort shipments by date initially (#394)
  • Speed up shipment deleting (should make it work again) (#393)
  • Remove last scan label from shipment status displays (#392)
  • Make weight optional (#390)
  • Allow device transfers from one user to another (#389)
  • Fix deleting kits (#384)
  • Fix bugs creating packages from kits (#385)

0.3.1 on Nov. 5, 2014

  • Allow different QR code sizes and different labels when printing barcodes (#383)
  • Improve migration script (was running out of memory)
  • Handle duplicate email when creating or editing users (#382)
  • Support differnet Ona credentials per instance (#381)

0.3.0 on Nov. 3, 2014

  • Let coordinators change and reset user passwords (#379)
  • Create new T1 and T3 on the fly when creating or editing donor (#380)
  • Fix 500 on catalog page related to categories (#377)
  • Give a more specific error message on failure to connect to Ona server (#378)
  • Make Print popup go away more easily (#372)
  • Rename the Location model to PackageScan (#374)

0.2.1 on October 30, 2014

  • Fix div-by-zero in migration (#375)

0.2.0 on October 30, 2014

  • Better input validation when adding items to kits (#352)
  • Show percentage of packages for some statuses (#360)
  • Add shipments to item report (#371)
  • Allow scans that have no GPS data (#373)
  • Better error logging when Ona form not found (#345)
  • 3 decimal places for USD currency (#357)
  • Create multiple packages at once (#361)
  • Upgrade to Django 1.7.1 (#366)
  • More unit tests (#368)
  • Fix deleting users (#369)
  • Improve package selection on shipment page (#358)
  • Performance improvements when adding many packages (#362)
  • Fix bulk package editing (#365)
  • Process device captures more frequently (#356)
  • Handle invalid user QR codes better (#351)
  • Don’t keep retrieving submitted device forms we’ve already seen (#351)
  • Email the development team when servers have errors (#347)
  • Fix totals line on shipment details printed page (#344)
  • Fix div-by-zero in migration (#349)
  • Filter ordering on package report (#338)
  • Filter partner and shipment options based on donor and/or partner selection (#336)
  • Partner permissions for reports (#319)
  • Add quantity fields when creating packages from kits (#339)
  • Monthly summary report (#342, #328)
  • Shipment summary report (#341, #330)
  • Better error on catalog import of non-Excel file (#343, #333)
  • Fix 500 on bulk item editing (#340)
  • Received items summary report (#329, #337)
  • Remove donor filter for partner viewer (#336, #326)
  • Fix content type on CSV downloads (#335)
  • Fix partner filtering on package report (#334)
  • Tests for reports (#314)
  • Download reports as CSV (#317, #320)
  • Packages not scanned inside syria report (#331)
  • Fix kit editing (#324)
  • Description not required for kits or packages (#325)
  • Fix create shipment button not showing up (#332)
  • Fix text on edit package details modal (#323)
  • Change status filter to checkboxes (#331)
  • Quote local currency in downloads (#320, #317)
  • User docs (#264, #309)
  • Fix filtering item report by partner (#321)
  • Wrong label on shipment report (#322)
  • Fix verbose names onSQL view models (#322)
  • Alphabetize filters where appropriate (#316)
  • Optimize reports (#255, #304)
  • Quote exported values in salt (#311)
  • Maps upgrades (#310)
  • Only download new package scan form submissions (#305)
  • Fix getting location list from form definition (#303)
  • Add env and instance to page titles (#298)
  • Add instructions for downloading data to the README (#300)
  • Fixes for form tasks and better logging (#299)
  • Add all quantities to kit (#166)
  • Clear all quantities (#165)
  • Doc links (#296)
  • Less verbose doc production (#296)
  • Device ID binding (#295, #290)
  • Fix warning when salt creates postgres databases (#285)
  • Totals on shipment view (#294)
  • Admin docs (#293)
  • Style table footer like header (#294)
  • Salt fixes (#285)
  • Instance specific migrations (#274)
  • Remove currency name from model documentation fields (#274)
  • Install git earlier (#291)
  • Fab commands to dump and restore databases (#289)

0.1.0 on September 23, 2014

  • New hostnames cts-staging.rescue.org, cts.rescue.org (#287)

0.0.9 on September 23, 2014

  • Update shipment status from scan location (#273, #188)
  • Restart servers on deploy (#284)
  • Ona times are in UTC (#270, #286)
  • Root URL path was 403 (#281)
  • Migration fixes (#282)
  • Do not display supplier details to partners (#271)
  • Upgrade django-celery for Django 1.7 compatibility (#283)
  • Multiple instances on one domain by URL path (#280)
  • Map refactor (#279)
  • Fix permissions for coordinators (#278, #277, #275, #276)
  • Don’t check local settings file for PEP-8 (#272)

0.0.8 on September 16, 2014

  • Django 1.7 (#260)
  • Fix donor migration bugs (#269)
  • Serve docs on site (#267)
  • Get vagrant test environment working (#266)
  • Deploy SSL cert and key from secrets file (#265)
  • Limit shipment views for partners (#261)
  • Fix PostGIS setup (#250)
  • Add OSM and ESRI test map layers (#259)
  • Fix kit creation (#241, #257)

0.0.7 on August 29, 2014

  • Fix mismatched status displayed on shipments list and detail pages (#238, #245)
  • Fix misalignment of create shipment and map view buttons (#254)
  • Improve map page load performance (#253, #251)
  • Improve shipments page load performance (#249)
  • List partners by name instead of email (#252)
  • Re-order map filters and remove supplier filter (#248)
  • Add reports by location (#231, #239)
  • Fix migrations for Turkey data (#247)
  • Migrate users from v2 (#235)
  • Login by email instead of username, store user name in single field (to match v2) (#237)
  • Set local currencies on instances (#240)
  • Implement partners as users instead of a separate table (#236)
  • Set up Iraq site (#233)

0.0.6 on August 25, 2014

  • Fix exception when editing bulk package items (#228)
  • When editing details of existing package, button shouldn’t say “Save New Package” (#230)
  • Save and Print buttons misaligned (#229)
  • Add headers on shipment page (#232)
  • Make entire row clickable on packages table on shipment page (#232)
  • Highlight row of selected package (#232)
  • Add help on create package from kit modal (#232)
  • Start on sysadmin docs (#227)

0.0.5 on August 21, 2014

  • Django 1.6.6 - security upgrade (#223)
  • More New Relic support (#226)

0.0.4 on August 20, 2014

  • New Relic support (#98)
  • Deploy for Jordan and Turkey (#3)
  • Map package routes (#217)
  • Ona support
  • User password management (assign initial; reset) (#176)
  • Fix sorting shipments by date (#218)
  • Fix “More Actions” button on shipments page (#216)
  • Update shipments list columns per feedback (#215)

0.0.3 on August 14, 2014

  • Start adding configuration for Jordan and Turkey instances
  • Finish up catalog pages
  • Finish up shipments pages
  • Add entities section (donors, suppliers, transporters, users, partners)
  • Start on reports pages
  • Read-only REST API
  • Roles and permissions

0.0.2 on August 1, 2014

  • Remove pagination from tables
  • Better error indication when quantity is negative
  • Package status
  • Shipment actions
  • Shipment details page
  • Summary manifest page
  • Message when user changes selected kit
  • Add location data
  • Make links in tables green
  • Remove borders from tables
  • Better formatting of import errors
  • Fix styling on select controls
  • Make some modals larger
  • Styling updates to better match comps
  • Many misc. bug fixes

0.0.1 on July 15, 2014

  • Initial “release”
  • Most of catalog page working.
  • Shipments and packages partially implemented.
  • Entities and users can be created and edited. Open bug about Donor T1 codes.
  • Various style issues need to be fixed.

Indices and tables