diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-10-05 17:08:27 -0700 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-10-05 17:08:27 -0700 |
commit | ca17727478b44b8bec6bb7f8ed1c8c688818b8f6 (patch) | |
tree | 7e2318f601f593974957a32ae6e0460a2ef79676 /modules | |
parent | 194cc3b27a73afe5119da9f09407c1e068dc6fa3 (diff) |
Access the form validation rules via the API for groups and users
Diffstat (limited to 'modules')
-rw-r--r-- | modules/gallery/helpers/group.php | 13 | ||||
-rw-r--r-- | modules/gallery/helpers/user.php | 17 | ||||
-rw-r--r-- | modules/gallery/libraries/Identity.php | 10 | ||||
-rw-r--r-- | modules/gallery/libraries/drivers/Identity.php | 8 | ||||
-rw-r--r-- | modules/user/libraries/drivers/Identity/Gallery.php | 10 |
5 files changed, 51 insertions, 7 deletions
diff --git a/modules/gallery/helpers/group.php b/modules/gallery/helpers/group.php index e0182f9f..074a7b83 100644 --- a/modules/gallery/helpers/group.php +++ b/modules/gallery/helpers/group.php @@ -31,7 +31,7 @@ class group_Core { $form_group->inputs["name"]->error_messages( "in_use", t("There is already a group with that name")); $form_group->submit("")->value(t("Save")); - $form->add_rules_from($group); + $form->add_rules_from(self::get_edit_rules()); return $form; } @@ -44,7 +44,7 @@ class group_Core { "in_use", t("There is already a group with that name")); $form_group->submit("")->value(t("Add Group")); $group = ORM::factory("group"); - $form->add_rules_from($group); + $form->add_rules_from(self::get_edit_rules()); return $form; } @@ -111,4 +111,13 @@ class group_Core { static function groups($filter=array()) { return Identity::instance()->list_groups($filter); } + + /** + * Return the edit rules associated with an group. + * + * @return stdClass containing the rules + */ + static function get_edit_rules() { + return Identity::instance()->get_edit_rules("group"); + } } diff --git a/modules/gallery/helpers/user.php b/modules/gallery/helpers/user.php index d859d9bd..2044964f 100644 --- a/modules/gallery/helpers/user.php +++ b/modules/gallery/helpers/user.php @@ -35,7 +35,7 @@ class user_Core { ->matches($group->password); $group->input("email")->label(t("Email"))->id("g-email")->value($user->email); $group->input("url")->label(t("URL"))->id("g-url")->value($user->url); - $form->add_rules_from($user); + $form->add_rules_from(self::get_edit_rules()); module::event("user_edit_form", $user, $form); $group->submit("")->value(t("Save")); @@ -57,8 +57,7 @@ class user_Core { $group->input("email")->label(t("Email"))->id("g-email")->value($user->email); $group->input("url")->label(t("URL"))->id("g-url")->value($user->url); $group->checkbox("admin")->label(t("Admin"))->id("g-admin")->checked($user->admin); - $form->add_rules_from($user); - $form->edit_user->password->rules("-required"); + $form->add_rules_from(self::get_edit_rules()); module::event("user_edit_form_admin", $user, $form); $group->submit("")->value(t("Modify User")); @@ -79,8 +78,7 @@ class user_Core { $group->input("url")->label(t("URL"))->id("g-url"); self::_add_locale_dropdown($group); $group->checkbox("admin")->label(t("Admin"))->id("g-admin"); - $user = ORM::factory("user"); - $form->add_rules_from($user); + $form->add_rules_from(self::get_edit_rules()); module::event("user_add_form_admin", $user, $form); $group->submit("")->value(t("Add User")); @@ -311,4 +309,13 @@ class user_Core { static function users($filter=array()) { return Identity::instance()->list_users($filter); } + + /** + * Return the edit rules associated with an user. + * + * @return stdClass containing the rules + */ + static function get_edit_rules() { + return Identity::instance()->get_edit_rules("user"); + } }
\ No newline at end of file diff --git a/modules/gallery/libraries/Identity.php b/modules/gallery/libraries/Identity.php index 41c25b39..5e6f4217 100644 --- a/modules/gallery/libraries/Identity.php +++ b/modules/gallery/libraries/Identity.php @@ -217,4 +217,14 @@ class Identity_Core { public function list_groups($filter=array()) { return $this->driver->list_groups($filter); } + + /** + * Return the edit rules associated with an group. + * + * @param string $object_type to return rules for ("user"|"group") + * @return stdClass containing the rules + */ + public function get_edit_rules($object_type) { + return $this->driver->get_edit_rules($object_type); + } } // End Identity diff --git a/modules/gallery/libraries/drivers/Identity.php b/modules/gallery/libraries/drivers/Identity.php index 13af4583..65a3891c 100644 --- a/modules/gallery/libraries/drivers/Identity.php +++ b/modules/gallery/libraries/drivers/Identity.php @@ -116,4 +116,12 @@ interface Identity_Driver { * @return array the group list. */ public function list_groups($filter=array()); + + /** + * Return the edit rules associated with an group. + * + * @param string $object_type to return rules for ("user"|"group") + * @return stdClass containing the rules + */ + public function get_edit_rules($object_type); } // End User Driver
\ No newline at end of file diff --git a/modules/user/libraries/drivers/Identity/Gallery.php b/modules/user/libraries/drivers/Identity/Gallery.php index 83f553c1..ab162a4c 100644 --- a/modules/user/libraries/drivers/Identity/Gallery.php +++ b/modules/user/libraries/drivers/Identity/Gallery.php @@ -223,4 +223,14 @@ class Identity_Gallery_Driver implements Identity_Driver { public function list_groups($filter=array()) { return ORM::factory("group")->orderby("name")->find_all(); } + + /** + * Return the edit rules associated with an group. + * + * @param string $object_type to return rules for ("user"|"group") + * @return stdClass containing the rules + */ + public function get_edit_rules($object_type) { + return (object)ORM::factory($object_type)->rules; + } } // End Identity Gallery Driver
\ No newline at end of file |