From 6f358291733b5844f5e9beaa747f554a0049e27a Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sun, 1 Feb 2009 03:58:31 +0000 Subject: 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. --- modules/notification/controllers/notification.php | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'modules/notification/controllers') 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; -- cgit v1.2.3