├── .cfignore ├── acqstackdb ├── __init__.py ├── tests │ └── test_tests.py ├── wsgi.py ├── urls.py └── settings.py ├── .python-version ├── acquisitions ├── __init__.py ├── tests │ ├── test_forms.py │ ├── test_views.py │ ├── test_add_teammate.py │ ├── test_team.py │ └── test_models.py ├── migrations │ ├── __init__.py │ ├── 0010_merge.py │ ├── 0002_auto_20160527_2144.py │ ├── 0020_auto_20160712_2020.py │ ├── 0015_auto_20160630_0358.py │ ├── 0018_stage_wip_limit.py │ ├── 0016_steptrackthroughmodel_wip_limit.py │ ├── 0005_auto_20160607_1618.py │ ├── 0017_auto_20160711_1544.py │ ├── 0014_auto_20160628_2334.py │ ├── 0009_auto_20160624_1622.py │ ├── 0012_auto_20160628_2017.py │ ├── 0004_auto_20160606_1921.py │ ├── 0006_auto_20160609_1416.py │ ├── 0008_role_squashed_0010_auto_20160622_0918.py │ ├── 0013_auto_20160628_2333.py │ ├── 0021_auto_20160712_2135.py │ ├── 0019_auto_20160712_1441.py │ ├── 0008_auto_20160623_1638.py │ ├── 0011_auto_20160628_2013.py │ ├── 0022_auto_20160726_2026.py │ ├── 0001_initial.py │ ├── 0003_auto_20160531_1702_squashed_0007_auto_20160531_2006.py │ └── 0007_auto_20160617_0357.py ├── apps.py ├── fixtures │ ├── tracks.json │ ├── actors.json │ ├── stages.json │ ├── steps.json │ └── steptrack.json ├── templates │ └── acquisitions │ │ ├── new_index.html │ │ ├── stages.html │ │ ├── new.html │ │ ├── includes │ │ └── item.html │ │ ├── layout.html │ │ ├── index.html │ │ └── acquisition.html ├── static │ └── acquisitions │ │ └── css │ │ └── style.css ├── management │ └── commands │ │ ├── add_teammate.py │ │ └── seed_database.py ├── providers │ └── fake_agency.py ├── admin.py ├── forms.py ├── factories.py ├── views.py └── models.py ├── runtime.txt ├── setup.cfg ├── pytest.ini ├── Procfile ├── third-party ├── uswds │ ├── img │ │ ├── plus.png │ │ ├── minus.png │ │ ├── search.png │ │ ├── correct8.png │ │ ├── correct9.png │ │ ├── logo-img.png │ │ ├── alerts │ │ │ ├── info.png │ │ │ ├── error.png │ │ │ ├── success.png │ │ │ ├── warning.png │ │ │ ├── success.svg │ │ │ ├── warning.svg │ │ │ ├── error.svg │ │ │ └── info.svg │ │ ├── arrow-down.png │ │ ├── arrow-right.png │ │ ├── us_flag_small.png │ │ ├── favicons │ │ │ ├── favicon.ico │ │ │ ├── favicon.png │ │ │ ├── favicon-16.png │ │ │ ├── favicon-57.png │ │ │ ├── favicon-72.png │ │ │ ├── favicon-114.png │ │ │ ├── favicon-144.png │ │ │ └── favicon-192.png │ │ ├── social-icons │ │ │ ├── png │ │ │ │ ├── rss25.png │ │ │ │ ├── twitter16.png │ │ │ │ ├── youtube15.png │ │ │ │ └── facebook25.png │ │ │ └── svg │ │ │ │ ├── facebook25.svg │ │ │ │ ├── twitter16.svg │ │ │ │ ├── rss25.svg │ │ │ │ └── youtube15.svg │ │ ├── arrow-down.svg │ │ ├── minus.svg │ │ ├── correct8.svg │ │ ├── correct9.svg │ │ ├── arrow-right.svg │ │ ├── plus.svg │ │ └── search.svg │ └── fonts │ │ ├── merriweather-bold-webfont.eot │ │ ├── merriweather-bold-webfont.ttf │ │ ├── merriweather-bold-webfont.woff │ │ ├── merriweather-bold-webfont.woff2 │ │ ├── merriweather-italic-webfont.eot │ │ ├── merriweather-italic-webfont.ttf │ │ ├── merriweather-light-webfont.eot │ │ ├── merriweather-light-webfont.ttf │ │ ├── merriweather-light-webfont.woff │ │ ├── sourcesanspro-bold-webfont.eot │ │ ├── sourcesanspro-bold-webfont.ttf │ │ ├── sourcesanspro-bold-webfont.woff │ │ ├── sourcesanspro-light-webfont.eot │ │ ├── sourcesanspro-light-webfont.ttf │ │ ├── merriweather-italic-webfont.woff │ │ ├── merriweather-italic-webfont.woff2 │ │ ├── merriweather-light-webfont.woff2 │ │ ├── merriweather-regular-webfont.eot │ │ ├── merriweather-regular-webfont.ttf │ │ ├── merriweather-regular-webfont.woff │ │ ├── sourcesanspro-bold-webfont.woff2 │ │ ├── sourcesanspro-italic-webfont.eot │ │ ├── sourcesanspro-italic-webfont.ttf │ │ ├── sourcesanspro-italic-webfont.woff │ │ ├── sourcesanspro-light-webfont.woff │ │ ├── sourcesanspro-light-webfont.woff2 │ │ ├── sourcesanspro-regular-webfont.eot │ │ ├── sourcesanspro-regular-webfont.ttf │ │ ├── merriweather-regular-webfont.woff2 │ │ ├── sourcesanspro-italic-webfont.woff2 │ │ ├── sourcesanspro-regular-webfont.woff │ │ └── sourcesanspro-regular-webfont.woff2 └── wait-for-it │ ├── LICENSE │ ├── README.md │ └── wait-for-it.sh ├── Dockerfile ├── .env.example ├── scripts └── cf-db.sh ├── manage.py ├── run.sh ├── .codeclimate.yml ├── requirements.txt ├── docker-compose.yml ├── CONTRIBUTING.md ├── LICENSE.md ├── .jshintrc ├── .gitignore ├── README.md ├── .travis.yml ├── documentation └── setup.md └── .about.yml /.cfignore: -------------------------------------------------------------------------------- 1 | .gitignore -------------------------------------------------------------------------------- /acqstackdb/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.5.1 2 | -------------------------------------------------------------------------------- /acquisitions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.5.1 2 | -------------------------------------------------------------------------------- /acquisitions/tests/test_forms.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /acquisitions/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [pep8] 2 | max-line-length = 160 3 | -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | DJANGO_SETTINGS_MODULE=acqstackdb.settings 3 | -------------------------------------------------------------------------------- /acqstackdb/tests/test_tests.py: -------------------------------------------------------------------------------- 1 | def test_tests(): 2 | assert 1 == 1 3 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: python manage.py migrate && python manage.py runserver 0.0.0.0:$PORT 2 | -------------------------------------------------------------------------------- /third-party/uswds/img/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/plus.png -------------------------------------------------------------------------------- /third-party/uswds/img/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/minus.png -------------------------------------------------------------------------------- /third-party/uswds/img/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/search.png -------------------------------------------------------------------------------- /third-party/uswds/img/correct8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/correct8.png -------------------------------------------------------------------------------- /third-party/uswds/img/correct9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/correct9.png -------------------------------------------------------------------------------- /third-party/uswds/img/logo-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/logo-img.png -------------------------------------------------------------------------------- /third-party/uswds/img/alerts/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/alerts/info.png -------------------------------------------------------------------------------- /third-party/uswds/img/arrow-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/arrow-down.png -------------------------------------------------------------------------------- /third-party/uswds/img/arrow-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/arrow-right.png -------------------------------------------------------------------------------- /third-party/uswds/img/alerts/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/alerts/error.png -------------------------------------------------------------------------------- /third-party/uswds/img/alerts/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/alerts/success.png -------------------------------------------------------------------------------- /third-party/uswds/img/alerts/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/alerts/warning.png -------------------------------------------------------------------------------- /third-party/uswds/img/us_flag_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/us_flag_small.png -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.5.1 2 | WORKDIR code 3 | ADD requirements.txt /code/ 4 | RUN pip install -r requirements.txt 5 | ADD . /code/ 6 | -------------------------------------------------------------------------------- /third-party/uswds/img/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/favicons/favicon.ico -------------------------------------------------------------------------------- /third-party/uswds/img/favicons/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/favicons/favicon.png -------------------------------------------------------------------------------- /third-party/uswds/img/favicons/favicon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/favicons/favicon-16.png -------------------------------------------------------------------------------- /third-party/uswds/img/favicons/favicon-57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/favicons/favicon-57.png -------------------------------------------------------------------------------- /third-party/uswds/img/favicons/favicon-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/favicons/favicon-72.png -------------------------------------------------------------------------------- /third-party/uswds/img/favicons/favicon-114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/favicons/favicon-114.png -------------------------------------------------------------------------------- /third-party/uswds/img/favicons/favicon-144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/favicons/favicon-144.png -------------------------------------------------------------------------------- /third-party/uswds/img/favicons/favicon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/favicons/favicon-192.png -------------------------------------------------------------------------------- /third-party/uswds/img/social-icons/png/rss25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/social-icons/png/rss25.png -------------------------------------------------------------------------------- /third-party/uswds/img/social-icons/png/twitter16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/social-icons/png/twitter16.png -------------------------------------------------------------------------------- /third-party/uswds/img/social-icons/png/youtube15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/social-icons/png/youtube15.png -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-bold-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-bold-webfont.eot -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-bold-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-bold-webfont.ttf -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-bold-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-bold-webfont.woff -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-bold-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-bold-webfont.woff2 -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-italic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-italic-webfont.eot -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-italic-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-italic-webfont.ttf -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-light-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-light-webfont.eot -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-light-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-light-webfont.ttf -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-light-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-light-webfont.woff -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-bold-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-bold-webfont.eot -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-bold-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-bold-webfont.ttf -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-bold-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-bold-webfont.woff -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-light-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-light-webfont.eot -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-light-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-light-webfont.ttf -------------------------------------------------------------------------------- /third-party/uswds/img/social-icons/png/facebook25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/img/social-icons/png/facebook25.png -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-italic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-italic-webfont.woff -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-italic-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-italic-webfont.woff2 -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-light-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-light-webfont.woff2 -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-regular-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-regular-webfont.eot -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-regular-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-regular-webfont.ttf -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-regular-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-regular-webfont.woff -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-bold-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-bold-webfont.woff2 -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-italic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-italic-webfont.eot -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-italic-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-italic-webfont.ttf -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-italic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-italic-webfont.woff -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-light-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-light-webfont.woff -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-light-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-light-webfont.woff2 -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-regular-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-regular-webfont.eot -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-regular-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-regular-webfont.ttf -------------------------------------------------------------------------------- /third-party/uswds/fonts/merriweather-regular-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/merriweather-regular-webfont.woff2 -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-italic-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-italic-webfont.woff2 -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-regular-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-regular-webfont.woff -------------------------------------------------------------------------------- /third-party/uswds/fonts/sourcesanspro-regular-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acqstackdb/develop/third-party/uswds/fonts/sourcesanspro-regular-webfont.woff2 -------------------------------------------------------------------------------- /acquisitions/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AcquisitionConfig(AppConfig): 5 | name = 'acquisitions' 6 | verbose_name = 'Acquisitions' 7 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | SOCIAL_AUTH_GITHUB_TEAM_KEY=YOUR_CLIENT_ID 2 | SOCIAL_AUTH_GITHUB_TEAM_SECRET=YOUR_CLIENT_SECRET 3 | SOCIAL_AUTH_GITHUB_TEAM_ID=YOUR_TEAM_ID 4 | SOCIAL_AUTH_REDIRECT_IS_HTTPS=False # to allow HTTP redirect to http://localhost 5 | -------------------------------------------------------------------------------- /scripts/cf-db.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | 3 | # This script creates a psql binary for use when ssh-ing into cloud.gov 4 | curl https://s3.amazonaws.com/18f-cf-cli/psql-9.4.4-ubuntu-14.04.tar.gz | tar xvz 5 | ./psql/bin/psql $DATABASE_URL 6 | -------------------------------------------------------------------------------- /acquisitions/tests/test_views.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | from acquisitions.views import home 3 | 4 | 5 | @pytest.mark.django_db 6 | def test_home(rf): 7 | request = rf.get('/') 8 | response = home(request) 9 | assert response.status_code == 200 10 | -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | if __name__ == "__main__": 6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "acqstackdb.settings") 7 | 8 | from django.core.management import execute_from_command_line 9 | 10 | execute_from_command_line(sys.argv) 11 | -------------------------------------------------------------------------------- /acquisitions/fixtures/tracks.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "model": "acquisitions.track", 4 | "pk": 1, 5 | "fields": { 6 | "name": "Internal" 7 | } 8 | }, 9 | { 10 | "model": "acquisitions.track", 11 | "pk": 2, 12 | "fields": { 13 | "name": "External" 14 | } 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Per https://docs.docker.com/compose/startup-order/, we are going to use 4 | # wait-for-it (source: https://github.com/vishnubob/wait-for-it) as a wrapper 5 | # to ensure that postgres is ready to accept connections 6 | ./third-party/wait-for-it/wait-for-it.sh db:5432 7 | 8 | # Now, run the script 9 | python manage.py migrate 10 | python manage.py runserver 0.0.0.0:5000 11 | -------------------------------------------------------------------------------- /third-party/uswds/img/arrow-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.codeclimate.yml: -------------------------------------------------------------------------------- 1 | engines: 2 | pep8: 3 | enabled: true 4 | eslint: 5 | enabled: true 6 | csslint: 7 | enabled: true 8 | duplication: 9 | enabled: true 10 | exclude_fingerprints: 11 | - 700324494c75296f38cd27a1e79da2fb 12 | config: 13 | languages: 14 | - python 15 | ratings: 16 | paths: 17 | - "**.py" 18 | exclude_paths: 19 | - "third-party/**" 20 | - "acquisitions/migrations/*" 21 | -------------------------------------------------------------------------------- /third-party/uswds/img/social-icons/svg/facebook25.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /third-party/uswds/img/minus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /acquisitions/migrations/0010_merge.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.6 on 2016-06-24 22:22 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('acquisitions', '0008_role_squashed_0010_auto_20160622_0918'), 12 | ('acquisitions', '0009_auto_20160624_1622'), 13 | ] 14 | 15 | operations = [ 16 | ] 17 | -------------------------------------------------------------------------------- /acquisitions/migrations/0002_auto_20160527_2144.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.6 on 2016-05-27 21:44 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('acquisitions', '0001_initial'), 12 | ] 13 | 14 | operations = [ 15 | migrations.RenameModel( 16 | old_name='Releases', 17 | new_name='Release', 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /third-party/uswds/img/correct8.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /third-party/uswds/img/correct9.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /acquisitions/migrations/0020_auto_20160712_2020.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.6 on 2016-07-12 20:20 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('acquisitions', '0019_auto_20160712_1441'), 12 | ] 13 | 14 | operations = [ 15 | migrations.AlterUniqueTogether( 16 | name='steptrackthroughmodel', 17 | unique_together=set([('track', 'step')]), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /acqstackdb/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for acqstackdb project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "acqstackdb.settings") 15 | from whitenoise.django import DjangoWhiteNoise 16 | 17 | application = get_wsgi_application() 18 | application = DjangoWhiteNoise(application) 19 | -------------------------------------------------------------------------------- /acquisitions/migrations/0015_auto_20160630_0358.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.6 on 2016-06-30 03:58 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations, models 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('acquisitions', '0014_auto_20160628_2334'), 12 | ] 13 | 14 | operations = [ 15 | migrations.AlterField( 16 | model_name='track', 17 | name='name', 18 | field=models.CharField(max_length=50), 19 | ), 20 | ] 21 | -------------------------------------------------------------------------------- /acquisitions/migrations/0018_stage_wip_limit.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.6 on 2016-07-11 16:43 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations, models 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('acquisitions', '0017_auto_20160711_1544'), 12 | ] 13 | 14 | operations = [ 15 | migrations.AddField( 16 | model_name='stage', 17 | name='wip_limit', 18 | field=models.IntegerField(default=0), 19 | ), 20 | ] 21 | -------------------------------------------------------------------------------- /third-party/uswds/img/arrow-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /acquisitions/migrations/0016_steptrackthroughmodel_wip_limit.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.6 on 2016-07-11 13:46 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations, models 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('acquisitions', '0015_auto_20160630_0358'), 12 | ] 13 | 14 | operations = [ 15 | migrations.AddField( 16 | model_name='steptrackthroughmodel', 17 | name='wip_limit', 18 | field=models.IntegerField(default=0), 19 | ), 20 | ] 21 | -------------------------------------------------------------------------------- /acquisitions/templates/acquisitions/new_index.html: -------------------------------------------------------------------------------- 1 | {% extends "acquisitions/layout.html" %} 2 | 3 | {% block content %} 4 |
7 | You can add one of these: 8 |
9 | 18 || 23 | {% for stage, info in track.1.items %} 24 | | 25 | {{ stage }} 26 | | 27 | {% endfor %} 28 |
|---|---|
| 34 | {{ actor.name }} 35 | | 36 | {% for stage in track.1.items %} 37 |38 | {% for step in stage.1.steps.items %} 39 | {% if step.0 == actor.name %} 40 | {% if track.0 == "Overall" %} 41 | {{ step.1.acquisitions|length }} 42 | {% else %} 43 | {{ step.1.acquisitions|length }}{% if step.1.wip_limit == 0 or step.1.wip_limit > step.1.acquisitions|length %} ✔︎{% elif step.1.wip_limit == step.1.acquisitions|length %} ●{% else %} 𝘅{% endif %} 44 | {% endif %} 45 | {% endif %} 46 | {% endfor %} 47 | | 48 | {% endfor %} 49 |
| 14 | {% if status == acquisition.step %} X {% else %} - {% endif %} 15 | | 16 | {% endfor %} 17 |
| Client | 27 |{{ acquisition.subagency }} | 28 |
| Product Owner | 31 |{{ acquisition.product_owner|default:'TBD' }} | 32 |
| Details | 35 |{{ acquisition.details|default:'TBD' }} | 36 |
| 39 | 40 | | 41 ||
| Track | 44 |{{ acquisition.track }} | 45 |
| NAICS | 48 |{{ acquisition.naics|default:'TBD' }} | 49 |
| Team | 52 |{% for member in acquisition.roles.all %}
53 | {% if forloop.last %}{{ member }}{% else %}{{ member }} {% endif %} 54 | {% endfor %} |
55 |
| Contracting Officer | 58 |{{ acquisition.contracting_officer|default:'TBD' }} | 59 |
| Contracting Office | 62 |{{ acquisition.contracting_office|default:'TBD' }} | 63 |
| COR | 66 |{{ acquisition.contracting_officer_representative|default:'TBD' }} | 67 |
| Vendor | 70 |{{ acquisition.vendor|default:'TBD' }} | 71 |
| RFQ Number | 74 |{{ acquisition.rfq_id|default:'TBD' }} | 75 |
| Period of Performance | 78 |{{ acquisition.period_of_performance|default:'TBD' }} | 79 |
| Cost | 82 |{{ acquisition.dollars|default:'TBD' }} | 83 |
| Set-Aside Status | 86 |{{ acquisition.set_aside_status|default:'TBD' }} | 87 |
| Amount of Competition | 90 |{{ acquisition.amount_of_competition|default:'TBD' }} | 91 |
| Contract Type | 94 |{{ acquisition.contract_type|default:'TBD' }} | 95 |
| Competition Strategy | 98 |{{ acquisition.competition_strategy|default:'TBD' }} | 99 |
| Procurement Method | 102 |{{ acquisition.procurement_method|default:'TBD' }} | 103 |
| Award Date | 106 |{{ acquisition.award_date|default:'TBD' }} | 107 |
| Delivery Date | 110 |{{ acquisition.delivery_date|default:'TBD' }} | 111 |