Skip to content
This repository was archived by the owner on Oct 29, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
325 commits
Select commit Hold shift + click to select a range
e4bd891
Merge pull request #13 from m3brown/challenge
dlapiduz Apr 8, 2014
0bf00b4
Use fixtures for smoke tests
dlapiduz Apr 8, 2014
5094f54
Merge pull request #16 from dlapiduz/smoke
m3brown Apr 8, 2014
2a1212c
IN-314 - Add support for threaded comments
m3brown Apr 8, 2014
52e8ba9
Add comments and members properties for idea
dlapiduz Apr 9, 2014
05c14d3
Send notifications when a new comment is created
dlapiduz Apr 9, 2014
013e4e9
Start to style challenge page
dlapiduz Apr 10, 2014
f8e4cd2
Change character limit to 200 on idea summary
dlapiduz Apr 10, 2014
4b2ae9f
IN-314 - Fix incorrect timestamps
m3brown Apr 14, 2014
33aa8c7
Allow liking from listing pages
dlapiduz Apr 15, 2014
ff90902
Add p element and finishing br to notification email
dlapiduz Apr 15, 2014
f30eb2c
Remove voter field from forms, add migrations
m3brown Apr 15, 2014
09b62f5
Merge pull request #1 from m3brown/pr19
dlapiduz Apr 15, 2014
5896a7a
Merge pull request #19 from dlapiduz/styling
m3brown Apr 15, 2014
289dbd7
Update homepage to reflect design prototype
m3brown Apr 14, 2014
e7e700d
IN-463 - Update idea detail and homepage to reflect design proposal
m3brown Apr 15, 2014
4b4441c
Merge pull request #18 from dlapiduz/notifications
m3brown Apr 15, 2014
7f00b52
IN-462 - Add challenge text
m3brown Apr 15, 2014
a23e546
Merge pull request #21 from m3brown/challenge-text
dlapiduz Apr 15, 2014
a51ea66
Merge branch 'custom_comments' of github.com:m3brown/idea-box into m3…
dlapiduz Apr 15, 2014
e1cc8e6
Merge branch 'style' of github.com:m3brown/idea-box into m3brown-style
dlapiduz Apr 15, 2014
0347654
Add mptt to buildout
dlapiduz Apr 15, 2014
4f89fa2
Merge pull request #22 from dlapiduz/master
cmc333333 Apr 16, 2014
77b2363
Fix some issues from merging cfpb/idea-box#19 and cfpb/idea-box#20
m3brown Apr 16, 2014
7b99b17
IN-314 - Fix indented child comments in IE
m3brown Apr 16, 2014
2bba510
Merge pull request #23 from m3brown/style
dlapiduz Apr 16, 2014
4e43c51
Fix fontawesome icon for Read More link in IE
m3brown Apr 16, 2014
1aa8d73
Merge pull request #24 from m3brown/style
dlapiduz Apr 16, 2014
1a89cfe
IN-449 - Add help text for idea create page
m3brown Apr 16, 2014
5b4e455
pep8 cleanup
m3brown Apr 16, 2014
f9c9292
Merge pull request #25 from m3brown/style
dlapiduz Apr 16, 2014
affdd53
Peg django version, thereby reduce the number of tests we need to skip
cmc333333 Apr 17, 2014
ff2f387
Merge pull request #26 from cmc333333/match-version
dlapiduz Apr 17, 2014
f6ae060
IN-481 - Add autocomplete for existing idea tags
m3brown Apr 17, 2014
93185c1
IN-482 - The user can now remove tags he or she added
m3brown Apr 18, 2014
71ee25d
IN-470 - Use common formatting to top left title
m3brown Apr 18, 2014
2d2767b
IN-472 - Update summary/detail formatting in detail page
m3brown Apr 18, 2014
b893627
IN-482 - tags_by_creator should only be used with collab.core.taggit,…
m3brown Apr 18, 2014
79b3ff9
IN-476 - Update sidebar location, challenge page to reflect design sa…
m3brown Apr 18, 2014
3f7bedc
IN-469 - Adjust style for 'Read More' in challenge page
m3brown Apr 18, 2014
9df80d8
IN-469 - Adjust border between ideas
m3brown Apr 18, 2014
9e6b556
Merge pull request #27 from m3brown/autocomplete
dlapiduz Apr 21, 2014
7cd234d
Merge pull request #28 from m3brown/tag_remove
dlapiduz Apr 21, 2014
8bb6823
Merge pull request #29 from m3brown/style
dlapiduz Apr 21, 2014
cb0d490
Remove overflow auto to remove scroll bars
dlapiduz Apr 21, 2014
660a992
Add selectize
dlapiduz Apr 21, 2014
37517be
Use selectize for autocomplete tags in add page
dlapiduz Apr 21, 2014
2ec35b7
Update README.md
Apr 21, 2014
a918667
Update models.py
Apr 21, 2014
688b01a
Merge pull request #30 from dlapiduz/overflow-fix
m3brown Apr 21, 2014
35163c5
Lock taggit to older version since newer builds break when Django <= 6
m3brown Apr 21, 2014
afe3b67
Merge pull request #32 from Vineyards/master
m3brown Apr 21, 2014
dc3b6cb
Merge pull request #31 from m3brown/taggit-version
dlapiduz Apr 21, 2014
ee506d6
Add es5 shim for IE
dlapiduz Apr 22, 2014
d059910
Merge pull request #33 from dlapiduz/selectize
m3brown Apr 22, 2014
150b426
IN-478 - Improve style consistency for selectize tool
m3brown Apr 22, 2014
5686025
Update informative text as requested
m3brown Apr 22, 2014
0780851
IN-482 - Fix remove_tag regex to support multi-word tags
m3brown Apr 22, 2014
aae7d36
Merge pull request #36 from m3brown/tag_remove
dlapiduz Apr 22, 2014
5ebc988
Merge pull request #35 from m3brown/selectize
dlapiduz Apr 22, 2014
de7052d
Improve style for pagination of idea lists
m3brown Apr 22, 2014
be5baa3
Merge pull request #34 from m3brown/pagination
dlapiduz Apr 22, 2014
50c4ae1
IN-469 - Submit for current challenge link auto-selects challenge in …
m3brown Apr 22, 2014
521200a
IN-469 - Update font style for challenge idea list titles
m3brown Apr 22, 2014
03e3970
Merge pull request #37 from m3brown/style
dlapiduz Apr 23, 2014
6b67af5
Add tests to ensure ideabox properly handles tagged items
m3brown Apr 23, 2014
fc6989e
Tags for new ideas are associated with the creating user
m3brown Apr 23, 2014
0393104
Fix issue where remove tag option was available if you created the ta…
m3brown Apr 23, 2014
383d1a4
Fix bug where selectize doesnt show label
dlapiduz Apr 23, 2014
6cb406b
Merge pull request #40 from dlapiduz/selectize
m3brown Apr 23, 2014
d27d4d9
IN-478 - Adjustments to 150b4263f9 to improve rendering in IE
m3brown Apr 23, 2014
f1ee8d2
Show top 25 tags on right sidebar, previously top 10
m3brown Apr 23, 2014
aa2a19f
Remove underlined space after tags on right sidebar
m3brown Apr 23, 2014
73d2cee
Remove extra carrot character in comments
m3brown Apr 23, 2014
ab4a15d
Make 'Liked' and 'Like' buttons have identical widths
m3brown Apr 23, 2014
284ea18
Challenge page sorts idea by creation time, doesn't display archived
m3brown Apr 23, 2014
c6fa886
Fix broken tests caused by d27d4d9
m3brown Apr 23, 2014
8e42bbe
Merge pull request #39 from m3brown/style
dlapiduz Apr 23, 2014
c2fd539
Adjust fc6989e, provide alternate way of saving creator to tagged items
m3brown Apr 25, 2014
fb04730
Merge pull request #38 from m3brown/tag_tests
dlapiduz Apr 28, 2014
a64df05
Fix sidebar tag filtering
m3brown Apr 24, 2014
eafbb08
Fix test failures from d79e574, add tests for banner page
m3brown Apr 24, 2014
dff1fb7
Ensure gui doesn't allow adding ideas to inactive challenges
m3brown Apr 25, 2014
39ba3be
Merge pull request #41 from m3brown/style
dlapiduz Apr 28, 2014
2eb6a15
'Read More >' should all be on the same line
m3brown Apr 28, 2014
3e94b12
Tweak padding for challenge banners
m3brown Apr 28, 2014
091b161
Merge pull request #42 from m3brown/style
dlapiduz Apr 28, 2014
be31efe
Remove padding spaces before 'Read More' links
m3brown Apr 28, 2014
501d1fa
IN-502 - Add CSV export for idea, banner, and votes
m3brown Apr 29, 2014
e1c2cf2
Merge pull request #43 from m3brown/style
dlapiduz Apr 29, 2014
bf27507
Merge pull request #44 from m3brown/csv_export
dlapiduz Apr 29, 2014
0f23786
IN-503 - Add ideabox about text to admin console
m3brown Apr 30, 2014
4f32cce
Remove comma-separated help text that conflicts with autocomplete dro…
m3brown Apr 30, 2014
f2df49d
IN-503 - Add fixture for default About Idea Box text
m3brown Apr 30, 2014
43e6f95
IN-509 - Update color of tag button in add idea page
m3brown May 6, 2014
0ed5c42
Update right sidebar headers from h4 to h3
m3brown May 8, 2014
34e1d69
Merge pull request #45 from m3brown/about_text
dlapiduz May 12, 2014
e8631f0
Merge pull request #46 from m3brown/style
dlapiduz May 12, 2014
7b79d48
Cleanup ideabox admin fields
m3brown May 13, 2014
8181680
Merge pull request #47 from m3brown/admin_cleanup
dlapiduz May 13, 2014
e019d1b
Config table keys should be unique
m3brown May 13, 2014
82df19a
IN-538 - Notifications should not be sent to voters
m3brown May 13, 2014
51a8e1a
Merge pull request #48 from m3brown/admin_cleanup
dlapiduz May 13, 2014
c5e3833
IN-540 - Compact header includes '< Back To'
m3brown May 14, 2014
48653d5
Merge pull request #49 from m3brown/style
dlapiduz May 14, 2014
31724b3
IN-561 - Challenge option disappears if no current challenge
m3brown May 21, 2014
6c371bc
IN-562 - Update text on create idea page
m3brown May 21, 2014
9f8c2d2
IN-562 - Add test for case where challenge is hidden
m3brown May 21, 2014
ed0783a
Merge pull request #50 from m3brown/style
dlapiduz May 21, 2014
1f783a8
Hotfix duplicate of 7980c71
m3brown May 27, 2014
ac0ac41
HTML text can be used in the admin 'config' fields
m3brown May 23, 2014
b0a0ff7
Merge pull request #52 from m3brown/hotfix
cmc333333 May 27, 2014
43a8d52
IN-555 Add add idea success page
m3brown May 23, 2014
6412104
Add id_idea to context
m3brown May 23, 2014
30dad92
Update top left header style to 16px non-uppercase
m3brown May 23, 2014
e5fd0df
Search and replace 'Idea Box' with 'IdeaBox'
m3brown May 23, 2014
3655ecb
IN-555 Update tests to reflect c311775
m3brown May 23, 2014
3a8febf
IN-561 challenge box no longer reappears with incomplete submission
m3brown May 23, 2014
bf4924f
Merge pull request #51 from m3brown/style
dlapiduz May 28, 2014
ae0b508
IN-546 - Update help text for idea create page
m3brown Jun 4, 2014
bd47eb5
IN-546 - Update style of idea create page
m3brown Jun 4, 2014
0302989
Autopep8
m3brown Jun 4, 2014
b9fb721
IN-546 - correct indentation of template if-then, remove a redundant …
m3brown Jun 4, 2014
737bb34
Challenge dropdown default is 'Select'
m3brown Jun 6, 2014
cd05bba
Correct some pep8 ugliness
m3brown Jun 6, 2014
15e714b
Merge pull request #53 from m3brown/style
m3brown Jun 6, 2014
3986635
Summary field should be be a multi-line text box
m3brown Jun 9, 2014
a97496a
Merge pull request #54 from m3brown/style
m3brown Jun 9, 2014
da3dca9
Fix some typos
m3brown Jun 9, 2014
ede600b
IN-554 - Add ability to edit an existing idea
m3brown Jun 10, 2014
88b7cf2
Use better formatting for multi-line strings
m3brown Jun 10, 2014
5422e02
IN-546 - Fix spacing for help text below summary box
m3brown Jun 10, 2014
b6cc902
Merge pull request #55 from m3brown/typo
m3brown Jun 10, 2014
c5f674b
IN-546 - Remove unused variable
m3brown Jun 10, 2014
be6ac46
IN-546 - Improve error catching for cleaned_data[tags]
m3brown Jun 10, 2014
41e3ddb
IN-545 - Blue back button for IdeaBox
m3brown Jun 10, 2014
41a2e1d
Merge pull request #57 from m3brown/style
m3brown Jun 10, 2014
33e58c6
Merge pull request #56 from m3brown/edit_idea
m3brown Jun 10, 2014
b6cf6e1
IN-546 - Add character counter to textarea fields in form
m3brown Jun 12, 2014
7c2fc79
Merge pull request #58 from m3brown/add_idea_counter
m3brown Jun 12, 2014
ec8a105
added tags to allow urls and linebreaks
Jun 18, 2014
75e9d6a
added urlize to about_text field
Jun 18, 2014
e14badf
Merge pull request #59 from mehtadev17/master
m3brown Jun 18, 2014
2f8f8df
Adjust counter position so it doesn't overlap scrollbar in IE
m3brown Jun 19, 2014
4e91fbe
Merge pull request #60 from m3brown/counter-tweak
m3brown Jun 19, 2014
e1ea816
added challenge on idea detail page
Jun 19, 2014
4d4951e
fixed formatting
Jun 20, 2014
e3251a3
modified logic
Jun 20, 2014
af3d8b8
formatting
Jun 20, 2014
47ead83
Merge pull request #62 from mehtadev17/master
m3brown Jun 20, 2014
0505939
backend working
Jun 20, 2014
9af7eae
frontend done
Jun 20, 2014
aeecf5f
IN-600 - Add tests, tweaks to banner_list view
m3brown Jun 23, 2014
c7e4b22
IN-600 - Adjust sidebar banner list style
m3brown Jun 23, 2014
1be086f
IN-600 - Remove unwanted pdb breakpoint in tests
m3brown Jun 23, 2014
e71ab4c
Revert 75e9d6a
m3brown Jun 23, 2014
e3a79f8
links in description under the title should be underlined
m3brown Jun 23, 2014
e89e159
Merge pull request #65 from m3brown/banner_list
m3brown Jun 24, 2014
f7bed94
Merge pull request #66 from m3brown/links
m3brown Jun 24, 2014
137ad41
Update capitalization of titles and proper nouns
m3brown Jun 24, 2014
b92906f
Fix test broken by a modified string
m3brown Jun 24, 2014
4d62fd3
Merge pull request #67 from m3brown/titles
m3brown Jun 24, 2014
0f4e089
Button font should be Avenir Medium
m3brown Jun 24, 2014
536b5e9
Merge pull request #68 from m3brown/titles
m3brown Jun 24, 2014
34c2df0
Added Unlike Capability
Jun 26, 2014
b13b553
Merge branch 'master' of https://github.com/cfpb/idea-box
Jun 26, 2014
c6f80c1
Updated Button Styles to CF Stds
Jun 26, 2014
dfc0953
Updated Tests / Details Like Btn
Jun 26, 2014
ceae8e5
Fixed CSS error, removed debug, cleaned if statement
Jun 27, 2014
e5eee48
CSS Cleanup
Jun 27, 2014
0b26ed4
Updated chevron styles
Jun 30, 2014
960ac3a
CSS Cleanup
Jun 30, 2014
0fa58aa
Merge pull request #69 from sephcoster/master
m3brown Jul 1, 2014
55530ff
IN-619: Added hyperlinks and line breaks to commenting
Jul 2, 2014
3a011f3
Merge pull request #70 from mehtadev17/master
m3brown Jul 2, 2014
b5a6863
Added like limit, detail page
Jul 2, 2014
b5fa49a
Debug cleanup
Jul 2, 2014
dcfbb1d
Conditional likes detail btn
Jul 2, 2014
eb3f5b2
Updated chevron styles, fonts
Jul 2, 2014
ea2c974
Updated idea styles
Jul 2, 2014
82ddcce
Updated Chevron right after
Jul 2, 2014
fc443bd
updated banner detail more icon
Jul 2, 2014
878c9bf
Merge pull request #71 from sephcoster/likeLimit
m3brown Jul 2, 2014
fad37d2
IN-612 - Decouple auth.User to enable custom user models
m3brown Jun 26, 2014
969512e
IN-612 - Update tests to reflect decoupled user model
m3brown Jun 27, 2014
28caa3b
IN-612 - Migrate user model to core.CollabUser
m3brown Jun 30, 2014
9d31419
IN-612 - Use generic django.conf instead of collab.settings to import…
m3brown Jun 30, 2014
efceeed
IN-612 - Include collab in buildout so CollabUser can be utilized in …
m3brown Jul 1, 2014
ddd3473
Add pillow to buildout
m3brown Jul 2, 2014
30f1317
IN-525 - Fix the duplicate chevron right for 'Read More' in the chall…
m3brown Jul 2, 2014
185b638
Merge pull request #73 from m3brown/idea-more
m3brown Jul 7, 2014
b84ed87
Update buildout's collab to point to cfpb repo
m3brown Jul 7, 2014
617d86e
Merge pull request #72 from m3brown/usermodel
m3brown Jul 7, 2014
ae441f6
Removed back to top, changed like text
Jul 8, 2014
37fc860
Merge pull request #74 from m3brown/likeLimit
m3brown Jul 8, 2014
3ee9005
Allow urls and newlines in banner description
m3brown Sep 9, 2014
a91aecc
Use multi-line text-field for challenge description
m3brown Sep 9, 2014
d3f9f18
Merge pull request #75 from m3brown/challenge_urlize
m3brown Sep 10, 2014
6d848c4
Fix add_idea when multiple States have no previous
m3brown Oct 3, 2014
2e1cb65
Merge pull request #76 from m3brown/state_helper
m3brown Oct 3, 2014
f6b86c6
Remove unused 'similar' from add_idea view
m3brown Oct 6, 2014
27e60d2
Add sample CSS style document to improve the look of ideabox when run…
m3brown Oct 16, 2014
e720740
Update the screenshot
m3brown Oct 16, 2014
13bcaeb
Remove mention of team name in idea created page
m3brown Oct 16, 2014
667231b
Merge pull request #79 from m3brown/project_name
Scotchester Oct 16, 2014
3f6fbf5
Add comments for why similar is being disabled
m3brown Oct 16, 2014
772280e
Merge pull request #77 from m3brown/similar
Scotchester Oct 16, 2014
819ef85
Update README with info on the sample style
m3brown Oct 16, 2014
2a8468b
Merge pull request #78 from m3brown/style
Scotchester Oct 16, 2014
6427dc5
Remove dependencies on Collab's core.collabuser and core.taggit
m3brown Oct 16, 2014
8626873
Remove haystack/search functionality as it is not being used
m3brown Oct 17, 2014
0488315
Re-add search_indexes.py, which is used by collab
m3brown Oct 20, 2014
910cffb
readme updates
dpford Oct 22, 2014
baa7420
Merge pull request #1 from dpford/readme_update
m3brown Oct 22, 2014
3a0300b
Merge pull request #80 from m3brown/standalone
dpford Oct 22, 2014
1e134be
Initial commit for private room functionality
m3brown Dec 8, 2014
fc385b6
Migrations now create a unique slug for existing banner objects
m3brown Dec 8, 2014
f608e73
Add slug to idea admin page
m3brown Dec 8, 2014
4de1b5a
Update broken tests
m3brown Dec 8, 2014
8da46a4
Remote ugly '(ends None)' from dropdown selector if no end_date is de…
m3brown Dec 9, 2014
129daf1
Edit Idea form now works with private rooms
m3brown Dec 9, 2014
49ea43d
Update templates to use appropriate challenge and room detail urls
m3brown Dec 9, 2014
7f427e8
Ensure private ideas don't appear in search results
m3brown Dec 9, 2014
6a451f2
Tests now run when bundled with collab
m3brown Dec 9, 2014
2a318cf
Merge branch 'tests' of github.com:m3brown/idea-box into private
m3brown Dec 9, 2014
0f61d5d
Merge pull request #83 from m3brown/tests
m3brown Dec 9, 2014
941abff
Add tests for private room functionality
m3brown Dec 9, 2014
5505cd8
Use correct URL formatting in banner_detail template
m3brown Dec 10, 2014
c6ee78e
Update return link on add_success page for private ideas
m3brown Dec 10, 2014
1e44a5e
Merge pull request #82 from m3brown/private
m3brown Dec 11, 2014
ad5c50b
Add anonymous ideas and comments, ability to hide voting
m3brown Dec 11, 2014
a502916
Replace instances of Comment with custom MPTTComment
m3brown Dec 11, 2014
658f2c8
Add tests for anonymous functionality
m3brown Dec 11, 2014
2c6d6f8
Notifications for anonymous comments should also be anonymous
m3brown Dec 12, 2014
6f2d25a
Improve wording of anonymous checkboxes, since they aren't truly anon…
m3brown Dec 12, 2014
af8848e
Forgot to add new anonymous templates in the previous commit
m3brown Dec 12, 2014
9f51d1e
Fix incorrect tag for room link in banner admin
m3brown Dec 12, 2014
0e397df
Change name of anonymous commenter
m3brown Dec 12, 2014
471e74f
Merge pull request #84 from m3brown/private
m3brown Dec 12, 2014
ea942ad
IdeaBox is not hypenated. Django is capitalized
Feb 11, 2015
d284189
Grammar
Feb 11, 2015
63ad3f1
Merge pull request #85 from khandelwal/master
Scotchester Feb 11, 2015
ce4aae2
Update taggit info in README
m3brown Mar 20, 2015
248fc8a
Merge pull request #86 from m3brown/readme
Scotchester Mar 25, 2015
026aad4
Remove buildout
Aug 25, 2015
d37809f
Remove 'src' directory
Aug 25, 2015
f252bdf
Remove buildout folder
Aug 25, 2015
117ec69
Don't require nose in the base settings
Aug 25, 2015
1be6da6
Fix type inconsistency in sql
Aug 26, 2015
acf5807
Merge branch 'remove-buildout' into postgres-type-error
Aug 26, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@
*.pot
*.pyc
local_settings.py
.installed.cfg
bin
develop-eggs
dist
build
downloads
eggs
parts
src/*.egg-info
.DS_Store
9 changes: 9 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
language: python
python:
- "2.6"
- "2.7"
install:
- pip install -r requirements.txt
- pip install -r requirements_test.txt
script:
- python manage.py test --settings=idea.settings.test
4 changes: 4 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
1.1.0
=====

Initial Release
12 changes: 12 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Public domain

The project is in the public domain within the United States, and
copyright and related rights in the work worldwide are waived through
the [CC0 1.0 Universal public domain dedication][CC0].

All contributions to this project will be released under the CC0
dedication. By submitting a pull request, you are agreeing to comply
with this waiver of copyright interest.

[CC0]: http://creativecommons.org/publicdomain/zero/1.0/

122 changes: 122 additions & 0 deletions COPYING.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
Creative Commons Legal Code

CC0 1.0 Universal

CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.

For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:

i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.

4. Limitations and Disclaimers.

a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.

136 changes: 79 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,67 @@
# Idea Collection
# IdeaBox

Collecting and surfacing ideas from everyone.
[![Build Status](https://travis-ci.org/cfpb/idea-box.svg?branch=master)](https://travis-ci.org/cfpb/idea-box)

IdeaBox is a Django app for collecting and surfacing ideas from users, in the vein of
IdeaScale, IdeaX, and Django Voice. IdeaBox differs from these projects in its minimal,
easily integrate-able interface. IdeaBox also takes a strong stance on transparency,
such that ideas, votes, etc. are tied to specific users.

## Features
* Idea Submission
* Tagging (via taggit)
* Voting
* Comments
* Listing by trending, likes, and recently added
* Archive/hide ideas
* Customizable challenges for specific campaigns

## Screen shot

![Idea Profile](https://raw.github.com/cfpb/idea-box/master/doc/images/profile.png)

## Requirements
* django (1.4.3) - This is a django app, so you need django.
* django-haystack (1.2.7) - A mapper between django models and search
backends.
* pysolr (3.0.3) - Library for communicating with solr.
* django-taggit - A library for Tags within django
* django (1.5.4) - This is a Django app, so you need Django.
* django-taggit - A library for tags within Django
* mock - A library for creating mock objects for testing.
* south - A library for schema and data migrations.
* django-mptt - A library enabling nested/reply-to comments

### Optional
* [collab platform](http://github.com/cfpb/collab) - Installing IdeaBox as an app inside a collab platform provides several convenience features:
* Autocomplete when adding new tags (requires elasticsearch server)
* User can delete tags he/she created
* Email notifications

* solr (and java) - A Search backend. Unfortunately, we currently require
Solr (rather than another backend) because we need specific functionality
that haystack doesn't give us direct access to. Eventually, we'll get a
pull request to haystack which will reduce our solr requirement.

## Installation

### Settings File
Modify your settings file to add the following apps:
* django.contrib.comments
* haystack
* idea
* Use pip to install the dependencies listed above
* If not using collab as the Django platform, you still need to install collab for `custom_comments` and `taggit`

You will also need to configure haystack. See the haystack
[documentation](http://django-haystack.readthedocs.org/en/v1.2.7/tutorial.html#configuration)
```
pip install git+https://github.com/cfpb/collab.git#egg=collab
```

If you'd prefer to take the quick route, add the following to your
settings.py:
```python
HAYSTACK_SITECONF = 'search_sites'
HAYSTACK_SEARCH_ENGINE = 'solr'
HAYSTACK_SOLR_URL = 'http://localhost:8983/solr'
### Settings File
Modify your settings file to add the following to your `INSTALLED_APPS`:
```
'django.contrib.comments',
'south',
'mptt',
'core.custom_comments',
'core.taggit',
'idea'
```

If you are going that route, make sure that you have a search_sites.py
module in the root of your project with something like the following:
#### Optional: Django-taggit

```python
import haystack
haystack.autodiscover()
```
If your project is already using [taggit](https://github.com/alex/django-taggit), you can use that instead of collab's taggit but you will lose some minor functionality. To use the generic taggit, replace `core.taggit` with `taggit` in the `INSTALLED_APPS` step above.

### Folder Structure

You will need to get the contents of the ```src/idea``` directory into
your django project. The simplest way to do this might be a symbolic
your Django project. The simplest way to do this might be a symbolic
link.

```
Expand All @@ -57,37 +74,23 @@ mydjango_project/

### URLs

Add the idea.urls, haystack.urls, and comments.urls to you url.py. For
Add the idea.urls and comments.urls to your url.py. For
example:

```python
from mydjango_project import settings

if 'idea' in settings.INSTALLED_APPS and \
'django.contrib.comments' in settings.INSTALLED_APPS and\
'haystack' in settings.INSTALLED_APPS:
urlpatterns.append(url(r'^haystack/', include('haystack.urls')))
'django.contrib.comments' in settings.INSTALLED_APPS:
urlpatterns.append(url(r'^comments/',
include('django.contrib.comments.urls')))
urlpatterns.append(url(r'^idea/', include('idea.urls')))
urlpatterns.append(url(r'^idea/', include('idea.urls', namespace='idea')))
```

### Solr

You will also need to modify your solr configs. Take a look at the
configuration files included in the root's ```solr``` directory. For a
complete (but poor) implementation,

```bash
$ wget http://mirror.reverse.net/pub/apache/lucene/solr/4.1.0/solr-4.1.0.tgz
$ tar -xvzf solr-4.1.0.tgz
$ cd solr-4.1.0/example/solr/collection1/conf/
$ cp ~/idea/solr/* .
$ cd ../../../
$ java -jar start.jar &
```

### Migrations

From your project root, synchronize and migrate the new apps.
From your project root, synchronize and migrate the new apps. Make sure to set your database settings.

```bash
$ python ./manage.py syncdb --noinput --migrate
Expand All @@ -103,10 +106,29 @@ this to link users to a profile page. This is specified through the
AUTH_PROFILE_MODULE setting. Your profile module will also have to specify a
get_absolute_url() method.

### Buildout
To use buildout, run the following:
```bash
$ pip install zc.buildout distribute
$ buildout
### CSS

The default CSS style for IdeaBox is not ready for production. This was done
intentionally so that IdeaBox's style can match the style of the platform in
which it resides (i.e. not everyone wants a green header). The simplest way to
improve the styling is to source `src/idea/static/idea/css/sample_style.css`
in the `css_files` block in the `/src/idea/templates/idea/idea-base.html` template:

```
{% block "css_files" %}
# ... existing code ...
<link rel="stylesheet" href="{{ STATIC_URL }}idea/css/sample_style.css">
{% endblock %}
```
Then, run the django binary in the ```bin``` directory.

Ideally, your Django platform will provide styles that can be sourced in the
`base.html` template described in the section above so IdeaBox can match the
look and feel of your system.


### Campaign Banner

To create a challenge, use Django's administrative panel to add a Banner model object. The
text field will be displayed at the right of the IdeaBox idea listing page. The banner
will only be displayed between Start Date and End Date (or indefinitely after the Start
Date if the End Date is empty.)
8 changes: 0 additions & 8 deletions TERMS

This file was deleted.

Loading