mirror of
https://github.com/Pathduck/gallery3.git
synced 2026-08-04 14:11:01 -04:00
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.
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user