[ckan-changes] [okfn/ckan] a3d31e: [#1635] user_dictize() don't crash if no context['...
GitHub
noreply at github.com
Thu Dec 20 12:04:58 UTC 2012
Branch: refs/heads/master
Home: https://github.com/okfn/ckan
Commit: a3d31e5eadc2b0a4eed282a2a733c5756ae64214
https://github.com/okfn/ckan/commit/a3d31e5eadc2b0a4eed282a2a733c5756ae64214
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-16 (Fri, 16 Nov 2012)
Changed paths:
M ckan/lib/dictization/model_dictize.py
Log Message:
-----------
[#1635] user_dictize() don't crash if no context['user']
Normally 'user' would always be in context (and would be None if no user
was logged in) but if user_dictize() was called via an internal function
calling a logic action function via get_action(), and that internal
function neglected to put 'user': None in context, then user_dictize()
would raise KeyError. (An example of this is the
get_and_send_notifications_for_all_users() that I'm about to commit
after this.)
May as well just behave as if 'user': None was in context instead.
Commit: 373432f4001273f171d04d4ea48b240c67d64ae7
https://github.com/okfn/ckan/commit/373432f4001273f171d04d4ea48b240c67d64ae7
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-16 (Fri, 16 Nov 2012)
Changed paths:
M ckan/logic/action/get.py
Log Message:
-----------
[#1635] Remove an unused variable
Commit: a678e0e27efb1aaea8fd11bc10f0cb5db709e3d7
https://github.com/okfn/ckan/commit/a678e0e27efb1aaea8fd11bc10f0cb5db709e3d7
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-16 (Fri, 16 Nov 2012)
Changed paths:
A ckan/lib/email_notifications.py
M ckan/logic/action/get.py
M ckan/model/dashboard.py
M ckan/model/user.py
A ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Initial implementation of email notifications for activity streams
ckan/model/user.py
Added @classmethod all()
ckan/model/dashboard.py
Added last_activity_stream_email_notification and @classmethods
get_last_activity_stream_email_notification,
update_last_activity_stream_email_notification
logic/action/get.py:
Added dashboard_email_notification_last_sent and get_email_notifications
actions. These may not really need to be action functions as they may only be
needed internally.
ckan/lib/email_notifications.py
This is the email notifier job meant to be run by paster (but there's no
paster command for it yet)
ckan/tests/lib/test_email_notifications.py
The beginning of some tests
Commit: 20e70832b52b088d1f8b4ecad782a641a98797b4
https://github.com/okfn/ckan/commit/20e70832b52b088d1f8b4ecad782a641a98797b4
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-16 (Fri, 16 Nov 2012)
Changed paths:
M ckan/config/routing.py
M ckan/controllers/group.py
M ckan/lib/activity_streams.py
M ckan/lib/dictization/model_dictize.py
M ckan/lib/dictization/model_save.py
M ckan/lib/helpers.py
M ckan/logic/action/create.py
M ckan/logic/action/delete.py
M ckan/logic/action/get.py
M ckan/logic/converters.py
M ckan/logic/schema.py
M ckan/logic/validators.py
A ckan/migration/versions/061_add_follower__group_table.py
M ckan/model/__init__.py
M ckan/model/follower.py
M ckan/public/base/javascript/modules/popover-context.js
M ckan/public/base/less/activity.less
M ckan/public/base/less/iehacks.less
A ckan/templates/ajax_snippets/popover-context-group.html
A ckan/templates/group/about.html
M ckan/templates/group/activity_stream.html
A ckan/templates/group/admins.html
A ckan/templates/group/followers.html
M ckan/templates/group/read.html
M ckan/templates/user/dashboard.html
M ckan/templates/user/read.html
M ckan/tests/functional/api/test_follow.py
M ckan/tests/functional/test_activity.py
M doc/common-error-messages.rst
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Conflicts:
ckan/public/base/less/iehacks.less
Commit: a0d1062f8dc10b32f0cb3491d255e23711553878
https://github.com/okfn/ckan/commit/a0d1062f8dc10b32f0cb3491d255e23711553878
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-19 (Mon, 19 Nov 2012)
Changed paths:
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Fix up the first couple of tests, add in plan for some more
Commit: 7a5df8e780b3abfb484f6101a84ac1dc5f85f187
https://github.com/okfn/ckan/commit/7a5df8e780b3abfb484f6101a84ac1dc5f85f187
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-19 (Mon, 19 Nov 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/logic/action/get.py
M ckan/logic/action/update.py
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Implement a couple more tests
Commit: 6388d8d0f9cf2c7c4e7ce50a3564de3379bca45e
https://github.com/okfn/ckan/commit/6388d8d0f9cf2c7c4e7ce50a3564de3379bca45e
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-19 (Mon, 19 Nov 2012)
Changed paths:
M ckan/controllers/user.py
M ckan/lib/activity_streams.py
M ckan/logic/action/get.py
M ckan/logic/auth/get.py
M ckan/logic/auth/publisher/get.py
R ckan/migration/versions/061_add_dashboard_table.py
A ckan/migration/versions/062_add_dashboard_table.py
M ckan/model/activity.py
M ckan/public/base/less/iehacks.less
M ckan/tests/functional/api/test_activity.py
M ckan/tests/functional/api/test_dashboard.py
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Commit: 5b1ba5186906308176245817b2290e6f03e9c039
https://github.com/okfn/ckan/commit/5b1ba5186906308176245817b2290e6f03e9c039
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-19 (Mon, 19 Nov 2012)
Changed paths:
M ckan/logic/action/get.py
Log Message:
-----------
[#1635] Delete unused action function
Commit: edc833e2b49ccde474272f0676e61ec28d931561
https://github.com/okfn/ckan/commit/edc833e2b49ccde474272f0676e61ec28d931561
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-22 (Thu, 22 Nov 2012)
Changed paths:
M README.rst
M ckan/config/deployment.ini_tmpl
M ckan/lib/app_globals.py
M ckan/lib/cli.py
M ckan/logic/action/get.py
M ckan/logic/auth/get.py
M ckan/public/base/css/main.css
M ckan/public/base/less/masthead.less
M ckan/templates/header.html
M ckan/tests/functional/api/test_dashboard.py
M ckan_deb/usr/lib/ckan/common.sh
A doc/architecture.rst
R doc/buildbot.rst
R doc/coding-standards.rst
A doc/contributing-docs.rst
A doc/contributing.rst
A doc/css-coding-standards.rst
M doc/datastore-setup.rst
R doc/domain-model-dataset.rst
R doc/domain-model-resource.rst
R doc/domain-model-task-status.rst
R doc/domain-model.rst
A doc/html-coding-standards.rst
M doc/index.rst
M doc/install-from-source.rst
A doc/javascript-coding-standards.rst
A doc/migration.rst
A doc/python-coding-standards.rst
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Commit: 097cb915fc73a937b7f0fe809755a16983b736ba
https://github.com/okfn/ckan/commit/097cb915fc73a937b7f0fe809755a16983b736ba
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-25 (Sun, 25 Nov 2012)
Changed paths:
M ckan/controllers/user.py
M ckan/logic/action/get.py
M ckan/logic/action/update.py
M ckan/logic/auth/get.py
M ckan/logic/auth/publisher/get.py
M ckan/logic/auth/update.py
M ckan/tests/functional/api/test_dashboard.py
Log Message:
-----------
[#1635] Rename dashboard_mark_activities_old
Change long name dashboard_mark_all_new_activities_as_old ->
dashboard_mark_activities_old, also move it from get.py to update.py where it
belongs.
Commit: d03f0a4c0853155a020c70dcf57398ce843171a2
https://github.com/okfn/ckan/commit/d03f0a4c0853155a020c70dcf57398ce843171a2
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-27 (Tue, 27 Nov 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/logic/action/get.py
M ckan/logic/action/update.py
Log Message:
-----------
[#1635] Remove two unwanted action functions
Remove dashboard_email_notification_last_sent and
dashboard_update_email_notification_last_sent logic functions, instead access
the model functions directly from the lib.
We're not supposed to access the model from the lib, but I don't want to expose
these function as action functions either because they're only needed by this
one lib, I don't want to expose them in the API.
Commit: 2ea41a7725810d76313f46db1d027939d5b36c7c
https://github.com/okfn/ckan/commit/2ea41a7725810d76313f46db1d027939d5b36c7c
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-27 (Tue, 27 Nov 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/model/dashboard.py
Log Message:
-----------
[#1635] Shorten a couple of really long names
Commit: 12cea9b6f625ac0134ecee4e06532afaab360283
https://github.com/okfn/ckan/commit/12cea9b6f625ac0134ecee4e06532afaab360283
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-27 (Tue, 27 Nov 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/logic/action/get.py
M ckan/logic/action/update.py
M ckan/model/dashboard.py
Log Message:
-----------
[#1635] Remove unnecessary @classmethods from dashboard model
This moves some logic out of the dashboard model and into the lib, which is
probably where it belongs as that's where the rest of the relevant logic is,
and overall this makes the code shorter as well.
Commit: f63a00c13d4296d315044a04c15065192ac9c26c
https://github.com/okfn/ckan/commit/f63a00c13d4296d315044a04c15065192ac9c26c
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-28 (Wed, 28 Nov 2012)
Changed paths:
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Small email notifications tests refactoring
Save some lines
Commit: 9bc3875d7f77ab5a982f0919d7e538141d168147
https://github.com/okfn/ckan/commit/9bc3875d7f77ab5a982f0919d7e538141d168147
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-28 (Wed, 28 Nov 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Don't send emails for activities already seen on dashboard
Commit: 197fdf413d707ca3fedbebb105552a15a3d6c193
https://github.com/okfn/ckan/commit/197fdf413d707ca3fedbebb105552a15a3d6c193
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-28 (Wed, 28 Nov 2012)
Changed paths:
M ckan/config/routing.py
M ckan/controllers/group.py
M ckan/controllers/package.py
M ckan/lib/dictization/model_dictize.py
M ckan/logic/action/get.py
M ckan/model/activity.py
M ckan/model/group.py
A ckan/templates/package/activity.html
M ckan/templates/package/read.html
M ckan/templates/user/dashboard.html
M ckan/tests/functional/api/__init__.py
M ckan/tests/functional/api/test_activity.py
M ckan/tests/functional/api/test_dashboard.py
M ckan/tests/functional/api/test_follow.py
M ckan/tests/functional/test_group.py
M ckan/tests/functional/test_user.py
M ckan/tests/lib/test_dictization_schema.py
M ckan/tests/models/test_group.py
M doc/contributing.rst
A doc/frontend-testing.rst
M doc/python-coding-standards.rst
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Commit: 0cdb0d3aeacebdff4159b528a9d9ad2be202e6fc
https://github.com/okfn/ckan/commit/0cdb0d3aeacebdff4159b528a9d9ad2be202e6fc
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-28 (Wed, 28 Nov 2012)
Changed paths:
M ckan/model/activity.py
M pip-requirements-test.txt
M pip-requirements.txt
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Commit: 48a5d1fc15982f3c3d52854114e150f6c8fec3c9
https://github.com/okfn/ckan/commit/48a5d1fc15982f3c3d52854114e150f6c8fec3c9
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-28 (Wed, 28 Nov 2012)
Changed paths:
M ckan/tests/mock_publisher_auth.py
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Commit: a22275088a8f15a4634d579ea91415cb375fce66
https://github.com/okfn/ckan/commit/a22275088a8f15a4634d579ea91415cb375fce66
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-28 (Wed, 28 Nov 2012)
Changed paths:
M ckan/logic/auth/publisher/get.py
Log Message:
-----------
[#1635] Fix a broken import
Commit: c1600048d7fbc854dd93493f608b01487d7aab7d
https://github.com/okfn/ckan/commit/c1600048d7fbc854dd93493f608b01487d7aab7d
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-28 (Wed, 28 Nov 2012)
Changed paths:
M ckan/tests/lib/test_dictization.py
Log Message:
-----------
[#1635] Update an outdated test
Commit: 39cdfde297076de5df8fbc6528284948f0f8c791
https://github.com/okfn/ckan/commit/39cdfde297076de5df8fbc6528284948f0f8c791
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-28 (Wed, 28 Nov 2012)
Changed paths:
M ckan/model/user.py
M ckan/tests/lib/test_dictization.py
Log Message:
-----------
[#1635] Remove last_activity_streams_notification_email column from user model.
This got committed accidentally in commit
a678e0e27efb1aaea8fd11bc10f0cb5db709e3d7, should not have been committed, I
went with email_last_sent column on the Dashboard model instead.
Commit: cd57dd3b67a85ef0ec00b3d4e5fa8622b1afea66
https://github.com/okfn/ckan/commit/cd57dd3b67a85ef0ec00b3d4e5fa8622b1afea66
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-28 (Wed, 28 Nov 2012)
Changed paths:
A ckan/migration/versions/063_add_email_last_sent_column.py
Log Message:
-----------
[#1635] Add email_last_sent migration script
Commit: 913ce71812ae165a67c09292debe0cbb6a46a843
https://github.com/okfn/ckan/commit/913ce71812ae165a67c09292debe0cbb6a46a843
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-29 (Thu, 29 Nov 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/logic/schema.py
M ckan/model/user.py
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Add email notifications user preference
Don't send email notifications if the user has them turned off in her
preferences.
Commit: c4e349c405a716367ae67dd75567ac3f48b0bc82
https://github.com/okfn/ckan/commit/c4e349c405a716367ae67dd75567ac3f48b0bc82
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-29 (Thu, 29 Nov 2012)
Changed paths:
A ckan/migration/versions/064_add_email_notifications_preference.py
Log Message:
-----------
[#1635] Add email notifications user preference migration script
Commit: f5fac45ff9bede1217b2283c68a51d0904b6d31d
https://github.com/okfn/ckan/commit/f5fac45ff9bede1217b2283c68a51d0904b6d31d
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-29 (Thu, 29 Nov 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Don't send old emails when user enables notifications
After a user enables her email notifications preference, don't send her
emails about old activities that happened before she enabled it (even if
those activities are still marked as new on her dashboard).
This prevents the user from getting a flood of email notifications as
soon as she enables the preference (currently she would only get one
email anyway as all activities are always packed into one digest email,
but if that changes in future this safeguard might come in handy)
Commit: 0ec7ef80dab6e8262e44f337856d4be70f5c3f0e
https://github.com/okfn/ckan/commit/0ec7ef80dab6e8262e44f337856d4be70f5c3f0e
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-29 (Thu, 29 Nov 2012)
Changed paths:
M ckan/tests/__init__.py
M ckan/tests/functional/api/test_follow.py
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Commit: 35cb12bb65bc0b353c99eee8ea04d9da3d757f09
https://github.com/okfn/ckan/commit/35cb12bb65bc0b353c99eee8ea04d9da3d757f09
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-11-29 (Thu, 29 Nov 2012)
Changed paths:
M ckan/tests/lib/test_dictization.py
Log Message:
-----------
[#1635] Update an outdated test
Commit: ed221a2e52d3ee317a0f0e3b955c7bfbffa11286
https://github.com/okfn/ckan/commit/ed221a2e52d3ee317a0f0e3b955c7bfbffa11286
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-03 (Mon, 03 Dec 2012)
Changed paths:
M ckan/lib/mailer.py
Log Message:
-----------
[#1635] Remove pylons.g from lib/mailer.py
Don't use pylons.g in ckan/lib/mailer.py, use pylons.config instead.
This allows mailer.py to be used from outside of a Pylons request thread
(where pylons.g has not been registered for the thread), e.g. from a
paster command.
Commit: 0d9e6274991393c28e3bbe9b930a0551dd627ae7
https://github.com/okfn/ckan/commit/0d9e6274991393c28e3bbe9b930a0551dd627ae7
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-03 (Mon, 03 Dec 2012)
Changed paths:
M ckan/lib/cli.py
M ckan/lib/email_notifications.py
M setup.py
Log Message:
-----------
- Add EmailNotificationsCommand in cli.py and setup.py
- Move an import in email_notifications.py into a function. This seems to be
necessary otherwise the paster command crashes.
Commit: 100bf3166fae97154887126417a6742185aaa7bd
https://github.com/okfn/ckan/commit/100bf3166fae97154887126417a6742185aaa7bd
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-03 (Mon, 03 Dec 2012)
Changed paths:
M ckan/lib/email_notifications.py
Log Message:
-----------
[#1635] Fix a couple of comments
Commit: 7f9c2358bb1ed8d03f08060a0799a88adbc24afb
https://github.com/okfn/ckan/commit/7f9c2358bb1ed8d03f08060a0799a88adbc24afb
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-03 (Mon, 03 Dec 2012)
Changed paths:
M ckan/controllers/home.py
M ckan/lib/helpers.py
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Commit: 794d61bf2159ed07b7075faf126fac3348325c39
https://github.com/okfn/ckan/commit/794d61bf2159ed07b7075faf126fac3348325c39
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-04 (Tue, 04 Dec 2012)
Changed paths:
M ckan/lib/mailer.py
Log Message:
-----------
[#1635] Improve CKAN's SMTP support
Rename config option smtp_server -> smtp.server, add options smtp.starttls,
smtp.user and smtp.password, refactor the email-sending code in
mailer.py to (optionally) support STARTTLS and user and password
authentication. This means CKAN can now send emails using gmail's SMTP
server with a gmail username and password, for example. Sending mail
using a local sendmail process with no STARTTLS, username, or password
should still work as before.
Commit: 44abd17417429aca106993f78702d601e87c799b
https://github.com/okfn/ckan/commit/44abd17417429aca106993f78702d601e87c799b
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-04 (Tue, 04 Dec 2012)
Changed paths:
M ckan/lib/mailer.py
M ckan/tests/lib/test_mailer.py
M test-core.ini
Log Message:
-----------
[#1635] Rename config option ckan.mail_from -> smtp.mail_from
This makes it consistent with the other smtp options it is used with.
Commit: bb86b7ba5a054a9c87a837f86040d53bc22ef459
https://github.com/okfn/ckan/commit/bb86b7ba5a054a9c87a837f86040d53bc22ef459
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-04 (Tue, 04 Dec 2012)
Changed paths:
M ckan/lib/mailer.py
M ckan/tests/functional/test_user.py
M ckan/tests/lib/test_mailer.py
M ckan/tests/misc/test_mock_mail_server.py
M ckan/tests/mock_mail_server.py
M test-core.ini
Log Message:
-----------
[#1635] Rename test_smtp_server -> smtp.test_server
Rename config setting test_smtp_server -> smtp.test_server, making it
consistent with the other smtp options it is used with.
Commit: 4cb027704676ef81fd632a0e997d835f13e3bdd2
https://github.com/okfn/ckan/commit/4cb027704676ef81fd632a0e997d835f13e3bdd2
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-04 (Tue, 04 Dec 2012)
Changed paths:
M ckan/config/deployment.ini_tmpl
Log Message:
-----------
[#1635] Document new smtp options
Add docs and examples for new smtp options to deployment.ini_tmpl
Commit: b29c28f865f5ebd71298089d747b917530c3c217
https://github.com/okfn/ckan/commit/b29c28f865f5ebd71298089d747b917530c3c217
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-04 (Tue, 04 Dec 2012)
Changed paths:
M ckan/lib/mailer.py
Log Message:
-----------
[#1635] Fix handling of smtp.starttls option
Commit: ce7041fb848909bc898f5343a70d598b0535875d
https://github.com/okfn/ckan/commit/ce7041fb848909bc898f5343a70d598b0535875d
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-04 (Tue, 04 Dec 2012)
Changed paths:
M ckan/lib/email_notifications.py
Log Message:
-----------
[#1635] Fix repeat email sending
The `since` date wasn't being saved after sending an email to a user,
resulting in repeat emails being sent about the same activity.
There is a test for this, but for some reason it was working in the
tests, just not in production. Don't know why. This seems to fix it in
production.
Commit: e8c1cdb85857b3b53eceddf4caa962407bbdfe7e
https://github.com/okfn/ckan/commit/e8c1cdb85857b3b53eceddf4caa962407bbdfe7e
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-05 (Wed, 05 Dec 2012)
Changed paths:
M ckan/lib/cli.py
M ckan/logic/action/update.py
M ckan/logic/auth/publisher/update.py
M ckan/logic/auth/update.py
M setup.py
Log Message:
-----------
[#1635] Change email notifications paster command to an API function
Move the send-email-notifications paster command added in commit
0d9e6274991393c28e3bbe9b930a0551dd627ae7 to a logic action function that only
sysadmins are authorised to use.
I was running into too many problems with the paster command because it runs
outside of a Pylons request thread so various Pylons objects used throughout
CKAN are not registered.
This way, the command can still be called from cron via:
echo '{}' | paster post development.ini /api/action/send_email_notifications
this simulates an HTTP request, so all the Pylons objects are registered for
the thread. The `echo '{}' | ` part is unfortunately necessary because the CKAN
API still requires any empty data dict to be posted when the function being
called doesn't take any arguments.
The action function checks whether it is being run via paster and if so, skips
the authorisation check. This just makes it simpler to use as it means you
don't have to POST a sysadmin's API key when calling the command via paster.
This makes the changes to ckan/lib/mailer.py that I did in commit
ed221a2e52d3ee317a0f0e3b955c7bfbffa11286 unnecessary, but I'm leaving them in
because I don't think they do any harm and they may prove useful one day.
This means that the email notifications tests can become API tests now, and I
should add some tests for the auth of the new API function.
Commit: 9c797ac4011159e7e8fdb3a0a7ae3338d0cc50f2
https://github.com/okfn/ckan/commit/9c797ac4011159e7e8fdb3a0a7ae3338d0cc50f2
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-05 (Wed, 05 Dec 2012)
Changed paths:
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Factor out unneeded post() function
test_email_notifications.py no longer needs its own post() function as
it can use ckan.tests.call_action_api()
Commit: bcf6d8943d078b9950d2919ec20fc631addddf64
https://github.com/okfn/ckan/commit/bcf6d8943d078b9950d2919ec20fc631addddf64
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-05 (Wed, 05 Dec 2012)
Changed paths:
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Use send_email_notifications API in tests
Call the new send_email_notifications API endpoint in the tests, rather
than calling the lib function directly.
Commit: c770f11474539a25c2f370b82458a6dbd481ef1e
https://github.com/okfn/ckan/commit/c770f11474539a25c2f370b82458a6dbd481ef1e
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-05 (Wed, 05 Dec 2012)
Changed paths:
A ckan/tests/functional/api/test_email_notifications.py
R ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Move email notification tests into api dir
The tests now test everything via the API, so move the file into
tests/functional/api/ with the other API tests
Commit: aa48871d227c3514ada848907ff472edbec801e9
https://github.com/okfn/ckan/commit/aa48871d227c3514ada848907ff472edbec801e9
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-05 (Wed, 05 Dec 2012)
Changed paths:
M ckan/tests/functional/api/test_email_notifications.py
Log Message:
-----------
[#1635] Add auth tests for email notifications
Add a couple of tests to make sure that users who are not sysadmins
cannot call the send_email_notifications API.
Commit: b998ab417f4879653662d0bd7b43f2bb68457f5b
https://github.com/okfn/ckan/commit/b998ab417f4879653662d0bd7b43f2bb68457f5b
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-05 (Wed, 05 Dec 2012)
Changed paths:
M ckan/lib/email_notifications.py
A ckan/templates/activity_streams/activity_stream_email_notifications.text
Log Message:
-----------
[#1635] Improve activity stream notification email contents
Commit: 6d1c521117169380593d5a0114bebf4ea3b0b4ca
https://github.com/okfn/ckan/commit/6d1c521117169380593d5a0114bebf4ea3b0b4ca
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-05 (Wed, 05 Dec 2012)
Changed paths:
M ckan/tests/functional/api/test_email_notifications.py
Log Message:
-----------
[#1635] Update a couple of tests
I'm giving up on testing the email body, would need to mime decode it
Commit: d54b1f622f4f70056d991734f553b3dd0c6a23f7
https://github.com/okfn/ckan/commit/d54b1f622f4f70056d991734f553b3dd0c6a23f7
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-05 (Wed, 05 Dec 2012)
Changed paths:
M ckan/controllers/user.py
M ckan/templates/user/edit_user_form.html
Log Message:
-----------
[#1635] Add UI for email notifications user preference
Commit: ab675c967793e06de01ba470e631af475f91bf04
https://github.com/okfn/ckan/commit/ab675c967793e06de01ba470e631af475f91bf04
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-05 (Wed, 05 Dec 2012)
Changed paths:
M ckan/config/deployment.ini_tmpl
M ckan/controllers/user.py
M ckan/logic/action/update.py
M ckan/templates/user/edit_user_form.html
Log Message:
-----------
[#1635] Add ckan.email_notifications setting
Commit: 50d12474bbd155178f9a63989be4630f51a71d3b
https://github.com/okfn/ckan/commit/50d12474bbd155178f9a63989be4630f51a71d3b
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-05 (Wed, 05 Dec 2012)
Changed paths:
M test-core.ini
Log Message:
-----------
[#1635] Add ckan.email_notifications to test-core.ini
Make the tests pass again
Commit: 109dcbb975a240f5a6f39d82b2226c5e786601fc
https://github.com/okfn/ckan/commit/109dcbb975a240f5a6f39d82b2226c5e786601fc
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M ckan/logic/action/update.py
M ckan/tests/functional/api/test_email_notifications.py
Log Message:
-----------
[#1635] Add tests for ckan.email_notifications setting
Commit: ac39450f964b08cbfb5c012ba804794279163c01
https://github.com/okfn/ckan/commit/ac39450f964b08cbfb5c012ba804794279163c01
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M ckan/config/deployment.ini_tmpl
M ckan/lib/email_notifications.py
M ckan/lib/helpers.py
M ckan/tests/functional/api/test_email_notifications.py
M ckan/tests/lib/test_helpers.py
Log Message:
-----------
[#1635] Add email_notifications_since setting
Commit: a5b3ad9940d2eb054d7cbd32990bf27e71c6e44b
https://github.com/okfn/ckan/commit/a5b3ad9940d2eb054d7cbd32990bf27e71c6e44b
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-07 (Fri, 07 Dec 2012)
Changed paths:
M ckan/config/solr/CHANGELOG.txt
A ckan/config/solr/schema-2.0.xml
M ckan/lib/search/__init__.py
M ckan/lib/search/index.py
M ckan/lib/search/query.py
M ckan/tests/functional/test_search.py
M ckan/tests/lib/test_solr_package_search.py
M ckan/tests/lib/test_solr_package_search_synchronous_update.py
M ckan_deb/usr/lib/ckan/common.sh
M ckanext/multilingual/solr/schema.xml
M doc/configuration.rst
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Commit: 02cda1c9216ea50682a1c5cd0697bea03c24abc4
https://github.com/okfn/ckan/commit/02cda1c9216ea50682a1c5cd0697bea03c24abc4
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-11 (Tue, 11 Dec 2012)
Changed paths:
M ckan/config/deployment.ini_tmpl
Log Message:
-----------
[#1635] Typo
Commit: 5e4669d8e8c2aa26ca9dfb17278bc85bab2f366e
https://github.com/okfn/ckan/commit/5e4669d8e8c2aa26ca9dfb17278bc85bab2f366e
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-11 (Tue, 11 Dec 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/lib/helpers.py
A ckan/tests/lib/test_email_notifications.py
M ckan/tests/lib/test_helpers.py
Log Message:
-----------
[#1635] Move string_to_timedelta() out of helpers
This is not intended to be a template helper function so doesn't belong
in ckan/lib/helpers.py. Just put it in email_notifications, since that's
the only module that uses it.
Commit: 3b76185af30d7ff5d17e4500efe3b32d9b9d41de
https://github.com/okfn/ckan/commit/3b76185af30d7ff5d17e4500efe3b32d9b9d41de
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-11 (Tue, 11 Dec 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Handle "1 day" in string_to_timedelta()
Handle strings like "1 day" or "1 day, 3:23:46" etc. in the
string_to_timedelta() function used to parse the
ckan.email_notifications_since config setting.
Commit: 37b6abf674218a40e674b5fd97514315541a5ca0
https://github.com/okfn/ckan/commit/37b6abf674218a40e674b5fd97514315541a5ca0
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-11 (Tue, 11 Dec 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Handle variable whitespace in string_to_timedelta()
Handle multiple spaces, tabs etc. instead of just single space between
words in strings parsed by string_to_timedelta().
Commit: 710cb80662ffe06d01c2bb0e9bfe9d32374dd1a7
https://github.com/okfn/ckan/commit/710cb80662ffe06d01c2bb0e9bfe9d32374dd1a7
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-11 (Tue, 11 Dec 2012)
Changed paths:
M ckan/lib/email_notifications.py
Log Message:
-----------
[#1635] Remove an unneeded import
Now that string_to_timedelta() has been moved into lib, it no longer
needs an inline import logic.
Commit: 0c724817eca50d711c58889909c80d4fb5065b3a
https://github.com/okfn/ckan/commit/0c724817eca50d711c58889909c80d4fb5065b3a
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-11 (Tue, 11 Dec 2012)
Changed paths:
M ckan/lib/mailer.py
Log Message:
-----------
Revert "[#1635] Remove pylons.g from lib/mailer.py"
This reverts commit ed221a2e52d3ee317a0f0e3b955c7bfbffa11286. The
changes are no longer necessary now that send-email-notifications is no
longer a paster command, and ckan is better off without these changes
because g.site_title etc. can be database-defined whereas
config.get('site_title') cannot.
Commit: 3bb3310a3c91cfec8e2ff524e05968ac55224ee4
https://github.com/okfn/ckan/commit/3bb3310a3c91cfec8e2ff524e05968ac55224ee4
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-11 (Tue, 11 Dec 2012)
Changed paths:
M ckan/config/deployment.ini_tmpl
M ckan/config/routing.py
M ckan/controllers/group.py
M ckan/controllers/home.py
M ckan/controllers/package.py
M ckan/controllers/user.py
M ckan/lib/activity_streams.py
M ckan/lib/helpers.py
M ckan/logic/action/get.py
M ckan/model/activity.py
M ckan/plugins/interfaces.py
A ckan/public/base/javascript/modules/activity-stream.js
M ckan/public/base/javascript/resource.config
M ckan/public/base/less/activity.less
M ckan/public/base/less/forms.less
M ckan/templates/activity_streams/activity_stream_items.html
A ckan/templates/package/activity_stream.html
M ckan/tests/functional/test_package.py
M test-core.ini
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Conflicts:
test-core.ini
Commit: 8fce85e74cf009aefa0be3d49c7b0948b7f88565
https://github.com/okfn/ckan/commit/8fce85e74cf009aefa0be3d49c7b0948b7f88565
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-11 (Tue, 11 Dec 2012)
Changed paths:
M ckan/templates/activity_streams/activity_stream_email_notifications.text
Log Message:
-----------
[#1635] Fix links in email notifications
h.url_for() doesn't seem to work when a request is made via a
`paster post...` command (it returns 'localhost' links). Use g.site_url
instead.
Commit: c75784a7f2a1ba8bebe73b863012a0723015317b
https://github.com/okfn/ckan/commit/c75784a7f2a1ba8bebe73b863012a0723015317b
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-12 (Wed, 12 Dec 2012)
Changed paths:
M ckan/templates/activity_streams/activity_stream_email_notifications.text
Log Message:
-----------
[#1635] Make email template translatable
Commit: 7bdc62043673bf79a382e52150ef465663cc2624
https://github.com/okfn/ckan/commit/7bdc62043673bf79a382e52150ef465663cc2624
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-12 (Wed, 12 Dec 2012)
Changed paths:
M ckan/controllers/user.py
Log Message:
-----------
[#1635] Change a #FIXME to a #MOAN
Commit: 16ddee47b187468dbce4b813b87b5d99ed9e89b9
https://github.com/okfn/ckan/commit/16ddee47b187468dbce4b813b87b5d99ed9e89b9
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-12 (Wed, 12 Dec 2012)
Changed paths:
M ckan/i18n/check_po_files.py
M ckan/lib/app_globals.py
M ckan/lib/base.py
M ckan/lib/cli.py
M ckan/templates/base.html
M ckan/templates/footer.html
M ckan/templates/header.html
M ckan/templates/package/resource_read.html
M ckan/templates/package/search.html
M ckan/templates/page.html
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Commit: 7868c98dc4ab2519916c46b881eaa21a9b1f29f4
https://github.com/okfn/ckan/commit/7868c98dc4ab2519916c46b881eaa21a9b1f29f4
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-14 (Fri, 14 Dec 2012)
Changed paths:
M ckan/authz.py
M ckan/config/environment.py
M ckan/config/routing.py
M ckan/controllers/admin.py
M ckan/controllers/api.py
M ckan/controllers/group.py
R ckan/controllers/group_formalchemy.py
A ckan/controllers/organization.py
M ckan/controllers/package.py
R ckan/controllers/package_formalchemy.py
M ckan/controllers/related.py
M ckan/controllers/storage.py
M ckan/controllers/user.py
R ckan/forms/__init__.py
R ckan/forms/authorization_group.py
R ckan/forms/authz.py
R ckan/forms/builder.py
R ckan/forms/common.py
R ckan/forms/group.py
R ckan/forms/package.py
R ckan/forms/package_dict.py
R ckan/forms/registry.py
M ckan/lib/activity_streams.py
M ckan/lib/app_globals.py
M ckan/lib/base.py
M ckan/lib/cli.py
M ckan/lib/create_test_data.py
M ckan/lib/dictization/model_dictize.py
M ckan/lib/dictization/model_save.py
M ckan/lib/formatters.py
M ckan/lib/helpers.py
M ckan/lib/jinja_extensions.py
M ckan/lib/plugins.py
M ckan/lib/search/index.py
M ckan/logic/__init__.py
M ckan/logic/action/create.py
M ckan/logic/action/delete.py
M ckan/logic/action/get.py
M ckan/logic/action/update.py
M ckan/logic/auth/create.py
M ckan/logic/auth/delete.py
M ckan/logic/auth/get.py
R ckan/logic/auth/publisher/__init__.py
R ckan/logic/auth/publisher/create.py
R ckan/logic/auth/publisher/delete.py
R ckan/logic/auth/publisher/get.py
R ckan/logic/auth/publisher/update.py
M ckan/logic/auth/update.py
M ckan/logic/schema.py
M ckan/logic/validators.py
R ckan/migration/versions/063_add_email_last_sent_column.py
A ckan/migration/versions/063_org_changes.py
A ckan/migration/versions/064_add_email_last_sent_column.py
R ckan/migration/versions/064_add_email_notifications_preference.py
A ckan/migration/versions/065_add_email_notifications_preference.py
M ckan/model/__init__.py
M ckan/model/group.py
M ckan/model/package.py
M ckan/model/user.py
M ckan/new_authz.py
M ckan/plugins/interfaces.py
M ckan/public/base/css/fuchsia.css
M ckan/public/base/css/fuchsia.min.css
M ckan/public/base/css/green.css
M ckan/public/base/css/green.min.css
M ckan/public/base/css/main.css
M ckan/public/base/css/main.min.css
M ckan/public/base/css/maroon.css
M ckan/public/base/css/maroon.min.css
M ckan/public/base/css/red.css
M ckan/public/base/css/red.min.css
M ckan/public/base/datapreview/css/recline.min.css
M ckan/public/base/datapreview/preview_recline.min.js
A ckan/public/base/datapreview/vendor/flot/0.7/excanvas.min.js
A ckan/public/base/datapreview/vendor/flot/0.7/jquery.flot.min.js
A ckan/public/base/datapreview/vendor/leaflet.markercluster/MarkerCluster.Default.ie.min.css
A ckan/public/base/datapreview/vendor/leaflet.markercluster/MarkerCluster.Default.min.css
A ckan/public/base/datapreview/vendor/leaflet.markercluster/MarkerCluster.min.css
A ckan/public/base/datapreview/vendor/leaflet.markercluster/leaflet.markercluster.min.js
A ckan/public/base/datapreview/vendor/leaflet/0.3.1/leaflet.ie.min.css
A ckan/public/base/datapreview/vendor/leaflet/0.3.1/leaflet.min.css
A ckan/public/base/datapreview/vendor/leaflet/0.3.1/leaflet.min.js
A ckan/public/base/datapreview/vendor/leaflet/0.4.4/leaflet-src.min.js
M ckan/public/base/datapreview/vendor/leaflet/leaflet.min.css
M ckan/public/base/datapreview/vendor/leaflet/leaflet.min.js
M ckan/public/base/datapreview/vendor/pdfjs/pdf.min.js
M ckan/public/base/datapreview/vendor/pdfviewer/viewer.min.css
M ckan/public/base/datapreview/vendor/pdfviewer/viewer.min.js
M ckan/public/base/datapreview/vendor/recline/css/recline.min.css
M ckan/public/base/datapreview/vendor/recline/recline.min.js
A ckan/public/base/images/editing.png
A ckan/public/base/images/placeholder-organization.png
M ckan/public/base/javascript/client.js
M ckan/public/base/javascript/client.min.js
M ckan/public/base/javascript/module.min.js
A ckan/public/base/javascript/modules/dashboard.min.js
M ckan/public/base/javascript/modules/data-viewer.min.js
A ckan/public/base/javascript/modules/follow.min.js
M ckan/public/base/javascript/modules/popover-context.js
A ckan/public/base/javascript/modules/popover-context.min.js
M ckan/public/base/less/activity.less
M ckan/public/base/less/forms.less
M ckan/public/base/less/group.less
M ckan/public/base/less/masthead.less
M ckan/public/base/less/profile.less
M ckan/public/base/less/variables.less
A ckan/public/base/vendor/bootstrap/js/bootstrap-dropdown.min.js
A ckan/public/base/vendor/bootstrap/js/bootstrap-popover.min.js
A ckan/public/base/vendor/bootstrap/js/bootstrap-tooltip.min.js
M ckan/templates/activity_streams/activity_stream_items.html
R ckan/templates/ajax_snippets/popover-context-dataset.html
R ckan/templates/ajax_snippets/popover-context-group.html
R ckan/templates/ajax_snippets/popover-context-user.html
A ckan/templates/ajax_snippets/popover_context_dataset.html
A ckan/templates/ajax_snippets/popover_context_group.html
A ckan/templates/ajax_snippets/popover_context_user.html
M ckan/templates/development/primer.html
A ckan/templates/development/snippets/page_header.html
A ckan/templates/group/confirm_delete_member.html
M ckan/templates/group/index.html
A ckan/templates/group/member_new.html
A ckan/templates/group/members.html
M ckan/templates/group/read.html
A ckan/templates/group/read_base.html
M ckan/templates/group/snippets/group_form.html
M ckan/templates/header.html
A ckan/templates/organization/about.html
A ckan/templates/organization/admins.html
A ckan/templates/organization/base_form_page.html
A ckan/templates/organization/confirm_delete.html
A ckan/templates/organization/confirm_delete_member.html
A ckan/templates/organization/edit.html
A ckan/templates/organization/edit_base.html
A ckan/templates/organization/index.html
A ckan/templates/organization/member_new.html
A ckan/templates/organization/members.html
A ckan/templates/organization/new.html
A ckan/templates/organization/new_organization_form.html
A ckan/templates/organization/read.html
A ckan/templates/organization/read_base.html
A ckan/templates/organization/snippets/feeds.html
A ckan/templates/organization/snippets/info.html
A ckan/templates/organization/snippets/organization_form.html
A ckan/templates/organization/snippets/organization_item.html
A ckan/templates/organization/snippets/organization_list.html
M ckan/templates/package/activity.html
M ckan/templates/package/followers.html
M ckan/templates/package/read.html
A ckan/templates/package/read_base.html
M ckan/templates/package/related_list.html
M ckan/templates/package/snippets/package_basic_fields.html
M ckan/templates/package/snippets/package_metadata_fields.html
M ckan/templates/snippets/facet_list.html
M ckan/templates/snippets/group.html
M ckan/templates/snippets/group_item.html
A ckan/templates/snippets/organization.html
A ckan/templates/snippets/organization_item.html
A ckan/templates/snippets/page_header.html
A ckan/templates/snippets/private.html
M ckan/templates/user/read.html
A ckan/templates/user/read_base.html
M ckan/templates/user/snippets/followers.html
M ckan/templates_legacy/admin/index.html
M ckan/templates_legacy/admin/layout.html
M ckan/templates_legacy/group/layout.html
M ckan/templates_legacy/package/layout.html
M ckan/templates_legacy/package/new_package_form.html
M ckan/tests/ckantestplugin/ckantestplugin/__init__.py
R ckan/tests/forms/__init__.py
R ckan/tests/forms/test_authz.py
R ckan/tests/forms/test_group.py
R ckan/tests/forms/test_package.py
M ckan/tests/functional/api/base.py
M ckan/tests/functional/api/model/test_group.py
M ckan/tests/functional/api/model/test_package.py
M ckan/tests/functional/api/model/test_vocabulary.py
M ckan/tests/functional/api/test_activity.py
M ckan/tests/functional/api/test_dashboard.py
M ckan/tests/functional/api/test_email_notifications.py
M ckan/tests/functional/test_activity.py
M ckan/tests/functional/test_admin.py
R ckan/tests/functional/test_authz.py
R ckan/tests/functional/test_edit_authz.py
M ckan/tests/functional/test_group.py
M ckan/tests/functional/test_package.py
R ckan/tests/functional/test_package_edit_authz.py
R ckan/tests/functional/test_publisher_auth.py
M ckan/tests/functional/test_tag_vocab.py
M ckan/tests/functional/test_upload.py
R ckan/tests/lib/test_authztool.py
M ckan/tests/lib/test_dictization.py
M ckan/tests/lib/test_dictization_schema.py
M ckan/tests/lib/test_solr_search_index.py
M ckan/tests/logic/test_action.py
A ckan/tests/logic/test_auth.py
R ckan/tests/misc/test_auth_profiles.py
R ckan/tests/misc/test_package_saver.py
R ckan/tests/models/test_authz.py
R ckan/tests/models/test_repo.py
R ckan/tests/test_authz.py
A doc/organizations_and_groups.rst
M test-core.ini
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Conflicts:
ckan/logic/action/update.py
ckan/logic/auth/get.py
ckan/logic/auth/publisher/get.py
ckan/logic/auth/publisher/update.py
ckan/model/user.py
Commit: ba4d6dff049124992b7435f1956bebe276461629
https://github.com/okfn/ckan/commit/ba4d6dff049124992b7435f1956bebe276461629
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-14 (Fri, 14 Dec 2012)
Changed paths:
A doc/email-notifications.rst
M doc/index.rst
Log Message:
-----------
[#1635] Add docs for email notifications feature
Commit: 08970c943e54f454fdff0e25e3a80f236c25bdff
https://github.com/okfn/ckan/commit/08970c943e54f454fdff0e25e3a80f236c25bdff
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-16 (Sun, 16 Dec 2012)
Changed paths:
M ckan/config/deployment.ini_tmpl
M ckan/controllers/user.py
M ckan/lib/email_notifications.py
M ckan/logic/action/update.py
M ckan/logic/schema.py
M ckan/migration/versions/065_add_email_notifications_preference.py
M ckan/model/user.py
M ckan/templates/user/edit_user_form.html
M ckan/tests/functional/api/test_email_notifications.py
M ckan/tests/lib/test_dictization.py
M doc/email-notifications.rst
M test-core.ini
Log Message:
-----------
[#1635] Rename ckan.email_notifications -> activity_streams_email_notifications
This makes things more extensible
Commit: 56540910ec87131ba1c6b291bd28d603bc3cd5e4
https://github.com/okfn/ckan/commit/56540910ec87131ba1c6b291bd28d603bc3cd5e4
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-16 (Sun, 16 Dec 2012)
Changed paths:
M ckan/tests/functional/api/test_email_notifications.py
Log Message:
-----------
[#1635] Remove an unnecessary line
Commit: a3d7f5d4f99b2d88a45e3c0e7605fa2ce7e643f6
https://github.com/okfn/ckan/commit/a3d7f5d4f99b2d88a45e3c0e7605fa2ce7e643f6
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-16 (Sun, 16 Dec 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/tests/lib/test_email_notifications.py
Log Message:
-----------
[#1635] Fix an email_notifications_since bug
Fix the error response when ckan.email_notifications_since is an invalid
string.
Commit: 503cb9aa6aca8481c8e9cff99896a5fbbd9e5eb8
https://github.com/okfn/ckan/commit/503cb9aa6aca8481c8e9cff99896a5fbbd9e5eb8
Author: John Martin <me at johnmart.in>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/public/base/less/forms.less
M ckan/templates/macros/form.html
M ckan/templates/user/edit_user_form.html
Log Message:
-----------
[#1635] Tweaked the edit profile form notifications email checkbox
Commit: c04ca74366bf2a7de85105c53b2cca42f5545bed
https://github.com/okfn/ckan/commit/c04ca74366bf2a7de85105c53b2cca42f5545bed
Author: John Martin <me at johnmart.in>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/templates/user/edit_user_form.html
Log Message:
-----------
[#1635] Spaces... not tabs.
Commit: a5aa6738646cafac50817b8e141150cde680e2c2
https://github.com/okfn/ckan/commit/a5aa6738646cafac50817b8e141150cde680e2c2
Author: John Martin <me at johnmart.in>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/public/base/css/main.css
Log Message:
-----------
[#1635] Re-compiled main.css
Commit: d245f8ef9e44ddaed8cb221e4f9f0e390756e455
https://github.com/okfn/ckan/commit/d245f8ef9e44ddaed8cb221e4f9f0e390756e455
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/public/base/css/main.css
M ckan/public/base/less/forms.less
M ckan/templates/macros/form.html
M ckan/templates/user/edit_user_form.html
Log Message:
-----------
Merge branch '1635-feature-email-notifications-for-activity-streams' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Conflicts:
ckan/templates/user/edit_user_form.html
Commit: c63c24fc874937bff43815657bec23a63a8a15e6
https://github.com/okfn/ckan/commit/c63c24fc874937bff43815657bec23a63a8a15e6
Author: John Martin <me at johnmart.in>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/public/base/less/forms.less
M ckan/templates/macros/form.html
M ckan/templates/user/edit_user_form.html
Log Message:
-----------
[#1635] Removed uneeded macro
Commit: 7a3431400f37f305864652daffe2f23ebe9c3ead
https://github.com/okfn/ckan/commit/7a3431400f37f305864652daffe2f23ebe9c3ead
Author: John Martin <me at johnmart.in>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/public/base/css/main.css
Log Message:
-----------
[#1635] Re-compiled main.css
Commit: aae71d5fab54ad1cdc56be53167b9fee77d74200
https://github.com/okfn/ckan/commit/aae71d5fab54ad1cdc56be53167b9fee77d74200
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/templates/user/edit_user_form.html
Log Message:
-----------
[#1635] User preference text tweak
Commit: a6ff3a1420aaeeb8e8de0c15962355db2d9d865f
https://github.com/okfn/ckan/commit/a6ff3a1420aaeeb8e8de0c15962355db2d9d865f
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/controllers/group.py
M ckan/logic/action/create.py
M ckan/logic/action/delete.py
M ckan/logic/action/update.py
M ckan/tests/functional/api/model/test_vocabulary.py
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Commit: 38126ace2c57ee182da949256a9adfda2cbaf933
https://github.com/okfn/ckan/commit/38126ace2c57ee182da949256a9adfda2cbaf933
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/tests/lib/test_dictization.py
Log Message:
-----------
[#1635] Fix a typo in a test case
Commit: 6bfce0101c7840299060099ae58191f15e1a49d4
https://github.com/okfn/ckan/commit/6bfce0101c7840299060099ae58191f15e1a49d4
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/public/base/css/main.css
M ckan/public/base/less/forms.less
M ckan/templates/macros/form.html
Log Message:
-----------
Merge branch '1635-feature-email-notifications-for-activity-streams' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Conflicts:
ckan/templates/user/edit_user_form.html
Commit: c3e817462fcb024b1f01fede03090ea852aed18c
https://github.com/okfn/ckan/commit/c3e817462fcb024b1f01fede03090ea852aed18c
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/templates/user/edit_user_form.html
Log Message:
-----------
[#1635] Fix a merge error
Commit: b09e8a59186d523fdb22fb35759218791e56b45b
https://github.com/okfn/ckan/commit/b09e8a59186d523fdb22fb35759218791e56b45b
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/templates/user/edit_user_form.html
Log Message:
-----------
[#1635] Fix email notifications user preference frontend
The email notifications preference was working, but a recent commit
broke the frontend and made it impossible to turn the feature on. This
is why we need frontend tests.
Commit: ec07a0a4745d33666eeb6ff9c5aeef4a587c956b
https://github.com/okfn/ckan/commit/ec07a0a4745d33666eeb6ff9c5aeef4a587c956b
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-18 (Tue, 18 Dec 2012)
Changed paths:
M ckan/lib/email_notifications.py
M ckan/templates/activity_streams/activity_stream_email_notifications.text
M ckan/tests/functional/api/test_email_notifications.py
Log Message:
-----------
[#1635] Put num. new activities in email notifications
Make email notifications say "1 new activity", "3 new activities" etc.
instead of just "You have new activity". Both in the email subject and
in the body. Handle plural form translation properly with ungettext.
Also make the email subjects translatable, which I had forgotten to do before.
Commit: 7ed492f41449c66d13ad3048ae7d09a225c63480
https://github.com/okfn/ckan/commit/7ed492f41449c66d13ad3048ae7d09a225c63480
Author: tobes <toby.junk at gmail.com>
Date: 2012-12-19 (Wed, 19 Dec 2012)
Changed paths:
M ckan/migration/versions/063_org_changes.py
Log Message:
-----------
[#1635] Improve migration script
Commit: 595587f81a02d56120616f3454a2092ef7f0e046
https://github.com/okfn/ckan/commit/595587f81a02d56120616f3454a2092ef7f0e046
Author: Sean Hammond <seanhammond at lavabit.com>
Date: 2012-12-20 (Thu, 20 Dec 2012)
Changed paths:
R ckan/authz.py
M ckan/config/deployment.ini_tmpl
M ckan/config/routing.py
M ckan/controllers/admin.py
M ckan/controllers/api.py
M ckan/controllers/package.py
M ckan/controllers/revision.py
M ckan/lib/base.py
A ckan/lib/datapreview.py
M ckan/lib/dictization/model_dictize.py
M ckan/lib/helpers.py
M ckan/lib/search/query.py
M ckan/logic/__init__.py
M ckan/logic/action/get.py
M ckan/logic/action/update.py
M ckan/model/authz.py
M ckan/plugins/interfaces.py
M ckan/public/base/css/main.css
R ckan/public/base/datapreview/css/json.css
R ckan/public/base/datapreview/css/json.min.css
R ckan/public/base/datapreview/css/pdf.css
R ckan/public/base/datapreview/css/pdf.min.css
R ckan/public/base/datapreview/css/recline.css
R ckan/public/base/datapreview/css/recline.min.css
R ckan/public/base/datapreview/img/ajaxload-circle.gif
R ckan/public/base/datapreview/preview_json.js
R ckan/public/base/datapreview/preview_json.min.js
R ckan/public/base/datapreview/preview_pdf.js
R ckan/public/base/datapreview/preview_pdf.min.js
R ckan/public/base/datapreview/preview_recline.js
R ckan/public/base/datapreview/preview_recline.min.js
R ckan/public/base/datapreview/resource.config
R ckan/public/base/datapreview/vendor/backbone/backbone.js
R ckan/public/base/datapreview/vendor/backbone/backbone.min.js
R ckan/public/base/datapreview/vendor/bootstrap/bootstrap.js
R ckan/public/base/datapreview/vendor/bootstrap/bootstrap.min.js
R ckan/public/base/datapreview/vendor/bootstrap/css/bootstrap.css
R ckan/public/base/datapreview/vendor/bootstrap/css/bootstrap.min.css
R ckan/public/base/datapreview/vendor/bootstrap/img/glyphicons-halflings-white.png
R ckan/public/base/datapreview/vendor/bootstrap/img/glyphicons-halflings.png
R ckan/public/base/datapreview/vendor/flotr2/excanvas.js
R ckan/public/base/datapreview/vendor/flotr2/excanvas.min.js
R ckan/public/base/datapreview/vendor/flotr2/flotr2.js
R ckan/public/base/datapreview/vendor/flotr2/flotr2.min.js
R ckan/public/base/datapreview/vendor/jquery.mustache/jquery.mustache.js
R ckan/public/base/datapreview/vendor/jquery.mustache/jquery.mustache.min.js
R ckan/public/base/datapreview/vendor/leaflet.markercluster/MarkerCluster.Default.css
R ckan/public/base/datapreview/vendor/leaflet.markercluster/MarkerCluster.Default.ie.css
R ckan/public/base/datapreview/vendor/leaflet.markercluster/MarkerCluster.css
R ckan/public/base/datapreview/vendor/leaflet.markercluster/leaflet.markercluster.js
R ckan/public/base/datapreview/vendor/leaflet/images/layers.png
R ckan/public/base/datapreview/vendor/leaflet/images/marker-icon.png
R ckan/public/base/datapreview/vendor/leaflet/images/marker-shadow.png
R ckan/public/base/datapreview/vendor/leaflet/images/zoom-in.png
R ckan/public/base/datapreview/vendor/leaflet/images/zoom-out.png
R ckan/public/base/datapreview/vendor/leaflet/leaflet.css
R ckan/public/base/datapreview/vendor/leaflet/leaflet.ie.css
R ckan/public/base/datapreview/vendor/leaflet/leaflet.ie.min.css
R ckan/public/base/datapreview/vendor/leaflet/leaflet.js
R ckan/public/base/datapreview/vendor/leaflet/leaflet.min.css
R ckan/public/base/datapreview/vendor/leaflet/leaflet.min.js
R ckan/public/base/datapreview/vendor/moment/moment.js
R ckan/public/base/datapreview/vendor/moment/moment.min.js
R ckan/public/base/datapreview/vendor/mustache/mustache.js
R ckan/public/base/datapreview/vendor/mustache/mustache.min.js
R ckan/public/base/datapreview/vendor/pdfjs/pdf.js
R ckan/public/base/datapreview/vendor/pdfjs/pdf.min.js
R ckan/public/base/datapreview/vendor/pdfviewer/compatibility.js
R ckan/public/base/datapreview/vendor/pdfviewer/compatibility.min.js
R ckan/public/base/datapreview/vendor/pdfviewer/debugger.js
R ckan/public/base/datapreview/vendor/pdfviewer/debugger.min.js
R ckan/public/base/datapreview/vendor/pdfviewer/images/annotation-check.svg
R ckan/public/base/datapreview/vendor/pdfviewer/images/annotation-comment.svg
R ckan/public/base/datapreview/vendor/pdfviewer/images/annotation-text.svg
R ckan/public/base/datapreview/vendor/pdfviewer/images/loading-icon.gif
R ckan/public/base/datapreview/vendor/pdfviewer/images/texture.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-bookmark.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-download.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-fullscreen.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-menuArrows.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-openFile.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-pageDown-rtl.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-pageDown.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-pageUp-rtl.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-pageUp.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-print.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-search.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-sidebarToggle.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-viewOutline.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-viewThumbnail.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-zoomIn.png
R ckan/public/base/datapreview/vendor/pdfviewer/images/toolbarButton-zoomOut.png
R ckan/public/base/datapreview/vendor/pdfviewer/locale.properties
R ckan/public/base/datapreview/vendor/pdfviewer/viewer.css
R ckan/public/base/datapreview/vendor/pdfviewer/viewer.js
R ckan/public/base/datapreview/vendor/pdfviewer/viewer.min.css
R ckan/public/base/datapreview/vendor/pdfviewer/viewer.min.js
R ckan/public/base/datapreview/vendor/recline/css/recline.css
R ckan/public/base/datapreview/vendor/recline/css/recline.min.css
R ckan/public/base/datapreview/vendor/recline/recline.js
R ckan/public/base/datapreview/vendor/recline/recline.min.js
R ckan/public/base/datapreview/vendor/slickgrid/MIT-LICENSE.txt
R ckan/public/base/datapreview/vendor/slickgrid/README.txt
R ckan/public/base/datapreview/vendor/slickgrid/images/sort-asc.gif
R ckan/public/base/datapreview/vendor/slickgrid/images/sort-desc.gif
R ckan/public/base/datapreview/vendor/slickgrid/jquery-ui-1.8.16.custom.js
R ckan/public/base/datapreview/vendor/slickgrid/jquery-ui-1.8.16.custom.min.js
R ckan/public/base/datapreview/vendor/slickgrid/jquery.event.drag-2.0.js
R ckan/public/base/datapreview/vendor/slickgrid/jquery.event.drag-2.0.min.js
R ckan/public/base/datapreview/vendor/slickgrid/slick.grid.css
R ckan/public/base/datapreview/vendor/slickgrid/slick.grid.js
R ckan/public/base/datapreview/vendor/slickgrid/slick.grid.min.css
R ckan/public/base/datapreview/vendor/slickgrid/slick.grid.min.js
R ckan/public/base/datapreview/vendor/underscore/underscore.js
R ckan/public/base/datapreview/vendor/underscore/underscore.min.js
R ckan/public/base/datapreview/vendor/webL10n/README.md
R ckan/public/base/datapreview/vendor/webL10n/l10n.js
R ckan/public/base/datapreview/vendor/webL10n/l10n.min.js
M ckan/public/base/less/masthead.less
R ckan/templates/dataviewer/json.html
R ckan/templates/dataviewer/pdf.html
R ckan/templates/dataviewer/recline.html
M ckan/templates/dataviewer/snippets/no_preview.html
M ckan/templates/header.html
M ckan/templates/macros/form.html
M ckan/templates/package/search.html
A ckan/templates/tests/mock_json_resource_preview_template.html
A ckan/templates/tests/mock_resource_preview_template.html
M ckan/tests/functional/api/base.py
M ckan/tests/functional/test_package.py
M ckan/tests/functional/test_pagination.py
A ckan/tests/functional/test_preview_interface.py
A ckan/tests/lib/test_datapreview.py
M ckan/tests/lib/test_helpers.py
M ckan/tests/lib/test_solr_package_search.py
A ckanext/jsonpreview/__init__.py
A ckanext/jsonpreview/plugin.py
A ckanext/jsonpreview/tests/__init__.py
A ckanext/jsonpreview/tests/test_preview.py
A ckanext/jsonpreview/theme/public/css/json.css
A ckanext/jsonpreview/theme/public/css/json.min.css
A ckanext/jsonpreview/theme/public/preview_json.js
A ckanext/jsonpreview/theme/public/preview_json.min.js
A ckanext/jsonpreview/theme/public/resource.config
A ckanext/jsonpreview/theme/templates/json.html
A ckanext/pdfpreview/__init__.py
A ckanext/pdfpreview/plugin.py
A ckanext/pdfpreview/tests/__init__.py
A ckanext/pdfpreview/tests/test_preview.py
A ckanext/pdfpreview/theme/public/css/pdf.css
A ckanext/pdfpreview/theme/public/css/pdf.min.css
A ckanext/pdfpreview/theme/public/css/recline.css
A ckanext/pdfpreview/theme/public/css/recline.min.css
A ckanext/pdfpreview/theme/public/img/ajaxload-circle.gif
A ckanext/pdfpreview/theme/public/preview_pdf.js
A ckanext/pdfpreview/theme/public/preview_pdf.min.js
A ckanext/pdfpreview/theme/public/resource.config
A ckanext/pdfpreview/theme/public/vendor/pdfjs/pdf.js
A ckanext/pdfpreview/theme/public/vendor/pdfjs/pdf.min.js
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/compatibility.js
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/compatibility.min.js
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/debugger.js
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/debugger.min.js
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/annotation-check.svg
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/annotation-comment.svg
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/annotation-text.svg
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/loading-icon.gif
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/texture.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-bookmark.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-download.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-fullscreen.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-menuArrows.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-openFile.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-pageDown-rtl.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-pageDown.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-pageUp-rtl.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-pageUp.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-print.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-search.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-sidebarToggle.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-viewOutline.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-viewThumbnail.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-zoomIn.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/images/toolbarButton-zoomOut.png
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/locale.properties.js
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/viewer.css
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/viewer.js
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/viewer.min.css
A ckanext/pdfpreview/theme/public/vendor/pdfviewer/viewer.min.js
A ckanext/pdfpreview/theme/public/vendor/webL10n/README.md
A ckanext/pdfpreview/theme/public/vendor/webL10n/l10n.js
A ckanext/pdfpreview/theme/public/vendor/webL10n/l10n.min.js
A ckanext/pdfpreview/theme/templates/pdf.html
A ckanext/reclinepreview/__init__.py
A ckanext/reclinepreview/plugin.py
A ckanext/reclinepreview/tests/__init__.py
A ckanext/reclinepreview/tests/test_preview.py
A ckanext/reclinepreview/theme/public/css/recline.css
A ckanext/reclinepreview/theme/public/css/recline.min.css
A ckanext/reclinepreview/theme/public/img/ajaxload-circle.gif
A ckanext/reclinepreview/theme/public/preview_recline.js
A ckanext/reclinepreview/theme/public/preview_recline.min.js
A ckanext/reclinepreview/theme/public/resource.config
A ckanext/reclinepreview/theme/public/vendor/backbone/backbone.js
A ckanext/reclinepreview/theme/public/vendor/backbone/backbone.min.js
A ckanext/reclinepreview/theme/public/vendor/bootstrap/bootstrap.js
A ckanext/reclinepreview/theme/public/vendor/bootstrap/bootstrap.min.js
A ckanext/reclinepreview/theme/public/vendor/bootstrap/css/bootstrap.css
A ckanext/reclinepreview/theme/public/vendor/bootstrap/css/bootstrap.min.css
A ckanext/reclinepreview/theme/public/vendor/bootstrap/img/glyphicons-halflings-white.png
A ckanext/reclinepreview/theme/public/vendor/bootstrap/img/glyphicons-halflings.png
A ckanext/reclinepreview/theme/public/vendor/flotr2/excanvas.js
A ckanext/reclinepreview/theme/public/vendor/flotr2/excanvas.min.js
A ckanext/reclinepreview/theme/public/vendor/flotr2/flotr2.js
A ckanext/reclinepreview/theme/public/vendor/flotr2/flotr2.min.js
A ckanext/reclinepreview/theme/public/vendor/jquery.mustache/jquery.mustache.js
A ckanext/reclinepreview/theme/public/vendor/jquery.mustache/jquery.mustache.min.js
A ckanext/reclinepreview/theme/public/vendor/leaflet.markercluster/MarkerCluster.Default.css
A ckanext/reclinepreview/theme/public/vendor/leaflet.markercluster/MarkerCluster.Default.ie.css
A ckanext/reclinepreview/theme/public/vendor/leaflet.markercluster/MarkerCluster.Default.ie.min.css
A ckanext/reclinepreview/theme/public/vendor/leaflet.markercluster/MarkerCluster.Default.min.css
A ckanext/reclinepreview/theme/public/vendor/leaflet.markercluster/MarkerCluster.css
A ckanext/reclinepreview/theme/public/vendor/leaflet.markercluster/MarkerCluster.min.css
A ckanext/reclinepreview/theme/public/vendor/leaflet.markercluster/leaflet.markercluster.js
A ckanext/reclinepreview/theme/public/vendor/leaflet.markercluster/leaflet.markercluster.min.js
A ckanext/reclinepreview/theme/public/vendor/leaflet/images/layers.png
A ckanext/reclinepreview/theme/public/vendor/leaflet/images/marker-icon.png
A ckanext/reclinepreview/theme/public/vendor/leaflet/images/marker-shadow.png
A ckanext/reclinepreview/theme/public/vendor/leaflet/images/zoom-in.png
A ckanext/reclinepreview/theme/public/vendor/leaflet/images/zoom-out.png
A ckanext/reclinepreview/theme/public/vendor/leaflet/leaflet.css
A ckanext/reclinepreview/theme/public/vendor/leaflet/leaflet.ie.css
A ckanext/reclinepreview/theme/public/vendor/leaflet/leaflet.ie.min.css
A ckanext/reclinepreview/theme/public/vendor/leaflet/leaflet.js
A ckanext/reclinepreview/theme/public/vendor/leaflet/leaflet.min.css
A ckanext/reclinepreview/theme/public/vendor/leaflet/leaflet.min.js
A ckanext/reclinepreview/theme/public/vendor/moment/moment.js
A ckanext/reclinepreview/theme/public/vendor/moment/moment.min.js
A ckanext/reclinepreview/theme/public/vendor/mustache/mustache.js
A ckanext/reclinepreview/theme/public/vendor/mustache/mustache.min.js
A ckanext/reclinepreview/theme/public/vendor/recline/css/recline.css
A ckanext/reclinepreview/theme/public/vendor/recline/css/recline.min.css
A ckanext/reclinepreview/theme/public/vendor/recline/recline.js
A ckanext/reclinepreview/theme/public/vendor/recline/recline.min.js
A ckanext/reclinepreview/theme/public/vendor/slickgrid/MIT-LICENSE.txt
A ckanext/reclinepreview/theme/public/vendor/slickgrid/README.txt
A ckanext/reclinepreview/theme/public/vendor/slickgrid/images/sort-asc.gif
A ckanext/reclinepreview/theme/public/vendor/slickgrid/images/sort-desc.gif
A ckanext/reclinepreview/theme/public/vendor/slickgrid/jquery-ui-1.8.16.custom.js
A ckanext/reclinepreview/theme/public/vendor/slickgrid/jquery-ui-1.8.16.custom.min.js
A ckanext/reclinepreview/theme/public/vendor/slickgrid/jquery.event.drag-2.0.js
A ckanext/reclinepreview/theme/public/vendor/slickgrid/jquery.event.drag-2.0.min.js
A ckanext/reclinepreview/theme/public/vendor/slickgrid/slick.grid.css
A ckanext/reclinepreview/theme/public/vendor/slickgrid/slick.grid.js
A ckanext/reclinepreview/theme/public/vendor/slickgrid/slick.grid.min.css
A ckanext/reclinepreview/theme/public/vendor/slickgrid/slick.grid.min.js
A ckanext/reclinepreview/theme/public/vendor/underscore/underscore.js
A ckanext/reclinepreview/theme/public/vendor/underscore/underscore.min.js
A ckanext/reclinepreview/theme/templates/recline.html
A ckanext/resourceproxy/__init__.py
A ckanext/resourceproxy/controller.py
A ckanext/resourceproxy/plugin.py
A ckanext/resourceproxy/tests/__init__.py
A ckanext/resourceproxy/tests/file_server.py
A ckanext/resourceproxy/tests/static/huge.json
A ckanext/resourceproxy/tests/static/test.json
A ckanext/resourceproxy/tests/test_proxy.py
M doc/configuration.rst
M doc/toolkit.rst
M doc/writing-extensions.rst
M setup.py
Log Message:
-----------
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Conflicts:
ckan/config/deployment.ini_tmpl
Commit: 9c15d8c747814ab2fb4445fb8ef2bf363958d503
https://github.com/okfn/ckan/commit/9c15d8c747814ab2fb4445fb8ef2bf363958d503
Author: tobes <toby.junk at gmail.com>
Date: 2012-12-20 (Thu, 20 Dec 2012)
Changed paths:
M ckan/config/deployment.ini_tmpl
M ckan/controllers/user.py
M ckan/lib/cli.py
M ckan/lib/dictization/model_dictize.py
A ckan/lib/email_notifications.py
M ckan/lib/mailer.py
M ckan/logic/action/get.py
M ckan/logic/action/update.py
M ckan/logic/auth/get.py
M ckan/logic/auth/update.py
M ckan/logic/schema.py
M ckan/migration/versions/063_org_changes.py
A ckan/migration/versions/064_add_email_last_sent_column.py
A ckan/migration/versions/065_add_email_notifications_preference.py
M ckan/model/dashboard.py
M ckan/model/user.py
M ckan/public/base/css/main.css
M ckan/public/base/less/forms.less
A ckan/templates/activity_streams/activity_stream_email_notifications.text
M ckan/templates/user/edit_user_form.html
M ckan/tests/functional/api/test_dashboard.py
A ckan/tests/functional/api/test_email_notifications.py
M ckan/tests/functional/test_user.py
M ckan/tests/lib/test_dictization.py
A ckan/tests/lib/test_email_notifications.py
M ckan/tests/lib/test_mailer.py
M ckan/tests/misc/test_mock_mail_server.py
M ckan/tests/mock_mail_server.py
A doc/email-notifications.rst
M doc/index.rst
M test-core.ini
Log Message:
-----------
Merge branch '1635-feature-email-notifications-for-activity-streams'
Compare: https://github.com/okfn/ckan/compare/5ca73a5e7eee...9c15d8c74781
More information about the ckan-changes
mailing list