From 6a54fd4fbf3c153e3793f840ecb81c6ae9f9530a Mon Sep 17 00:00:00 2001 From: jay7958 Date: Mon, 23 Mar 2015 19:13:07 -0500 Subject: [PATCH] Renaming and rebranding to DefectDojo. This commit updates every reference to TestTracker, TestTrack, tt, tracker, etc. to the new DefectDojo name. All variables, class names, file names, and contents have been updated. NOTE: It should be known that all database tables for the "tracker" application will have to be manually renamed with the "dojo" prefix. --- .gitignore | 12 +- README.md | 8 +- Vagrantfile | 4 +- ansible/main.yml | 2 +- ansible/roles/webserver/tasks/app.yml | 76 +++---- ansible/roles/webserver/tasks/os.yml | 4 +- ansible/roles/webserver/tasks/sql.yml | 8 +- ansible/roles/webserver/templates/settings.j2 | 20 +- ansible/vars.yml | 36 +-- doc/about.md | 4 +- doc/install_bash.md | 4 +- doc/install_vagrant.md | 2 +- doc/workflows.md | 4 +- {tracker => dojo}/__init__.py | 0 {tracker => dojo}/api.py | 22 +- .../api_test_files/engagement.json | 0 {tracker => dojo}/api_test_files/finding.json | 0 {tracker => dojo}/api_test_files/product.json | 0 .../api_test_files/scansettings.json | 0 {tracker => dojo}/api_test_files/test.json | 0 {tracker => dojo}/filters.py | 8 +- {tracker => dojo}/forms.py | 13 +- {tracker => dojo}/management/__init__.py | 0 .../management/commands/__init__.py | 0 .../management/commands/notify_isoc.py | 4 +- .../management/commands/run_scan.py | 6 +- {tracker => dojo}/middleware.py | 0 {tracker => dojo}/models.py | 4 +- {tracker => dojo}/scans/read.me | 0 {tracker => dojo}/settings.dist.py | 16 +- dojo/settings.py | 210 ++++++++++++++++++ .../static/css/bootstrap.min.css | 0 .../images/animated-overlay.gif | Bin .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin .../images/ui-bg_flat_55_ffffff_40x100.png | Bin .../images/ui-bg_flat_75_ffffff_40x100.png | Bin .../images/ui-bg_glass_65_ffffff_1x400.png | Bin .../ui-bg_highlight-soft_100_f6f6f6_1x100.png | Bin .../ui-bg_highlight-soft_25_09d_1x100.png | Bin .../ui-bg_highlight-soft_50_f0f0f0_1x100.png | Bin .../images/ui-icons_0073ea_256x240.png | Bin .../images/ui-icons_09d_256x240.png | Bin .../images/ui-icons_454545_256x240.png | Bin .../images/ui-icons_666666_256x240.png | Bin .../images/ui-icons_b94a48_256x240.png | Bin .../images/ui-icons_ffffff_256x240.png | Bin .../jquery-ui-1.10.4.custom.css | 0 .../jquery-ui-1.10.4.custom.min.css | 0 .../tracker.css => dojo/static/css/dojo.css | 2 +- .../static/css/font-awesome.min.css | 0 {tracker => dojo}/static/css/fullcalendar.css | 0 .../static/css/metisMenu.min.css | 0 {tracker => dojo}/static/css/sb-admin-2.css | 0 {tracker => dojo}/static/css/timeline.css | 0 .../static/fonts/FontAwesome.otf | Bin .../static/fonts/fontawesome-webfont.eot | Bin .../static/fonts/fontawesome-webfont.svg | 0 .../static/fonts/fontawesome-webfont.ttf | Bin .../static/fonts/fontawesome-webfont.woff | Bin .../static/fonts/fontawesome-webfont.woff2 | Bin {tracker => dojo}/static/img/chop.png | Bin {tracker => dojo}/static/img/cloud_sec.png | Bin {tracker => dojo}/static/img/favicon.ico | Bin .../static/img/glyphicons-halflings-white.png | Bin .../static/img/glyphicons-halflings.png | Bin {tracker => dojo}/static/img/index.jpg | Bin {tracker => dojo}/static/img/logo.png | Bin .../static/js/SearchHighlight.js | 0 {tracker => dojo}/static/js/bootstrap.js | 0 {tracker => dojo}/static/js/bootstrap.min.js | 0 {tracker => dojo}/static/js/excanvas.min.js | 0 .../static/js/fullcalendar.min.js | 0 {tracker => dojo}/static/js/index.js | 0 {tracker => dojo}/static/js/jquery-ui.min.js | 0 {tracker => dojo}/static/js/jquery.cookie.js | 0 .../static/js/jquery.flot.JUMlib.js | 0 .../static/js/jquery.flot.bubbles.js | 0 {tracker => dojo}/static/js/jquery.flot.js | 0 .../static/js/jquery.flot.mouse.js | 0 .../static/js/jquery.flot.pie.js | 0 .../static/js/jquery.flot.resize.js | 0 .../static/js/jquery.flot.stack.js | 0 .../static/js/jquery.flot.time.js | 0 .../static/js/jquery.flot.tooltip.min.js | 0 {tracker => dojo}/static/js/jquery.min.js | 0 {tracker => dojo}/static/js/jquery.min.map | 0 .../static/js/jquery.tablesorter.min.js | 0 {tracker => dojo}/static/js/metisMenu.min.js | 0 {tracker => dojo}/static/js/moment.min.js | 0 {tracker => dojo}/static/js/sb-admin-2.js | 0 {tracker => dojo}/templates/403.html | 0 {tracker => dojo}/templates/404.html | 0 .../templates/alert_nav_items.html | 0 {tracker => dojo}/templates/base.html | 10 +- .../templates/dojo}/accepted_findings.html | 2 +- .../templates/dojo}/add_findings.html | 4 +- .../templates/dojo}/add_nessus_scan.html | 2 +- .../templates/dojo}/add_tests.html | 2 +- .../templates/dojo}/alerts.html | 2 +- .../templates/dojo}/all_product_findings.html | 2 +- .../templates/dojo}/api_key.html | 0 .../templates/dojo}/calendar.html | 0 .../templates/dojo}/change_pwd.html | 0 .../templates/dojo}/checklist.html | 2 +- .../templates/dojo}/close_finding.html | 2 +- .../templates/dojo}/closed_findings.html | 2 +- .../templates/dojo}/dashboard-metrics.html | 0 .../templates/dojo}/dashboard.html | 0 .../templates/dojo}/delete_test.html | 0 .../templates/dojo}/dev_env.html | 2 +- .../templates/dojo}/edit_dev_env.html | 2 +- .../templates/dojo}/edit_findings.html | 4 +- .../templates/dojo}/edit_product.html | 2 +- .../templates/dojo}/edit_product_type.html | 2 +- .../templates/dojo}/edit_scan_settings.html | 2 +- .../templates/dojo}/edit_test.html | 2 +- .../templates/dojo}/edit_test_type.html | 2 +- .../templates/dojo}/engagement.html | 2 +- .../templates/dojo}/engineer_metrics.html | 0 .../templates/dojo}/exist_new_product.html | 2 +- .../templates/dojo}/form_fields.html | 0 .../templates/dojo}/gen_report.html | 0 .../tracker => dojo/templates/dojo}/gmap.html | 2 +- .../templates/dojo}/launch_va.html | 2 +- .../templates/dojo}/login.html | 2 +- .../templates/dojo}/metrics.html | 0 .../templates/dojo}/new_dev_env.html | 2 +- .../templates/dojo}/new_eng.html | 2 +- .../templates/dojo}/new_product.html | 2 +- .../templates/dojo}/new_product_type.html | 2 +- .../templates/dojo}/new_test_type.html | 2 +- .../templates/dojo}/open_findings.html | 2 +- .../templates/dojo}/paging_snippet.html | 0 .../templates/dojo}/product.html | 2 +- .../templates/dojo}/product_type.html | 2 +- .../templates/dojo}/profile.html | 2 +- .../templates/dojo}/research_metrics.html | 0 .../templates/dojo}/search_results.html | 0 .../templates/dojo}/simple_metrics.html | 0 .../templates/dojo}/simple_search.html | 0 .../templates/dojo}/success.html | 0 .../templates/dojo}/template_search.html | 0 .../templates/dojo}/test_type.html | 2 +- .../templates/dojo}/tools.html | 0 .../templates/dojo}/unauthorized.html | 0 .../templates/dojo}/up_risk.html | 0 .../templates/dojo}/up_scan.html | 2 +- .../templates/dojo}/up_threat.html | 2 +- .../templates/dojo}/view_checklist.html | 0 .../templates/dojo}/view_eng.html | 0 .../templates/dojo}/view_engineer.html | 0 .../templates/dojo}/view_finding.html | 2 +- .../templates/dojo}/view_product.html | 0 .../templates/dojo}/view_risk.html | 6 +- .../templates/dojo}/view_scan.html | 0 .../templates/dojo}/view_scan_settings.html | 0 .../templates/dojo}/view_test.html | 4 +- .../templates/dojo}/view_threat.html | 0 {tracker => dojo}/templates/pt_nav_items.html | 0 .../templates/tastypie_swagger/index.html | 0 {tracker => dojo}/templatetags/__init__.py | 0 .../templatetags/display_tags.py | 0 {tracker => dojo}/templatetags/event_tags.py | 0 .../templatetags/navigation_tags.py | 4 +- dojo/uploads/risk/read.me | 1 + dojo/uploads/threat/read.me | 1 + dojo/urls.py | 179 +++++++++++++++ {tracker => dojo}/views.py | 158 ++++++------- {tracker => dojo}/wsgi.py | 6 +- license.md | 6 +- manage.py | 2 +- setup.bash | 18 +- setup.py | 6 +- tracker/urls.py | 179 --------------- 175 files changed, 667 insertions(+), 456 deletions(-) rename {tracker => dojo}/__init__.py (100%) rename {tracker => dojo}/api.py (96%) rename {tracker => dojo}/api_test_files/engagement.json (100%) rename {tracker => dojo}/api_test_files/finding.json (100%) rename {tracker => dojo}/api_test_files/product.json (100%) rename {tracker => dojo}/api_test_files/scansettings.json (100%) rename {tracker => dojo}/api_test_files/test.json (100%) rename {tracker => dojo}/filters.py (98%) rename {tracker => dojo}/forms.py (98%) rename {tracker => dojo}/management/__init__.py (100%) rename {tracker => dojo}/management/commands/__init__.py (100%) rename {tracker => dojo}/management/commands/notify_isoc.py (96%) rename {tracker => dojo}/management/commands/run_scan.py (99%) rename {tracker => dojo}/middleware.py (100%) rename {tracker => dojo}/models.py (99%) rename {tracker => dojo}/scans/read.me (100%) rename {tracker => dojo}/settings.dist.py (96%) create mode 100755 dojo/settings.py rename {tracker => dojo}/static/css/bootstrap.min.css (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/animated-overlay.gif (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-bg_flat_0_aaaaaa_40x100.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-bg_flat_0_eeeeee_40x100.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-bg_flat_55_ffffff_40x100.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-bg_flat_75_ffffff_40x100.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-bg_glass_65_ffffff_1x400.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-bg_highlight-soft_25_09d_1x100.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-bg_highlight-soft_50_f0f0f0_1x100.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-icons_0073ea_256x240.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-icons_09d_256x240.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-icons_454545_256x240.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-icons_666666_256x240.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-icons_b94a48_256x240.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/images/ui-icons_ffffff_256x240.png (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/jquery-ui-1.10.4.custom.css (100%) rename {tracker/static/css/tracker-jquery-ui => dojo/static/css/dojo-jquery-ui}/jquery-ui-1.10.4.custom.min.css (100%) rename tracker/static/css/tracker.css => dojo/static/css/dojo.css (99%) rename {tracker => dojo}/static/css/font-awesome.min.css (100%) rename {tracker => dojo}/static/css/fullcalendar.css (100%) rename {tracker => dojo}/static/css/metisMenu.min.css (100%) rename {tracker => dojo}/static/css/sb-admin-2.css (100%) rename {tracker => dojo}/static/css/timeline.css (100%) rename {tracker => dojo}/static/fonts/FontAwesome.otf (100%) rename {tracker => dojo}/static/fonts/fontawesome-webfont.eot (100%) rename {tracker => dojo}/static/fonts/fontawesome-webfont.svg (100%) rename {tracker => dojo}/static/fonts/fontawesome-webfont.ttf (100%) rename {tracker => dojo}/static/fonts/fontawesome-webfont.woff (100%) rename {tracker => dojo}/static/fonts/fontawesome-webfont.woff2 (100%) rename {tracker => dojo}/static/img/chop.png (100%) rename {tracker => dojo}/static/img/cloud_sec.png (100%) rename {tracker => dojo}/static/img/favicon.ico (100%) rename {tracker => dojo}/static/img/glyphicons-halflings-white.png (100%) rename {tracker => dojo}/static/img/glyphicons-halflings.png (100%) rename {tracker => dojo}/static/img/index.jpg (100%) rename {tracker => dojo}/static/img/logo.png (100%) rename {tracker => dojo}/static/js/SearchHighlight.js (100%) rename {tracker => dojo}/static/js/bootstrap.js (100%) rename {tracker => dojo}/static/js/bootstrap.min.js (100%) rename {tracker => dojo}/static/js/excanvas.min.js (100%) rename {tracker => dojo}/static/js/fullcalendar.min.js (100%) rename {tracker => dojo}/static/js/index.js (100%) rename {tracker => dojo}/static/js/jquery-ui.min.js (100%) rename {tracker => dojo}/static/js/jquery.cookie.js (100%) rename {tracker => dojo}/static/js/jquery.flot.JUMlib.js (100%) rename {tracker => dojo}/static/js/jquery.flot.bubbles.js (100%) rename {tracker => dojo}/static/js/jquery.flot.js (100%) rename {tracker => dojo}/static/js/jquery.flot.mouse.js (100%) rename {tracker => dojo}/static/js/jquery.flot.pie.js (100%) rename {tracker => dojo}/static/js/jquery.flot.resize.js (100%) rename {tracker => dojo}/static/js/jquery.flot.stack.js (100%) rename {tracker => dojo}/static/js/jquery.flot.time.js (100%) rename {tracker => dojo}/static/js/jquery.flot.tooltip.min.js (100%) rename {tracker => dojo}/static/js/jquery.min.js (100%) rename {tracker => dojo}/static/js/jquery.min.map (100%) rename {tracker => dojo}/static/js/jquery.tablesorter.min.js (100%) rename {tracker => dojo}/static/js/metisMenu.min.js (100%) rename {tracker => dojo}/static/js/moment.min.js (100%) rename {tracker => dojo}/static/js/sb-admin-2.js (100%) rename {tracker => dojo}/templates/403.html (100%) rename {tracker => dojo}/templates/404.html (100%) rename {tracker => dojo}/templates/alert_nav_items.html (100%) rename {tracker => dojo}/templates/base.html (97%) rename {tracker/templates/tracker => dojo/templates/dojo}/accepted_findings.html (97%) rename {tracker/templates/tracker => dojo/templates/dojo}/add_findings.html (96%) rename {tracker/templates/tracker => dojo/templates/dojo}/add_nessus_scan.html (89%) rename {tracker/templates/tracker => dojo/templates/dojo}/add_tests.html (90%) rename {tracker/templates/tracker => dojo/templates/dojo}/alerts.html (94%) rename {tracker/templates/tracker => dojo/templates/dojo}/all_product_findings.html (97%) rename {tracker/templates/tracker => dojo/templates/dojo}/api_key.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/calendar.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/change_pwd.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/checklist.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/close_finding.html (89%) rename {tracker/templates/tracker => dojo/templates/dojo}/closed_findings.html (97%) rename {tracker/templates/tracker => dojo/templates/dojo}/dashboard-metrics.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/dashboard.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/delete_test.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/dev_env.html (94%) rename {tracker/templates/tracker => dojo/templates/dojo}/edit_dev_env.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/edit_findings.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/edit_product.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/edit_product_type.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/edit_scan_settings.html (87%) rename {tracker/templates/tracker => dojo/templates/dojo}/edit_test.html (85%) rename {tracker/templates/tracker => dojo/templates/dojo}/edit_test_type.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/engagement.html (97%) rename {tracker/templates/tracker => dojo/templates/dojo}/engineer_metrics.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/exist_new_product.html (88%) rename {tracker/templates/tracker => dojo/templates/dojo}/form_fields.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/gen_report.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/gmap.html (84%) rename {tracker/templates/tracker => dojo/templates/dojo}/launch_va.html (93%) rename {tracker/templates/tracker => dojo/templates/dojo}/login.html (94%) rename {tracker/templates/tracker => dojo/templates/dojo}/metrics.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/new_dev_env.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/new_eng.html (89%) rename {tracker/templates/tracker => dojo/templates/dojo}/new_product.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/new_product_type.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/new_test_type.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/open_findings.html (97%) rename {tracker/templates/tracker => dojo/templates/dojo}/paging_snippet.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/product.html (97%) rename {tracker/templates/tracker => dojo/templates/dojo}/product_type.html (96%) rename {tracker/templates/tracker => dojo/templates/dojo}/profile.html (93%) rename {tracker/templates/tracker => dojo/templates/dojo}/research_metrics.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/search_results.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/simple_metrics.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/simple_search.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/success.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/template_search.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/test_type.html (94%) rename {tracker/templates/tracker => dojo/templates/dojo}/tools.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/unauthorized.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/up_risk.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/up_scan.html (85%) rename {tracker/templates/tracker => dojo/templates/dojo}/up_threat.html (86%) rename {tracker/templates/tracker => dojo/templates/dojo}/view_checklist.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/view_eng.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/view_engineer.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/view_finding.html (98%) rename {tracker/templates/tracker => dojo/templates/dojo}/view_product.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/view_risk.html (96%) rename {tracker/templates/tracker => dojo/templates/dojo}/view_scan.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/view_scan_settings.html (100%) rename {tracker/templates/tracker => dojo/templates/dojo}/view_test.html (96%) rename {tracker/templates/tracker => dojo/templates/dojo}/view_threat.html (100%) rename {tracker => dojo}/templates/pt_nav_items.html (100%) rename {tracker => dojo}/templates/tastypie_swagger/index.html (100%) rename {tracker => dojo}/templatetags/__init__.py (100%) rename {tracker => dojo}/templatetags/display_tags.py (100%) rename {tracker => dojo}/templatetags/event_tags.py (100%) rename {tracker => dojo}/templatetags/navigation_tags.py (96%) create mode 100644 dojo/uploads/risk/read.me create mode 100644 dojo/uploads/threat/read.me create mode 100755 dojo/urls.py rename {tracker => dojo}/views.py (97%) rename {tracker => dojo}/wsgi.py (88%) delete mode 100755 tracker/urls.py diff --git a/.gitignore b/.gitignore index 6f860a32e45..aec0f30385d 100644 --- a/.gitignore +++ b/.gitignore @@ -46,7 +46,7 @@ coverage.xml # Django stuff: *.log *.pot -tracker/settings.py +dojo/settings.py # Vim swapfiles *.swp @@ -60,11 +60,11 @@ docs/_build/ *.crt *.csr *.key -tracker/migrations -tracker/static/img/threat/* -tracker/uploads/risk/* -tracker/scans/scan* -tracker/uploads/threat/* +dojo/migrations +dojo/static/img/threat/* +dojo/uploads/risk/* +dojo/scans/scan* +dojo/uploads/threat/* .idea weekly.txt diff --git a/README.md b/README.md index ca39d699fdf..65ac1afc12f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # Description -![Screenshot of TestTrack](./doc/img/screenshot1.png) +![Screenshot of DefectDojo](./doc/img/screenshot1.png) -TestTrack is a tool created by the Security Engineering team at Rackspace to +DefectDojo is a tool created by the Security Engineering team at Rackspace to track testing efforts. It attempts to streamline the testing process by offering features such as templating, report generation, metrics, and baseline self-service tools. Though it was designed with security folks in mind, there @@ -21,7 +21,7 @@ For more information, please see [the doc folder](./doc) # About Us -TestTrack is maintained by: +DefectDojo is maintained by: - Greg Anderson ([@\_GRRegg](https://twitter.com/_GRRegg)) - Charles Neill ([@ccneill](https://twitter.com/ccneill)) @@ -34,4 +34,4 @@ With past contributions from: # License -Creative Commons License
TestTrack created by Greg Anderson, Charles Neill, and Jay Paz is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. +Creative Commons License
DefectDojo created by Greg Anderson, Charles Neill, and Jay Paz is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. diff --git a/Vagrantfile b/Vagrantfile index 4af2e85ac27..b83b2ca49c5 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -9,9 +9,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.ssh.forward_agent = true - config.vm.hostname = "tt" + config.vm.hostname = "dd" config.vm.network :private_network, ip: "192.168.13.37" - config.vm.define "tt" do |tt| + config.vm.define "dd" do |dd| end config.vm.provision "ansible" do |ansible| diff --git a/ansible/main.yml b/ansible/main.yml index 55d10d45ddf..8325babafe9 100644 --- a/ansible/main.yml +++ b/ansible/main.yml @@ -1,5 +1,5 @@ --- -- name: TestTrack +- name: DefectDojo hosts: servers roles: - webserver diff --git a/ansible/roles/webserver/tasks/app.yml b/ansible/roles/webserver/tasks/app.yml index f62f55db98e..183b3fa7cf4 100644 --- a/ansible/roles/webserver/tasks/app.yml +++ b/ansible/roles/webserver/tasks/app.yml @@ -1,29 +1,29 @@ --- -- name: Create TestTrack directory - file: path={{ tt_install_dir }} state=directory owner={{ tt_user }} group=www-data +- name: Create DefectDojo directory + file: path={{ dd_install_dir }} state=directory owner={{ dd_user }} group=www-data -- name: Download TestTrack - git: repo={{ tt_git_repo }} dest={{ tt_install_dir }} accept_hostkey=yes version=master force=yes recursive=no key_file=/home/{{ tt_user }}/.ssh/id_rsa +- name: Download DefectDojo + git: repo={{ dd_git_repo }} dest={{ dd_install_dir }} accept_hostkey=yes version=master force=yes recursive=no key_file=/home/{{ dd_user }}/.ssh/id_rsa -- name: Give ownership to tt_user - file: path={{ tt_install_dir }} recurse=yes owner={{ tt_user }} group=www-data state=directory +- name: Give ownership to dd_user + file: path={{ dd_install_dir }} recurse=yes owner={{ dd_user }} group=www-data state=directory - name: Check if gunicorn log file exists stat: path={{ gunicorn_log_file }} register: glf - name: Create gunicorn log file - file: path={{ gunicorn_log_file }} state=touch owner={{ tt_user }} group=www-data + file: path={{ gunicorn_log_file }} state=touch owner={{ dd_user }} group=www-data when: glf.stat.exists == False - name: Generate Django secret shell: 'cat /dev/urandom | tr -dc "a-zA-Z0-9" | head -c 128' args: - creates: '{{ tt_install_dir }}/tracker/settings.py' + creates: '{{ dd_install_dir }}/dojo/settings.py' register: django_secret -- name: Populate TestTrack settings file - template: src=settings.j2 dest={{ tt_install_dir }}/tracker/settings.py owner={{ tt_user }} group=www-data +- name: Populate DefectDojo settings file + template: src=seddings.j2 dest={{ dd_install_dir }}/dojo/settings.py owner={{ dd_user }} group=www-data - name: Install virtualenv pip: name=virtualenv @@ -31,111 +31,111 @@ - name: Setup virtualenv shell: virtualenv {{ venv_dir }} creates={{ venv_dir }}/bin/activate sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install Django pip: name=Django version=1.6.10 virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install MySQL-Python pip: name=MySQL-python virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install Pillow pip: name=Pillow version=2.3.0 virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install South pip: name=South version=0.8.4 virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install django-secure pip: name=django-secure version=1.0 virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install django-tastypie pip: name=django-tastypie version=0.11.1 virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install gunicorn pip: name=gunicorn version=19.1.1 virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install Python-nmap pip: name=python-nmap version=0.3.4 virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install pytz pip: name=pytz version=2013.9 virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install requests pip: name=requests version=2.2.1 virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install wsgiref pip: name=wsgiref version=0.1.2 virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install django-tastypie-swagger pip: name=django-tastypie-swagger virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install django-filter pip: name=django-filter virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install supervisor pip: name=supervisor state=present virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Install humanize pip: name=humanize state=present virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Run Django 'syncdb' command - django_manage: command=syncdb app_path={{ tt_install_dir }} virtualenv={{ venv_dir }} + django_manage: command=syncdb app_path={{ dd_install_dir }} virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Create Django superuser - shell: echo "from django.contrib.auth.models import User; User.objects.create_superuser('{{ tt_super_user }}', '{{ tt_super_user_email }}', '{{ tt_super_user_pass }}')" | {{ venv_dir }}/bin/python {{ tt_install_dir }}/manage.py shell && touch /home/{{ tt_user }}/.supercreated + shell: echo "from django.contrib.auth.models import User; User.objects.create_superuser('{{ dd_super_user }}', '{{ dd_super_user_email }}', '{{ dd_super_user_pass }}')" | {{ venv_dir }}/bin/python {{ dd_install_dir }}/manage.py shell && touch /home/{{ dd_user }}/.supercreated args: - creates: /home/{{ tt_user }}/.supercreated + creates: /home/{{ dd_user }}/.supercreated sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' - name: Run Django 'migrate' command - django_manage: command=migrate app_path={{ tt_install_dir }} virtualenv={{ venv_dir }} + django_manage: command=migrate app_path={{ dd_install_dir }} virtualenv={{ venv_dir }} sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' -- name: Find any running TT instances on our gunicorn port +- name: Find any running DD instances on our gunicorn port shell: "ps aux | grep '[r]unserver' | grep '{{ gunicorn_port }}' | awk '{print $2}'" register: instances ignore_errors: True -- name: Kill any TT instances on our gunicorn port +- name: Kill any DD instances on our gunicorn port shell: "kill {{ instances.stdout }}" when: instances.stdout ignore_errors: True -- name: Start TT - shell: 'nohup {{ venv_dir }}/bin/python {{ tt_install_dir }}/manage.py runserver 0.0.0.0:{{ gunicorn_port }} >>{{ gunicorn_log_file }} 2>&1 &' +- name: Start DD + shell: 'nohup {{ venv_dir }}/bin/python {{ dd_install_dir }}/manage.py runserver 0.0.0.0:{{ gunicorn_port }} >>{{ gunicorn_log_file }} 2>&1 &' sudo: yes - sudo_user: '{{ tt_user }}' + sudo_user: '{{ dd_user }}' diff --git a/ansible/roles/webserver/tasks/os.yml b/ansible/roles/webserver/tasks/os.yml index 1b31d1aad08..c643c4a08d3 100644 --- a/ansible/roles/webserver/tasks/os.yml +++ b/ansible/roles/webserver/tasks/os.yml @@ -20,5 +20,5 @@ - name: Create www-data group group: name=www-data state=present -- name: Create TestTrack user - user: name={{ tt_user }} groups=sudo,www-data append=yes state=present generate_ssh_key=yes ssh_key_comment="Generated by ansible for TT" +- name: Create DefectDojo user + user: name={{ dd_user }} groups=sudo,www-data append=yes state=present generate_ssh_key=yes ssh_key_comment="Generated by ansible for DD" diff --git a/ansible/roles/webserver/tasks/sql.yml b/ansible/roles/webserver/tasks/sql.yml index 814c9f5ec72..ac14dfedf5b 100644 --- a/ansible/roles/webserver/tasks/sql.yml +++ b/ansible/roles/webserver/tasks/sql.yml @@ -20,9 +20,9 @@ - name: Start MySQL server service: name=mysql state=started enabled=true -- name: Create MySQL DB for TestTrack - mysql_db: name={{ tt_sql_db }} state=present collation=utf8_general_ci +- name: Create MySQL DB for DefectDojo + mysql_db: name={{ dd_sql_db }} state=present collation=utf8_general_ci -- name: Create MySQL User for TestTrack - mysql_user: name={{ tt_sql_user }} password={{ tt_sql_pass }} priv={{ tt_sql_db }}.*:ALL host=localhost state=present +- name: Create MySQL User for DefectDojo + mysql_user: name={{ dd_sql_user }} password={{ dd_sql_pass }} priv={{ dd_sql_db }}.*:ALL host=localhost state=present diff --git a/ansible/roles/webserver/templates/settings.j2 b/ansible/roles/webserver/templates/settings.j2 index fabd3d80937..69aeed9d7c8 100644 --- a/ansible/roles/webserver/templates/settings.j2 +++ b/ansible/roles/webserver/templates/settings.j2 @@ -1,4 +1,4 @@ -# Django settings for tracker project. +# Django settings for dojo project. import os DEBUG = True TEMPLATE_DEBUG = DEBUG @@ -16,16 +16,16 @@ ADMINS = ( MANAGERS = ADMINS -TRACKER_ROOT = '{{ tt_install_dir }}/tracker' +DOJO_ROOT = '{{ dd_install_dir }}/dojo' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', # 'mysql','sqlite3' or 'oracle'. - 'NAME': '{{ tt_sql_db }}', # Or path to database file if using sqlite3. + 'NAME': '{{ dd_sql_db }}', # Or path to database file if using sqlite3. # The following settings are not used with sqlite3: - 'USER': '{{ tt_sql_user }}', - 'PASSWORD': '{{ tt_sql_pass }}', + 'USER': '{{ dd_sql_user }}', + 'PASSWORD': '{{ dd_sql_pass }}', 'HOST': 'localhost', # Empty for localhost through domain sockets # or '127.0.0.1' for localhost through TCP. 'PORT': '3306', # Set to empty string for default. @@ -61,7 +61,7 @@ USE_TZ = True # Absolute filesystem path to the directory that will hold user-uploaded files. # Example: "/var/www/example.com/media/" -MEDIA_ROOT = '{{ tt_install_dir }}/media/' +MEDIA_ROOT = '{{ dd_install_dir }}/media/' # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash. @@ -119,10 +119,10 @@ MIDDLEWARE_CLASSES = ( 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'tracker.middleware.LoginRequiredMiddleware', + 'dojo.middleware.LoginRequiredMiddleware', ) -ROOT_URLCONF = 'tracker.urls' +ROOT_URLCONF = 'dojo.urls' LOGIN_URL = '/login' LOGIN_EXEMPT_URLS = ( r'^static/', @@ -133,7 +133,7 @@ LOGIN_EXEMPT_URLS = ( ) # Python dotted path to the WSGI application used by Django's runserver. -WSGI_APPLICATION = 'tracker.wsgi.application' +WSGI_APPLICATION = 'dojo.wsgi.application' TEMPLATE_DIRS = ( # Put strings here, like "/home/html/django_templates" @@ -150,7 +150,7 @@ INSTALLED_APPS = ( 'django.contrib.messages', 'django.contrib.staticfiles', 'south', - 'tracker', + 'dojo', 'django.contrib.admin', 'gunicorn', 'tastypie', diff --git a/ansible/vars.yml b/ansible/vars.yml index 0d1b197c61d..5c0063989d7 100644 --- a/ansible/vars.yml +++ b/ansible/vars.yml @@ -1,32 +1,32 @@ --- -application_name: 'TestTrack' +application_name: 'DefectDojo' root_pass: 'r00tr00t' -# The Linux user account that TestTrack will run under -tt_user: 'tt' -tt_user_pass: 'th1sisasup3rs3cur3passw0rd12345' +# The Linux user account that DefectDojo will run under +dd_user: 'dd' +dd_user_pass: 'th1sisasup3rs3cur3passw0rd12345' # MySQL settings -tt_sql_user: 'tt' -tt_sql_pass: 'pl34se$replace@these^stupid&passwords' -tt_sql_db: 'tt' +dd_sql_user: 'dd' +dd_sql_pass: 'pl34se$replace@these^stupid&passwords' +dd_sql_db: 'dd' -# Defines where the TestTrack application will be installed -tt_install_dir: /usr/share/django-TestTrack +# Defines where the DefectDojo application will be installed +dd_install_dir: /usr/share/django-DefectDojo -# Defines the folder where TestTrack's virtualenv will be stored -venv_dir: /home/{{ tt_user }}/.venvs/{{ application_name }} +# Defines the folder where DefectDojo's virtualenv will be stored +venv_dir: /home/{{ dd_user }}/.venvs/{{ application_name }} -# Set up the Django/TestTrack superuser -tt_super_user: 'root' -tt_super_user_pass: 'An0th3r@SuPeR@Secure@PASSWORD' -tt_super_user_email: 'root@localhost' +# Set up the Django/DefectDojo superuser +dd_super_user: 'root' +dd_super_user_pass: 'An0th3r@SuPeR@Secure@PASSWORD' +dd_super_user_email: 'root@localhost' -# Repo link for TestTrack -tt_git_repo: 'https://github.com/rackerlabs/django-TestTrack.git' +# Repo link for DefectDojo +dd_git_repo: 'https://github.com/rackerlabs/django-DefectDojo.git' # Gunicorn settings gunicorn_num_workers: 3 gunicorn_timeout: 120 gunicorn_port: 9999 -gunicorn_log_file: '{{ tt_install_dir }}/gunicorn.log' +gunicorn_log_file: '{{ dd_install_dir }}/gunicorn.log' diff --git a/doc/about.md b/doc/about.md index a36be731625..e8f2e98015a 100644 --- a/doc/about.md +++ b/doc/about.md @@ -1,10 +1,10 @@ # About -## TestTrack Basics +## DefectDojo Basics ### Terms There are several terms that will be helpful to understand as you work with -TestTrack. +DefectDojo. ##### Products This is the name of any project, program, team, or company that you are diff --git a/doc/install_bash.md b/doc/install_bash.md index df86736ad90..74135e41db7 100644 --- a/doc/install_bash.md +++ b/doc/install_bash.md @@ -1,7 +1,7 @@ # Debian- or RHEL-based Bash Install Script There is a script in the main folder called `setup.bash` that will allow you to -interactively install TestTrack on some Linux-based systems. The user +interactively install DefectDojo on some Linux-based systems. The user you use to run the installation script will need sudo access, but should not be the root account. @@ -22,6 +22,6 @@ __Instructions:__ MySQL database, install dependencies, and set up a Django superuser. 0. Edit the settings.py file to modify any other settings that you want to change, such as your SMTP server information, which we leave off by default. -0. When you are ready to run TestTrack, run the server with +0. When you are ready to run DefectDojo, run the server with `python manage.py runserver` diff --git a/doc/install_vagrant.md b/doc/install_vagrant.md index f601018f411..da748a5cf67 100644 --- a/doc/install_vagrant.md +++ b/doc/install_vagrant.md @@ -1,6 +1,6 @@ # Vagrant Install -Installing with Vagrant is the easiest way to get started with TestTrack. +Installing with Vagrant is the easiest way to get started with DefectDojo. __You will need:__ diff --git a/doc/workflows.md b/doc/workflows.md index db1a4086e70..52ca5064b80 100644 --- a/doc/workflows.md +++ b/doc/workflows.md @@ -7,7 +7,7 @@ his boss exactly what issues he reports, and statistics about how long it takes to close them. When he is asked to audit an application, Bill registers a new Product in -TestTrack, and creates a new Engagement. Here he sets some basic information, +DefectDojo, and creates a new Engagement. Here he sets some basic information, like how long he expects the Engagement will take, who will be leading the testing (himself), what Product he will be working on, and what tests he will be doing. @@ -35,7 +35,7 @@ supposed to based on their severity. ## Example 2 - John the QE manager John wants to keep tabs on what his team members are up to, and find issues -that are taking a long time to get fixed. He creates his own TestTrack account +that are taking a long time to get fixed. He creates his own DefectDojo account with superuser privileges so that he can view other team members' metrics. To get a better idea of what his team members are currently working on, he diff --git a/tracker/__init__.py b/dojo/__init__.py similarity index 100% rename from tracker/__init__.py rename to dojo/__init__.py diff --git a/tracker/api.py b/dojo/api.py similarity index 96% rename from tracker/api.py rename to dojo/api.py index 9af8b5a07ff..d36abede286 100644 --- a/tracker/api.py +++ b/dojo/api.py @@ -14,7 +14,7 @@ from forms import ProductForm, EngForm2, TestForm, \ FindingForm, ScanSettingsForm -from tracker.models import Product, Engagement, Test, Finding, \ +from dojo.models import Product, Engagement, Test, Finding, \ User, ScanSettings, IPScan, Scan """ @@ -24,7 +24,7 @@ level=logging.DEBUG, format='[%(asctime)s] %(levelname)s [%(name)s:%(lineno)d] %(message)s', datefmt='%d/%b/%Y %H:%M:%S', - filename=settings.TRACKER_ROOT + '/../tracker.log', + filename=settings.DOJO_ROOT + '/../dojo.log', ) logger = logging.getLogger(__name__) """ @@ -59,7 +59,7 @@ def get_fields(cls, fields=None, excludes=None): # like parent class. -class TrackerApiKeyAuthentication(ApiKeyAuthentication): +class DojoApiKeyAuthentication(ApiKeyAuthentication): def extract_credentials(self, request): if (request.META.get('HTTP_AUTHORIZATION') and request.META['HTTP_AUTHORIZATION'].lower().startswith('apikey ')): @@ -252,7 +252,7 @@ class Meta: 'last_name': ALL } authorization = DjangoAuthorization() - authentication = TrackerApiKeyAuthentication() + authentication = DojoApiKeyAuthentication() serializer = Serializer(formats=['json']) @@ -281,7 +281,7 @@ class Meta: 'created': ALL, 'findings_count': ALL } - authentication = TrackerApiKeyAuthentication() + authentication = DojoApiKeyAuthentication() authorization = UserProductsOnlyAuthorization() serializer = Serializer(formats=['json']) validation = CleanedDataFormValidation(form_class=ProductForm) @@ -330,7 +330,7 @@ class Meta: 'status': ALL, 'product': ALL, } - authentication = TrackerApiKeyAuthentication() + authentication = DojoApiKeyAuthentication() authorization = DjangoAuthorization() serializer = Serializer(formats=['json']) validation = CleanedDataFormValidation(form_class=EngForm2) @@ -379,7 +379,7 @@ class Meta: 'percent_complete': ALL, 'actual_time': ALL } - authentication = TrackerApiKeyAuthentication() + authentication = DojoApiKeyAuthentication() authorization = DjangoAuthorization() serializer = Serializer(formats=['json']) validation = CleanedDataFormValidation(form_class=TestForm) @@ -432,7 +432,7 @@ class Meta: 'reporter': ALL, 'url': ALL, } - authentication = TrackerApiKeyAuthentication() + authentication = DojoApiKeyAuthentication() authorization = DjangoAuthorization() serializer = Serializer(formats=['json']) validation = CleanedDataFormValidation(form_class=FindingForm) @@ -477,7 +477,7 @@ class Meta: 'addresses': ALL } - authentication = TrackerApiKeyAuthentication() + authentication = DojoApiKeyAuthentication() authorization = UserScanSettingsAuthorization() serializer = Serializer(formats=['json']) validation = CleanedDataFormValidation(form_class=ScanSettingsForm) @@ -505,7 +505,7 @@ class Meta: 'scan': ALL } - authentication = TrackerApiKeyAuthentication() + authentication = DojoApiKeyAuthentication() authorization = DjangoAuthorization() serializer = Serializer(formats=['json']) @@ -542,6 +542,6 @@ class Meta: 'scan_settings': ALL } - authentication = TrackerApiKeyAuthentication() + authentication = DojoApiKeyAuthentication() authorization = UserScanAuthorization() serializer = Serializer(formats=['json']) diff --git a/tracker/api_test_files/engagement.json b/dojo/api_test_files/engagement.json similarity index 100% rename from tracker/api_test_files/engagement.json rename to dojo/api_test_files/engagement.json diff --git a/tracker/api_test_files/finding.json b/dojo/api_test_files/finding.json similarity index 100% rename from tracker/api_test_files/finding.json rename to dojo/api_test_files/finding.json diff --git a/tracker/api_test_files/product.json b/dojo/api_test_files/product.json similarity index 100% rename from tracker/api_test_files/product.json rename to dojo/api_test_files/product.json diff --git a/tracker/api_test_files/scansettings.json b/dojo/api_test_files/scansettings.json similarity index 100% rename from tracker/api_test_files/scansettings.json rename to dojo/api_test_files/scansettings.json diff --git a/tracker/api_test_files/test.json b/dojo/api_test_files/test.json similarity index 100% rename from tracker/api_test_files/test.json rename to dojo/api_test_files/test.json diff --git a/tracker/filters.py b/dojo/filters.py similarity index 98% rename from tracker/filters.py rename to dojo/filters.py index 1284e1c3233..698b8e94902 100644 --- a/tracker/filters.py +++ b/dojo/filters.py @@ -14,7 +14,7 @@ from django.forms.widgets import CheckboxInput from pytz import timezone -from tracker.models import Tracker_User, Product_Type, Finding, \ +from dojo.models import Dojo_User, Product_Type, Finding, \ Product, Test_Type @@ -227,7 +227,7 @@ def __init__(self, *args, **kwargs): class OpenFingingSuperFilter(OpenFindingFilter): reporter = ModelMultipleChoiceFilter( - queryset=Tracker_User.objects.all()) + queryset=Dojo_User.objects.all()) class ClosedFindingFilter(FilterSet): @@ -273,7 +273,7 @@ def __init__(self, *args, **kwargs): class ClosedFingingSuperFilter(ClosedFindingFilter): reporter = ModelMultipleChoiceFilter( - queryset=Tracker_User.objects.all()) + queryset=Dojo_User.objects.all()) class AcceptedFindingFilter(FilterSet): @@ -325,7 +325,7 @@ def __init__(self, *args, **kwargs): class AcceptedFingingSuperFilter(AcceptedFindingFilter): test__engagement__risk_acceptance__reporter = \ ModelMultipleChoiceFilter( - queryset=Tracker_User.objects.all(), + queryset=Dojo_User.objects.all(), label="Risk Acceptance Reporter") diff --git a/tracker/forms.py b/dojo/forms.py similarity index 98% rename from tracker/forms.py rename to dojo/forms.py index 2818dcbf848..8354568426d 100755 --- a/tracker/forms.py +++ b/dojo/forms.py @@ -11,11 +11,11 @@ from pytz import timezone -from tracker.models import Finding, Product_Type, Product, ScanSettings, VA, \ +from dojo.models import Finding, Product_Type, Product, ScanSettings, VA, \ Check_List, User, Engagement, Test, Test_Type, Notes, Risk_Acceptance, \ - Development_Environment, Tracker_User, Scan -from tracker.filters import DateRangeFilter -from tracker import settings + Development_Environment, Dojo_User, Scan +from dojo.filters import DateRangeFilter +from dojo import settings RE_DATE = re.compile(r'(\d{4})-(\d\d?)-(\d\d?)$') @@ -528,10 +528,9 @@ def __init__(self, *args, **kwargs): del self.fields['exclude_product_types'] - -class TrackerUserForm(forms.ModelForm): +class DojoUserForm(forms.ModelForm): class Meta: - model = Tracker_User + model = Dojo_User exclude = ['password', 'last_login', 'is_superuser', 'groups', 'username', 'is_staff', 'is_active', 'date_joined', 'user_permissions'] diff --git a/tracker/management/__init__.py b/dojo/management/__init__.py similarity index 100% rename from tracker/management/__init__.py rename to dojo/management/__init__.py diff --git a/tracker/management/commands/__init__.py b/dojo/management/commands/__init__.py similarity index 100% rename from tracker/management/commands/__init__.py rename to dojo/management/commands/__init__.py diff --git a/tracker/management/commands/notify_isoc.py b/dojo/management/commands/notify_isoc.py similarity index 96% rename from tracker/management/commands/notify_isoc.py rename to dojo/management/commands/notify_isoc.py index 355ddfbb4de..99c4339941e 100644 --- a/tracker/management/commands/notify_isoc.py +++ b/dojo/management/commands/notify_isoc.py @@ -5,8 +5,8 @@ from django.core.management.base import BaseCommand from pytz import timezone -from tracker.models import ScanSettings, Product -import tracker.settings as settings +from dojo.models import ScanSettings, Product +import dojo.settings as settings locale = timezone(settings.TIME_ZONE) diff --git a/tracker/management/commands/run_scan.py b/dojo/management/commands/run_scan.py similarity index 99% rename from tracker/management/commands/run_scan.py rename to dojo/management/commands/run_scan.py index 5d8f07c8ec5..196e37e26de 100755 --- a/tracker/management/commands/run_scan.py +++ b/dojo/management/commands/run_scan.py @@ -9,8 +9,8 @@ from nmap import PortScannerAsync, PortScannerError from pytz import timezone -from tracker.models import Scan, Product, ScanSettings, IPScan -import tracker.settings as settings +from dojo.models import Scan, Product, ScanSettings, IPScan +import dojo.settings as settings locale = timezone(settings.TIME_ZONE) @@ -74,7 +74,7 @@ def runScan(prod_id, p_dict): msg += str(d) + " \n" msg += "\nYou are receiving this email because you have signed up " - msg += "for a port scan on the product security test tracker.\n" + msg += "for a port scan on the product security test dojo.\n" msg += "\nFor any questions please email " msg += settings.PORT_SCAN_CONTACT_EMAIL + "\n" msg += "Thanks,\nThe " diff --git a/tracker/middleware.py b/dojo/middleware.py similarity index 100% rename from tracker/middleware.py rename to dojo/middleware.py diff --git a/tracker/models.py b/dojo/models.py similarity index 99% rename from tracker/models.py rename to dojo/models.py index b61e4b7bf99..a933f159b77 100755 --- a/tracker/models.py +++ b/dojo/models.py @@ -9,7 +9,7 @@ # proxy class for convenience and UI -class Tracker_User(User): +class Dojo_User(User): class Meta: proxy = True @@ -270,7 +270,7 @@ def __unicode__(self): class ThreatModel(models.Model): - threat_model = models.ImageField(upload_to=settings.TRACKER_ROOT + + threat_model = models.ImageField(upload_to=settings.DOJO_ROOT + '/threat/', default='pic_folder/None/no-img.jpg') engagement = models.ForeignKey(Engagement, editable=False, default=1) diff --git a/tracker/scans/read.me b/dojo/scans/read.me similarity index 100% rename from tracker/scans/read.me rename to dojo/scans/read.me diff --git a/tracker/settings.dist.py b/dojo/settings.dist.py similarity index 96% rename from tracker/settings.dist.py rename to dojo/settings.dist.py index 30ff0477fc5..ddd3bca06ec 100755 --- a/tracker/settings.dist.py +++ b/dojo/settings.dist.py @@ -1,4 +1,4 @@ -# Django settings for tracker project. +# Django settings for dojo project. import os DEBUG = True TEMPLATE_DEBUG = DEBUG @@ -16,7 +16,7 @@ MANAGERS = ADMINS -TRACKER_ROOT = 'TRACKERDIR' +DOJO_ROOT = 'DOJODIR' DATABASES = { 'default': { @@ -61,7 +61,7 @@ # Absolute filesystem path to the directory that will hold user-uploaded files. # Example: "/var/www/example.com/media/" -MEDIA_ROOT = 'TRACKER_MEIDA_ROOT' +MEDIA_ROOT = 'DOJO_MEIDA_ROOT' # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash. @@ -94,7 +94,7 @@ ) # Make this unique, and don't share it with anybody. -SECRET_KEY = 'TRACKERSECRET' +SECRET_KEY = 'DOJOSECRET' # List of callables that know how to import templates from various sources. TEMPLATE_LOADERS = ( @@ -119,10 +119,10 @@ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'tracker.middleware.LoginRequiredMiddleware', + 'dojo.middleware.LoginRequiredMiddleware', ) -ROOT_URLCONF = 'tracker.urls' +ROOT_URLCONF = 'dojo.urls' LOGIN_URL = '/login' LOGIN_EXEMPT_URLS = ( r'^static/', @@ -133,7 +133,7 @@ ) # Python dotted path to the WSGI application used by Django's runserver. -WSGI_APPLICATION = 'tracker.wsgi.application' +WSGI_APPLICATION = 'dojo.wsgi.application' TEMPLATE_DIRS = ( # Put strings here, like "/home/html/django_templates" @@ -150,7 +150,7 @@ 'django.contrib.messages', 'django.contrib.staticfiles', 'south', - 'tracker', + 'dojo', 'django.contrib.admin', 'gunicorn', 'tastypie', diff --git a/dojo/settings.py b/dojo/settings.py new file mode 100755 index 00000000000..003127ad33c --- /dev/null +++ b/dojo/settings.py @@ -0,0 +1,210 @@ +# Django settings for dojo project. +import os +DEBUG = True +TEMPLATE_DEBUG = DEBUG +LOGIN_REDIRECT_URL = '/' +SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https') +SECURE_SSL_REDIRECT = True +SESSION_COOKIE_HTTPONLY = True + +# Uncomment this line if you enable SSL +# SESSION_COOKIE_SECURE = True + +ADMINS = ( + ('Jay Paz', 'jay.paz@rackspace.com') +) + +MANAGERS = ADMINS + +DOJO_ROOT = '/Users/jay7958/test-dojo/' + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', + # 'mysql','sqlite3' or 'oracle'. + 'NAME': 'tdb', # Or path to database file if using sqlite3. + # The following settings are not used with sqlite3: + 'USER': 'root', + 'PASSWORD': 'bat,man7', + 'HOST': 'localhost', # Empty for localhost through domain sockets + # or '127.0.0.1' for localhost through TCP. + 'PORT': '13306', # Set to empty string for default. + } +} + +# Hosts/domain names that are valid for this site; required if DEBUG is False +# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts +ALLOWED_HOSTS = [] + +# Local time zone for this installation. Choices can be found here: +# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name +# although not all choices may be available on all operating systems. +# In a Windows environment this must be set to your system time zone. +TIME_ZONE = 'America/Chicago' + +# Language code for this installation. All choices can be found here: +# http://www.i18nguy.com/unicode/language-identifiers.html +LANGUAGE_CODE = 'en-us' + +SITE_ID = 1 + +# If you set this to False, Django will make some optimizations so as not +# to load the internationalization machinery. +USE_I18N = True + +# If you set this to False, Django will not format dates, numbers and +# calendars according to the current locale. +USE_L10N = True + +# If you set this to False, Django will not use timezone-aware datetimes. +USE_TZ = True + +# Absolute filesystem path to the directory that will hold user-uploaded files. +# Example: "/var/www/example.com/media/" +MEDIA_ROOT = '/Users/jay7958/test-tracker//uploads/' + +# URL that handles the media served from MEDIA_ROOT. Make sure to use a +# trailing slash. +# Examples: "http://example.com/media/", "http://media.example.com/" +MEDIA_URL = '/media/' + +# Absolute path to the directory static files should be collected to. +# Don't put anything in this directory yourself; store your static files +# in apps' "static/" subdirectories and in STATICFILES_DIRS. +# Example: "/var/www/example.com/static/" +STATIC_ROOT = "/Users/jay7958/test-tracker//static/" + +# URL prefix for static files. +# Example: "http://example.com/static/", "http://static.example.com/" +STATIC_URL = '/static/' + +# Additional locations of static files +STATICFILES_DIRS = ( + # Put strings here, like "/home/html/static" or "C:/www/django/static". + # Always use forward slashes, even on Windows. + # Don't forget to use absolute paths, not relative paths. + +) + +# List of finder classes that know how to find static files in +# various locations. +STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', +) + +# Make this unique, and don't share it with anybody. +SECRET_KEY = 'y-be!k5$fwc-3rv#3mqv3k!eg=_x@s)fiys97_#^d-7pv19yfx' + +# List of callables that know how to import templates from various sources. +TEMPLATE_LOADERS = ( + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', +) + +TEMPLATE_CONTEXT_PROCESSORS = ( + "django.contrib.auth.context_processors.auth", + "django.core.context_processors.debug", + "django.core.context_processors.i18n", + "django.core.context_processors.media", + "django.core.context_processors.static", + "django.core.context_processors.tz", + "django.contrib.messages.context_processors.messages", + "django.core.context_processors.request",) + +MIDDLEWARE_CLASSES = ( + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'dojo.middleware.LoginRequiredMiddleware', +) + +ROOT_URLCONF = 'dojo.urls' +LOGIN_URL = '/login' +LOGIN_EXEMPT_URLS = ( + r'^static/', + r'^all_metrics$', + r'^product_type/(?P\d+)/metrics$', + r'^simple_metrics$', + r'^wiki_metrics$', +) + +# Python dotted path to the WSGI application used by Django's runserver. +WSGI_APPLICATION = 'dojo.wsgi.application' + +TEMPLATE_DIRS = ( + # Put strings here, like "/home/html/django_templates" + # or "C:/www/django/templates". + # Always use forward slashes, even on Windows. + # Don't forget to use absolute paths, not relative paths. +) + +INSTALLED_APPS = ( + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'south', + 'dojo', + 'django.contrib.admin', + 'gunicorn', + 'tastypie', + 'tastypie_swagger', +) + +EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' +EMAIL_HOST = 'smtpout.your_domain.com' +EMAIL_PORT = '25' +EMAIL_USE_TLS = True + +PORT_SCAN_CONTACT_EMAIL = 'email@your_host' +PORT_SCAN_RESULT_EMAIL_FROM = 'email@your_host' +PORT_SCAN_EXTERNAL_UNIT_EMAIL_LIST = ['email@your_host'] +PORT_SCAN_SOURCE_IP = '127.0.0.1' + +# Used in a few places to prefix page headings and in email +# salutations +TEAM_NAME = 'Security Engineering' + +# A sample logging configuration. The only tangible logging +# performed by this configuration is to send an email to +# the site admins on every HTTP 500 error when DEBUG=False. +# See http://docs.djangoproject.com/en/dev/topics/logging for +# more details on how to customize your logging configuration. +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'verbose': { + 'format': '[%(asctime)s] %(levelname)s [%(name)s:%(lineno)d] %(message)s', + 'datefmt': '%d/%b/%Y %H:%M:%S', + }, + 'simple': { + 'format': '%(levelname)s %(funcName)s %(lineno)d %(message)s' + }, + }, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse' + } + }, + 'handlers': { + 'mail_admins': { + 'level': 'ERROR', + 'filters': ['require_debug_false'], + 'class': 'django.utils.log.AdminEmailHandler' + } + }, + 'loggers': { + 'django.request': { + 'handlers': ['mail_admins'], + 'level': 'ERROR', + 'propagate': True, + }, + } +} diff --git a/tracker/static/css/bootstrap.min.css b/dojo/static/css/bootstrap.min.css similarity index 100% rename from tracker/static/css/bootstrap.min.css rename to dojo/static/css/bootstrap.min.css diff --git a/tracker/static/css/tracker-jquery-ui/images/animated-overlay.gif b/dojo/static/css/dojo-jquery-ui/images/animated-overlay.gif similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/animated-overlay.gif rename to dojo/static/css/dojo-jquery-ui/images/animated-overlay.gif diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_0_eeeeee_40x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_0_eeeeee_40x100.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_0_eeeeee_40x100.png rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_0_eeeeee_40x100.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_55_ffffff_40x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_55_ffffff_40x100.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_55_ffffff_40x100.png rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_55_ffffff_40x100.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_25_09d_1x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_25_09d_1x100.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_25_09d_1x100.png rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_25_09d_1x100.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_50_f0f0f0_1x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_50_f0f0f0_1x100.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_50_f0f0f0_1x100.png rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_50_f0f0f0_1x100.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_0073ea_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_0073ea_256x240.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_0073ea_256x240.png rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_0073ea_256x240.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_09d_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_09d_256x240.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_09d_256x240.png rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_09d_256x240.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_454545_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_454545_256x240.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_454545_256x240.png rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_454545_256x240.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_666666_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_666666_256x240.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_666666_256x240.png rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_666666_256x240.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_b94a48_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_b94a48_256x240.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_b94a48_256x240.png rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_b94a48_256x240.png diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_ffffff_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_ffffff_256x240.png similarity index 100% rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_ffffff_256x240.png rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_ffffff_256x240.png diff --git a/tracker/static/css/tracker-jquery-ui/jquery-ui-1.10.4.custom.css b/dojo/static/css/dojo-jquery-ui/jquery-ui-1.10.4.custom.css similarity index 100% rename from tracker/static/css/tracker-jquery-ui/jquery-ui-1.10.4.custom.css rename to dojo/static/css/dojo-jquery-ui/jquery-ui-1.10.4.custom.css diff --git a/tracker/static/css/tracker-jquery-ui/jquery-ui-1.10.4.custom.min.css b/dojo/static/css/dojo-jquery-ui/jquery-ui-1.10.4.custom.min.css similarity index 100% rename from tracker/static/css/tracker-jquery-ui/jquery-ui-1.10.4.custom.min.css rename to dojo/static/css/dojo-jquery-ui/jquery-ui-1.10.4.custom.min.css diff --git a/tracker/static/css/tracker.css b/dojo/static/css/dojo.css similarity index 99% rename from tracker/static/css/tracker.css rename to dojo/static/css/dojo.css index 9982a5ace46..64a7da86e40 100644 --- a/tracker/static/css/tracker.css +++ b/dojo/static/css/dojo.css @@ -344,7 +344,7 @@ form ul#id_accepted_findings input { background-color: #468847; } -.tracker-search { +.dojo-search { clear: right !important; display: inline-block !important; float: right !important; diff --git a/tracker/static/css/font-awesome.min.css b/dojo/static/css/font-awesome.min.css similarity index 100% rename from tracker/static/css/font-awesome.min.css rename to dojo/static/css/font-awesome.min.css diff --git a/tracker/static/css/fullcalendar.css b/dojo/static/css/fullcalendar.css similarity index 100% rename from tracker/static/css/fullcalendar.css rename to dojo/static/css/fullcalendar.css diff --git a/tracker/static/css/metisMenu.min.css b/dojo/static/css/metisMenu.min.css similarity index 100% rename from tracker/static/css/metisMenu.min.css rename to dojo/static/css/metisMenu.min.css diff --git a/tracker/static/css/sb-admin-2.css b/dojo/static/css/sb-admin-2.css similarity index 100% rename from tracker/static/css/sb-admin-2.css rename to dojo/static/css/sb-admin-2.css diff --git a/tracker/static/css/timeline.css b/dojo/static/css/timeline.css similarity index 100% rename from tracker/static/css/timeline.css rename to dojo/static/css/timeline.css diff --git a/tracker/static/fonts/FontAwesome.otf b/dojo/static/fonts/FontAwesome.otf similarity index 100% rename from tracker/static/fonts/FontAwesome.otf rename to dojo/static/fonts/FontAwesome.otf diff --git a/tracker/static/fonts/fontawesome-webfont.eot b/dojo/static/fonts/fontawesome-webfont.eot similarity index 100% rename from tracker/static/fonts/fontawesome-webfont.eot rename to dojo/static/fonts/fontawesome-webfont.eot diff --git a/tracker/static/fonts/fontawesome-webfont.svg b/dojo/static/fonts/fontawesome-webfont.svg similarity index 100% rename from tracker/static/fonts/fontawesome-webfont.svg rename to dojo/static/fonts/fontawesome-webfont.svg diff --git a/tracker/static/fonts/fontawesome-webfont.ttf b/dojo/static/fonts/fontawesome-webfont.ttf similarity index 100% rename from tracker/static/fonts/fontawesome-webfont.ttf rename to dojo/static/fonts/fontawesome-webfont.ttf diff --git a/tracker/static/fonts/fontawesome-webfont.woff b/dojo/static/fonts/fontawesome-webfont.woff similarity index 100% rename from tracker/static/fonts/fontawesome-webfont.woff rename to dojo/static/fonts/fontawesome-webfont.woff diff --git a/tracker/static/fonts/fontawesome-webfont.woff2 b/dojo/static/fonts/fontawesome-webfont.woff2 similarity index 100% rename from tracker/static/fonts/fontawesome-webfont.woff2 rename to dojo/static/fonts/fontawesome-webfont.woff2 diff --git a/tracker/static/img/chop.png b/dojo/static/img/chop.png similarity index 100% rename from tracker/static/img/chop.png rename to dojo/static/img/chop.png diff --git a/tracker/static/img/cloud_sec.png b/dojo/static/img/cloud_sec.png similarity index 100% rename from tracker/static/img/cloud_sec.png rename to dojo/static/img/cloud_sec.png diff --git a/tracker/static/img/favicon.ico b/dojo/static/img/favicon.ico similarity index 100% rename from tracker/static/img/favicon.ico rename to dojo/static/img/favicon.ico diff --git a/tracker/static/img/glyphicons-halflings-white.png b/dojo/static/img/glyphicons-halflings-white.png similarity index 100% rename from tracker/static/img/glyphicons-halflings-white.png rename to dojo/static/img/glyphicons-halflings-white.png diff --git a/tracker/static/img/glyphicons-halflings.png b/dojo/static/img/glyphicons-halflings.png similarity index 100% rename from tracker/static/img/glyphicons-halflings.png rename to dojo/static/img/glyphicons-halflings.png diff --git a/tracker/static/img/index.jpg b/dojo/static/img/index.jpg similarity index 100% rename from tracker/static/img/index.jpg rename to dojo/static/img/index.jpg diff --git a/tracker/static/img/logo.png b/dojo/static/img/logo.png similarity index 100% rename from tracker/static/img/logo.png rename to dojo/static/img/logo.png diff --git a/tracker/static/js/SearchHighlight.js b/dojo/static/js/SearchHighlight.js similarity index 100% rename from tracker/static/js/SearchHighlight.js rename to dojo/static/js/SearchHighlight.js diff --git a/tracker/static/js/bootstrap.js b/dojo/static/js/bootstrap.js similarity index 100% rename from tracker/static/js/bootstrap.js rename to dojo/static/js/bootstrap.js diff --git a/tracker/static/js/bootstrap.min.js b/dojo/static/js/bootstrap.min.js similarity index 100% rename from tracker/static/js/bootstrap.min.js rename to dojo/static/js/bootstrap.min.js diff --git a/tracker/static/js/excanvas.min.js b/dojo/static/js/excanvas.min.js similarity index 100% rename from tracker/static/js/excanvas.min.js rename to dojo/static/js/excanvas.min.js diff --git a/tracker/static/js/fullcalendar.min.js b/dojo/static/js/fullcalendar.min.js similarity index 100% rename from tracker/static/js/fullcalendar.min.js rename to dojo/static/js/fullcalendar.min.js diff --git a/tracker/static/js/index.js b/dojo/static/js/index.js similarity index 100% rename from tracker/static/js/index.js rename to dojo/static/js/index.js diff --git a/tracker/static/js/jquery-ui.min.js b/dojo/static/js/jquery-ui.min.js similarity index 100% rename from tracker/static/js/jquery-ui.min.js rename to dojo/static/js/jquery-ui.min.js diff --git a/tracker/static/js/jquery.cookie.js b/dojo/static/js/jquery.cookie.js similarity index 100% rename from tracker/static/js/jquery.cookie.js rename to dojo/static/js/jquery.cookie.js diff --git a/tracker/static/js/jquery.flot.JUMlib.js b/dojo/static/js/jquery.flot.JUMlib.js similarity index 100% rename from tracker/static/js/jquery.flot.JUMlib.js rename to dojo/static/js/jquery.flot.JUMlib.js diff --git a/tracker/static/js/jquery.flot.bubbles.js b/dojo/static/js/jquery.flot.bubbles.js similarity index 100% rename from tracker/static/js/jquery.flot.bubbles.js rename to dojo/static/js/jquery.flot.bubbles.js diff --git a/tracker/static/js/jquery.flot.js b/dojo/static/js/jquery.flot.js similarity index 100% rename from tracker/static/js/jquery.flot.js rename to dojo/static/js/jquery.flot.js diff --git a/tracker/static/js/jquery.flot.mouse.js b/dojo/static/js/jquery.flot.mouse.js similarity index 100% rename from tracker/static/js/jquery.flot.mouse.js rename to dojo/static/js/jquery.flot.mouse.js diff --git a/tracker/static/js/jquery.flot.pie.js b/dojo/static/js/jquery.flot.pie.js similarity index 100% rename from tracker/static/js/jquery.flot.pie.js rename to dojo/static/js/jquery.flot.pie.js diff --git a/tracker/static/js/jquery.flot.resize.js b/dojo/static/js/jquery.flot.resize.js similarity index 100% rename from tracker/static/js/jquery.flot.resize.js rename to dojo/static/js/jquery.flot.resize.js diff --git a/tracker/static/js/jquery.flot.stack.js b/dojo/static/js/jquery.flot.stack.js similarity index 100% rename from tracker/static/js/jquery.flot.stack.js rename to dojo/static/js/jquery.flot.stack.js diff --git a/tracker/static/js/jquery.flot.time.js b/dojo/static/js/jquery.flot.time.js similarity index 100% rename from tracker/static/js/jquery.flot.time.js rename to dojo/static/js/jquery.flot.time.js diff --git a/tracker/static/js/jquery.flot.tooltip.min.js b/dojo/static/js/jquery.flot.tooltip.min.js similarity index 100% rename from tracker/static/js/jquery.flot.tooltip.min.js rename to dojo/static/js/jquery.flot.tooltip.min.js diff --git a/tracker/static/js/jquery.min.js b/dojo/static/js/jquery.min.js similarity index 100% rename from tracker/static/js/jquery.min.js rename to dojo/static/js/jquery.min.js diff --git a/tracker/static/js/jquery.min.map b/dojo/static/js/jquery.min.map similarity index 100% rename from tracker/static/js/jquery.min.map rename to dojo/static/js/jquery.min.map diff --git a/tracker/static/js/jquery.tablesorter.min.js b/dojo/static/js/jquery.tablesorter.min.js similarity index 100% rename from tracker/static/js/jquery.tablesorter.min.js rename to dojo/static/js/jquery.tablesorter.min.js diff --git a/tracker/static/js/metisMenu.min.js b/dojo/static/js/metisMenu.min.js similarity index 100% rename from tracker/static/js/metisMenu.min.js rename to dojo/static/js/metisMenu.min.js diff --git a/tracker/static/js/moment.min.js b/dojo/static/js/moment.min.js similarity index 100% rename from tracker/static/js/moment.min.js rename to dojo/static/js/moment.min.js diff --git a/tracker/static/js/sb-admin-2.js b/dojo/static/js/sb-admin-2.js similarity index 100% rename from tracker/static/js/sb-admin-2.js rename to dojo/static/js/sb-admin-2.js diff --git a/tracker/templates/403.html b/dojo/templates/403.html similarity index 100% rename from tracker/templates/403.html rename to dojo/templates/403.html diff --git a/tracker/templates/404.html b/dojo/templates/404.html similarity index 100% rename from tracker/templates/404.html rename to dojo/templates/404.html diff --git a/tracker/templates/alert_nav_items.html b/dojo/templates/alert_nav_items.html similarity index 100% rename from tracker/templates/alert_nav_items.html rename to dojo/templates/alert_nav_items.html diff --git a/tracker/templates/base.html b/dojo/templates/base.html similarity index 97% rename from tracker/templates/base.html rename to dojo/templates/base.html index 8daa1c58ef8..5c4d7d755df 100644 --- a/tracker/templates/base.html +++ b/dojo/templates/base.html @@ -17,7 +17,7 @@ {% endif %} {% endfor %} {% else %} - TestTrack + DefectDojo {% endif %} {% block add_css_before %} @@ -45,10 +45,10 @@ {% block add_css %} {% endblock %} - + - +