summaryrefslogtreecommitdiff
path: root/modules/notification/controllers
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-02-01 03:58:31 +0000
committerTim Almdal <tnalmdal@shaw.ca>2009-02-01 03:58:31 +0000
commit6f358291733b5844f5e9beaa747f554a0049e27a (patch)
treeaf9347258c8423ece92053180fea759720b04aef /modules/notification/controllers
parentd49484c9a65681f0ee41490c098a0b4d7a938c0e (diff)
Simplify the setting of a notifications. Notifications are not only
set on a album. The notifications are implicitly active for all child elements. It now sends emails if the email address of the subscribed user has been set. No email, no attempt to send the notification. Still to do, come up with better messages as the current ones are just place holders.
Diffstat (limited to 'modules/notification/controllers')
-rw-r--r--modules/notification/controllers/notification.php20
1 files changed, 5 insertions, 15 deletions
diff --git a/modules/notification/controllers/notification.php b/modules/notification/controllers/notification.php
index 804a908e..26842a89 100644
--- a/modules/notification/controllers/notification.php
+++ b/modules/notification/controllers/notification.php
@@ -22,17 +22,16 @@ class Notification_Controller extends Controller {
$item = ORM::factory("item", $id);
access::required("view", $item);
- $watching = notification::is_watching($item->id);
+ $watching = notification::is_watching($item);
$form = $this->_get_form($item, $watching);
if (request::method() == "post") {
if ($form->validate()) {
- $watch_children = $form->watch->inputs["apply_to_children"]->value;
if (!$watching) {
- notification::add_watch($item, $watch_children);
+ notification::add_watch($item);
message::success(sprintf(t("Watch Enabled on %s!"), $item->title));
$response = json_encode(array("result" => "success"));
} else {
- notification::remove_watch($item, $watch_children);
+ notification::remove_watch($item);
$response = json_encode(array("result" => "success"));
message::success(sprintf(t("Watch Removed on %s!"), $item->title));
}
@@ -48,19 +47,10 @@ class Notification_Controller extends Controller {
function _get_form($item, $watching) {
$button_text = $watching ? t("Remove Watch") : t("Add Watch");
- if ($item->is_album()) {
- $label = $watching ? t("Remove Watch from Album") : t("Add Watch to Album");
- } else {
- $label = $watching ? t("Remove Watch from Photo") : t("Add Watch to Photo");
- }
+ $label = $watching ? t("Remove Watch from Album") : t("Add Watch to Album");
+
$form = new Forge("notification/watch/$item->id", "", "post", array("id" => "gAddWatchForm"));
$group = $form->group("watch")->label($label);
- $checkbox = $group->checkbox("apply_to_children")
- ->label(t("Apply to Children"))
- ->checked($item->is_album());
- if (!$item->is_album()) {
- $checkbox->disabled("disabled");
- }
$group->submit("")->value($button_text);
return $form;