├── abb ├── abb │ ├── __init__.py │ ├── static │ │ ├── content.json │ │ ├── favicon.png │ │ ├── images │ │ │ ├── bkg.png │ │ │ └── blacktocat.png │ │ ├── fonts │ │ │ ├── 18f-font.eot │ │ │ ├── 18f-font.ttf │ │ │ ├── 18f-font.woff │ │ │ └── 18f-font.svg │ │ ├── admin │ │ │ ├── img │ │ │ │ ├── icon-no.gif │ │ │ │ ├── nav-bg.gif │ │ │ │ ├── default-bg.gif │ │ │ │ ├── icon-yes.gif │ │ │ │ ├── icon_alert.gif │ │ │ │ ├── icon_clock.gif │ │ │ │ ├── icon_error.gif │ │ │ │ ├── icon-unknown.gif │ │ │ │ ├── icon_addlink.gif │ │ │ │ ├── icon_success.gif │ │ │ │ ├── tooltag-add.png │ │ │ │ ├── changelist-bg.gif │ │ │ │ ├── deleted-overlay.gif │ │ │ │ ├── icon_calendar.gif │ │ │ │ ├── icon_changelink.gif │ │ │ │ ├── icon_deletelink.gif │ │ │ │ ├── icon_searchbox.png │ │ │ │ ├── inline-delete.png │ │ │ │ ├── inline-restore.png │ │ │ │ ├── nav-bg-grabber.gif │ │ │ │ ├── nav-bg-reverse.gif │ │ │ │ ├── nav-bg-selected.gif │ │ │ │ ├── selector-icons.gif │ │ │ │ ├── selector-search.gif │ │ │ │ ├── sorting-icons.gif │ │ │ │ ├── changelist-bg_rtl.gif │ │ │ │ ├── default-bg-reverse.gif │ │ │ │ ├── gis │ │ │ │ │ ├── move_vertex_off.png │ │ │ │ │ └── move_vertex_on.png │ │ │ │ ├── inline-delete-8bit.png │ │ │ │ ├── inline-restore-8bit.png │ │ │ │ ├── inline-splitter-bg.gif │ │ │ │ └── tooltag-arrowright.png │ │ │ ├── js │ │ │ │ ├── jquery.init.js │ │ │ │ ├── prepopulate.min.js │ │ │ │ ├── collapse.min.js │ │ │ │ ├── collapse.js │ │ │ │ ├── LICENSE-JQUERY.txt │ │ │ │ ├── prepopulate.js │ │ │ │ ├── timeparse.js │ │ │ │ ├── actions.min.js │ │ │ │ ├── admin │ │ │ │ │ └── RelatedObjectLookups.js │ │ │ │ ├── inlines.min.js │ │ │ │ ├── SelectBox.js │ │ │ │ ├── actions.js │ │ │ │ ├── urlify.js │ │ │ │ ├── calendar.js │ │ │ │ ├── core.js │ │ │ │ └── SelectFilter2.js │ │ │ └── css │ │ │ │ ├── dashboard.css │ │ │ │ ├── login.css │ │ │ │ ├── ie.css │ │ │ │ ├── rtl.css │ │ │ │ ├── changelists.css │ │ │ │ └── forms.css │ │ ├── styles │ │ │ ├── ie.css │ │ │ ├── fonts.css │ │ │ ├── 18f.min.css │ │ │ └── 18f.css │ │ ├── README.md │ │ ├── LICENSE.md │ │ ├── js │ │ │ ├── slideshow.js │ │ │ └── 18f.js │ │ └── index.html │ ├── urls.py │ ├── wsgi.py │ └── settings.py ├── hours │ ├── __init__.py │ ├── migrations │ │ ├── __init__.py │ │ ├── 0002_auto_20150314_1900.py │ │ └── 0001_initial.py │ ├── static │ │ ├── content.json │ │ ├── favicon.png │ │ ├── images │ │ │ ├── bkg.png │ │ │ └── blacktocat.png │ │ ├── fonts │ │ │ ├── 18f-font.eot │ │ │ ├── 18f-font.ttf │ │ │ ├── 18f-font.woff │ │ │ └── 18f-font.svg │ │ ├── styles │ │ │ ├── ie.css │ │ │ ├── fonts.css │ │ │ ├── 18f.min.css │ │ │ └── 18f.css │ │ ├── README.md │ │ ├── LICENSE.md │ │ ├── js │ │ │ ├── slideshow.js │ │ │ └── 18f.js │ │ └── index.html │ ├── tests.py │ ├── forms.py │ ├── lib │ │ └── load.py │ ├── templates │ │ ├── view_all.html │ │ ├── home.html │ │ ├── success.html │ │ ├── edit.html │ │ └── base.html │ ├── admin.py │ ├── views.py │ ├── models.py │ └── fixtures │ │ ├── projects.csv │ │ └── initial_data.json └── manage.py ├── runtime.txt ├── .cfignore ├── Procfile ├── .gitignore ├── docs └── abb_screenshot.png ├── requirements.txt ├── manifest.yml ├── CONTRIBUTING.md ├── init.sh ├── readme.md ├── convert.sh └── LICENSE.md /abb/abb/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /abb/hours/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.4.1 2 | -------------------------------------------------------------------------------- /abb/hours/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.cfignore: -------------------------------------------------------------------------------- 1 | db.sqlite3 2 | *.pyc 3 | env 4 | .env 5 | local_settings.py 6 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: waitress-serve --port=$VCAP_APP_PORT abb.wsgi:application -------------------------------------------------------------------------------- /abb/abb/static/content.json: -------------------------------------------------------------------------------- 1 | { "name" : "Arwen", "reponame" : "changeme" } 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | db.sqlite3 2 | *.pyc 3 | env 4 | .env 5 | local_settings.py 6 | .DS_Store -------------------------------------------------------------------------------- /abb/hours/static/content.json: -------------------------------------------------------------------------------- 1 | { "name" : "Arwen", "reponame" : "changeme" } 2 | -------------------------------------------------------------------------------- /abb/hours/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /docs/abb_screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/docs/abb_screenshot.png -------------------------------------------------------------------------------- /abb/abb/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/favicon.png -------------------------------------------------------------------------------- /abb/abb/static/images/bkg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/images/bkg.png -------------------------------------------------------------------------------- /abb/hours/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/hours/static/favicon.png -------------------------------------------------------------------------------- /abb/hours/static/images/bkg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/hours/static/images/bkg.png -------------------------------------------------------------------------------- /abb/abb/static/fonts/18f-font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/fonts/18f-font.eot -------------------------------------------------------------------------------- /abb/abb/static/fonts/18f-font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/fonts/18f-font.ttf -------------------------------------------------------------------------------- /abb/abb/static/fonts/18f-font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/fonts/18f-font.woff -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon-no.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon-no.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/nav-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/nav-bg.gif -------------------------------------------------------------------------------- /abb/abb/static/images/blacktocat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/images/blacktocat.png -------------------------------------------------------------------------------- /abb/hours/static/fonts/18f-font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/hours/static/fonts/18f-font.eot -------------------------------------------------------------------------------- /abb/hours/static/fonts/18f-font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/hours/static/fonts/18f-font.ttf -------------------------------------------------------------------------------- /abb/hours/static/fonts/18f-font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/hours/static/fonts/18f-font.woff -------------------------------------------------------------------------------- /abb/abb/static/admin/img/default-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/default-bg.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon-yes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon-yes.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon_alert.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon_alert.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon_clock.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon_clock.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon_error.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon_error.gif -------------------------------------------------------------------------------- /abb/hours/static/images/blacktocat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/hours/static/images/blacktocat.png -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | dj-database-url==0.3.0 2 | Django==1.7.6 3 | psycopg2==2.6 4 | waitress==0.8.9 5 | whitenoise==1.0.6 6 | -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon-unknown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon-unknown.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon_addlink.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon_addlink.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon_success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon_success.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/tooltag-add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/tooltag-add.png -------------------------------------------------------------------------------- /abb/abb/static/admin/img/changelist-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/changelist-bg.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/deleted-overlay.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/deleted-overlay.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon_calendar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon_calendar.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon_changelink.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon_changelink.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon_deletelink.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon_deletelink.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/icon_searchbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/icon_searchbox.png -------------------------------------------------------------------------------- /abb/abb/static/admin/img/inline-delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/inline-delete.png -------------------------------------------------------------------------------- /abb/abb/static/admin/img/inline-restore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/inline-restore.png -------------------------------------------------------------------------------- /abb/abb/static/admin/img/nav-bg-grabber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/nav-bg-grabber.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/nav-bg-reverse.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/nav-bg-reverse.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/nav-bg-selected.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/nav-bg-selected.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/selector-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/selector-icons.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/selector-search.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/selector-search.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/sorting-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/sorting-icons.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/changelist-bg_rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/changelist-bg_rtl.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/default-bg-reverse.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/default-bg-reverse.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/gis/move_vertex_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/gis/move_vertex_off.png -------------------------------------------------------------------------------- /abb/abb/static/admin/img/gis/move_vertex_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/gis/move_vertex_on.png -------------------------------------------------------------------------------- /abb/abb/static/admin/img/inline-delete-8bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/inline-delete-8bit.png -------------------------------------------------------------------------------- /abb/abb/static/admin/img/inline-restore-8bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/inline-restore-8bit.png -------------------------------------------------------------------------------- /abb/abb/static/admin/img/inline-splitter-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/inline-splitter-bg.gif -------------------------------------------------------------------------------- /abb/abb/static/admin/img/tooltag-arrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/abb/master/abb/abb/static/admin/img/tooltag-arrowright.png -------------------------------------------------------------------------------- /manifest.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # all applications use these settings and services 3 | memory: 512M 4 | instances: 1 5 | applications: 6 | - name: abb 7 | path: . 8 | timeout: 180 -------------------------------------------------------------------------------- /abb/hours/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | from hours.models import Record, Timesheet 3 | 4 | class TimesheetForm(ModelForm): 5 | class Meta: 6 | model = Timesheet 7 | fields = ['reporting_period','records'] -------------------------------------------------------------------------------- /abb/hours/lib/load.py: -------------------------------------------------------------------------------- 1 | from models import Project 2 | import csv 3 | with open('hours/fixtures/projects.csv','r') as f: 4 | projects = csv.reader(f) 5 | for project in projects: 6 | p = Project(name=project[0], billable=project[1]).save() -------------------------------------------------------------------------------- /abb/hours/templates/view_all.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block content %} 3 |
YOUR_CONFIGURED_MICROSITE_NAME_HERE IS COOL! 85 | However, the time has come to replace this text with something 86 | more appropriate.
87 |This is a second paragraph, which should also be replaced.
88 |This is a third paragraph, which should also be 89 | replaced.
90 |
100 | Twitter @18F
101 | GitHub / 18F
102 |
YOUR_CONFIGURED_MICROSITE_NAME_HERE IS COOL! 85 | However, the time has come to replace this text with something 86 | more appropriate.
87 |This is a second paragraph, which should also be replaced.
88 |This is a third paragraph, which should also be 89 | replaced.
90 |
100 | Twitter @18F
101 | GitHub / 18F
102 |