Skip to content
This repository has been archived by the owner on Sep 11, 2019. It is now read-only.

Commit

Permalink
Tag and release v2.1.0 (#1303)
Browse files Browse the repository at this point in the history
  • Loading branch information
jseppi committed Jan 31, 2017
1 parent 56005b8 commit 3647f52
Show file tree
Hide file tree
Showing 57 changed files with 876 additions and 270 deletions.
37 changes: 36 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,40 @@ to [Semantic Versioning](http://semver.org/).

## [Unreleased][unreleased]

## [2.1.0][] - 2017-01-31

### Added

- A link to "Read about recent updates to CALC" now appears in the
footer of every page.

### Changed

- Search queries ending with trailing commas and using the "contains phrase"
criteria now work properly.

- CALC now validates minimum wages based on the value of $10.20 per
hour, as set forth by
[Executive Order 13658](https://www.dol.gov/whd/flsa/eo13658/index.htm).

- Various improvements to the copy of emails sent out by CALC have been
made, thanks to the efforts of the 18F Writing Lab.

- Emails are also sent in HTML format (in addition to plain text) and
include relevant links back to CALC where applicable.

- Sent emails also now have a `reply-to` header set to a valid email
address that will be checked and responded-to by a CALC team member.

- Errors in uploaded price lists are now displayed via tooltips (#1245).

- Explicit HTTP `Cache-Control` headers are now set on responses so that
Amazon CloudFront will behave properly when new versions of CALC are
deployed.

- A new `manage.py send_example_emails` command has been added to make
it easier to iterate on the emails sent by CALC.

## [2.0.0][] - 2017-01-18

### Added
Expand Down Expand Up @@ -90,7 +124,8 @@ to [Semantic Versioning](http://semver.org/).
- refining header wording
- replace drop down for education with multi select

[unreleased]: https://github.com/18F/calc/compare/v2.0.0...HEAD
[unreleased]: https://github.com/18F/calc/compare/v2.1.0...HEAD
[2.1.0]: https://github.com/18F/calc/compare/v2.0.0...v2.1.0
[2.0.0]: https://github.com/18F/calc/compare/v1.2.0...v2.0.0
[1.2.0]: https://github.com/18F/calc/compare/v1.1.2...v1.2.0
[1.1.2]: https://github.com/18F/calc/compare/v1.1.1...v1.1.2
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,11 @@ string), the boolean is true; otherwise, it's false.
emails to managers and admins. It corresponds to Django's [`SERVER_EMAIL`][]
setting. It defaults to `system@localhost` when `DEBUG=True`.

* `HELP_EMAIL` is the email used as the reply-to address in system
generated emails to users. It is also the email address used in the site
footer and for other contact purposes. It should refer to an inbox that is
monitored. If not set, it will use the same value as `DEFAULT_FROM_EMAIL`.

* `REDIS_URL` is the URL for redis, which is used by the task queue.
When `DEBUG` is true, it defaults to `redis://localhost:6379/0`.

Expand Down
12 changes: 9 additions & 3 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,16 +64,20 @@ To release version 0.0.4 of CALC:
```

8. Merge the PR into `master`. Once Travis CI is finished, the site
will be deployed to production.
will be deployed to staging.

9. Tag the release and push it to the official repository:
9. Visit the [staging instance][staging] and make sure all is functioning as
expected.

10. Tag the release and push it to the official repository, which will trigger
Travis CI to deploy the site to [production][production]:

```
git tag -a v0.0.4 -F tag-message-v0.0.4.txt
git push https://github.com/18F/calc.git v0.0.4
```

10. Merge `v0.0.4-rc` into `develop` on the official repository:
11. Merge `v0.0.4-rc` into `develop` on the official repository:

```
git checkout develop
Expand All @@ -86,3 +90,5 @@ Hooray, you're done!

[unreleased]: https://github.com/18F/calc/blob/develop/CHANGELOG.md#unreleased
[pr]: https://github.com/18F/calc/compare/master...v0.0.4-rc
[staging]: https://calc-staging.app.cloud.gov
[production]: https://calc.gsa.gov
8 changes: 8 additions & 0 deletions api/tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,14 @@ def test_empty_results(self):
self.assertEqual(resp.data['results'], [])
self.assertEqual(resp.data['first_standard_deviation'], None)

def test_empty_results_2(self):
self.make_test_set()
resp = self.c.get(self.path, {'q': 'nsfr87y3487h3rufbf,',
'query_type': 'match_phrase'})
self.assertEqual(resp.status_code, 200)
self.assertEqual(resp.data['results'], [])
self.assertEqual(resp.data['first_standard_deviation'], None)

def test_search_results(self):
self.make_test_set()
resp = self.c.get(self.path, {'q': 'accounting'})
Expand Down
2 changes: 1 addition & 1 deletion api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ def get_contracts_queryset(request_params, wage_field):
contracts = contracts.exclude(**{wage_field + '__isnull': True})

if query:
qs = query.split(',')
qs = [s for s in query.split(',') if s.strip()]

if query_type not in ('match_phrase', 'match_exact'):
contracts = contracts.multi_phrase_search(qs)
Expand Down
2 changes: 1 addition & 1 deletion contracts/loaders/region_10.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from contracts.models import Contract

FEDERAL_MIN_CONTRACT_RATE = 10.10
FEDERAL_MIN_CONTRACT_RATE = 10.20

logger = logging.getLogger(__name__)

Expand Down
10 changes: 7 additions & 3 deletions data_capture/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,10 @@ class CustomUserAdmin(UserAdmin):
('Important dates', {'fields': ('last_login', 'date_joined')}),
)

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
UserAdmin.list_display = ('email', 'is_staff')

def get_queryset(self, request):
qs = super().get_queryset(request)
if not request.user.is_superuser:
Expand Down Expand Up @@ -174,7 +178,7 @@ def approve(modeladmin, request, queryset):
count = not_approved.count()
for price_list in not_approved:
price_list.approve(request.user)
email.price_list_approved(price_list)
email.price_list_approved(price_list, request.get_host())

messages.add_message(
request,
Expand All @@ -196,7 +200,7 @@ def retire(modeladmin, request, queryset):
count = approved.count()
for price_list in approved:
price_list.retire(request.user)
email.price_list_retired(price_list)
email.price_list_retired(price_list, request.get_host())
messages.add_message(
request,
messages.INFO,
Expand All @@ -217,7 +221,7 @@ def reject(modeladmin, request, queryset):
count = unreviewed.count()
for price_list in unreviewed:
price_list.reject(request.user)
email.price_list_rejected(price_list)
email.price_list_rejected(price_list, request.get_host())
messages.add_message(
request,
messages.INFO,
Expand Down
Loading

0 comments on commit 3647f52

Please sign in to comment.