[pLog-svn] r4196 - in plog/trunk: class/action/admin
class/controller locale templates/admin
oscar at devel.lifetype.net
oscar at devel.lifetype.net
Fri Oct 27 11:18:23 GMT 2006
Author: oscar
Date: 2006-10-27 11:18:22 +0000 (Fri, 27 Oct 2006)
New Revision: 4196
Added:
plog/trunk/class/action/admin/admineditpermissionaction.class.php
plog/trunk/class/action/admin/adminupdatepermissionaction.class.php
plog/trunk/templates/admin/editpermission.template
Modified:
plog/trunk/class/action/admin/adminaddpermissionaction.class.php
plog/trunk/class/controller/admincontrollermap.properties.php
plog/trunk/locale/locale_en_UK.php
Log:
added support for editing permissions
Modified: plog/trunk/class/action/admin/adminaddpermissionaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminaddpermissionaction.class.php 2006-10-27 11:16:58 UTC (rev 4195)
+++ plog/trunk/class/action/admin/adminaddpermissionaction.class.php 2006-10-27 11:18:22 UTC (rev 4196)
@@ -50,7 +50,7 @@
$this->setCommonData();
}
else {
- $this->_view->setErrorMessage( $this->_locale->tr("permission_added_ok" ));
+ $this->_view->setErrorMessage( $this->_locale->tr("error_adding_permission" ));
$this->_view->setError( true );
$this->setCommonData( true );
}
Added: plog/trunk/class/action/admin/admineditpermissionaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admineditpermissionaction.class.php 2006-10-27 11:16:58 UTC (rev 4195)
+++ plog/trunk/class/action/admin/admineditpermissionaction.class.php 2006-10-27 11:18:22 UTC (rev 4196)
@@ -0,0 +1,52 @@
+<?php
+
+ lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/view/admin/adminpermissionslistview.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/dao/permissions.class.php" );
+
+ /**
+ * \ingroup Action
+ * @private
+ *
+ * Adds a new permission to the database
+ */
+ class AdminEditPermissionAction extends SiteAdminAction
+ {
+ function AdminEditPermissionAction( $actionInfo, $request )
+ {
+ $this->SiteAdminAction( $actionInfo, $request );
+
+ // register two validators
+ $this->registerFieldValidator( "permId", new IntegerValidator());
+ $errorView = new AdminPermissionsListView( $this->_blogInfo );
+ $errorView->setErrorMessage( $this->_locale->tr("error_fetching_permission" ));
+ $this->setValidationErrorView( $errorView );
+ }
+
+ function perform()
+ {
+ // add the permission and check success
+ $perms = new Permissions();
+ $perm = $perms->getPermission( $this->_request->getValue( "permId" ));
+
+ if( !$perm ) {
+ $this->_view = new AdminPermissionsListView( $this->_blogInfo );
+ $this->_view->setErrorMessage( $this->_locale->tr("error_fetching_permission" ));
+ $this->setCommonData();
+ return( false );
+ }
+
+ $this->_view = new AdminTemplatedView( $this->_blogInfo, "editpermission" );
+ $this->_view->setValue( "permissionName", $perm->getName());
+ $this->_view->setValue( "permissionDescription", $perm->getDescription());
+ $this->_view->setValue( "permissionId", $perm->getId());
+ $this->_view->setValue( "corePermission", $perm->isCorePermission());
+ $this->_view->setValue( "adminOnlyPermission", $perm->isAdminOnlyPermission());
+ $this->setCommonData();
+
+ return( true );
+ }
+ }
+?>
Added: plog/trunk/class/action/admin/adminupdatepermissionaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdatepermissionaction.class.php 2006-10-27 11:16:58 UTC (rev 4195)
+++ plog/trunk/class/action/admin/adminupdatepermissionaction.class.php 2006-10-27 11:18:22 UTC (rev 4196)
@@ -0,0 +1,64 @@
+<?php
+
+ lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/view/admin/adminpermissionslistview.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/dao/permissions.class.php" );
+
+ /**
+ * \ingroup Action
+ * @private
+ *
+ * Updates an existing permission in the database
+ */
+ class AdminUpdatePermissionAction extends SiteAdminAction
+ {
+ function AdminUpdatePermissionAction( $actionInfo, $request )
+ {
+ $this->SiteAdminAction( $actionInfo, $request );
+
+ // register two validators
+ $this->registerFieldValidator( "permissionName", new StringValidator());
+ $this->registerFieldValidator( "permissionDescription", new StringValidator());
+ $this->registerFieldValidator( "permissionId", new IntegerValidator());
+ $this->registerField( "corePermission" );
+ $this->registerField( "adminOnlyPermission" );
+ // and the view we should show in case there is a validation error
+ $errorView = new AdminTemplatedView( $this->_blogInfo, "editpermission" );
+ $errorView->setErrorMessage( $this->_locale->tr("error_updating_permission" ));
+ $this->setValidationErrorView( $errorView );
+ }
+
+ function perform()
+ {
+ // load the permission
+ $perms = new Permissions();
+ $perm = $perms->getPermission( $this->_request->getValue( "permissionId" ));
+
+ if( !$perm ) {
+ $this->_view = new AdminPermissionsListView( $this->_blogInfo );
+ $this->_view->setErrorMessage( $this->_locale->tr("error_fetching_permission" ));
+ $this->setCommonData();
+ return( false );
+ }
+
+ $perm->setName( $this->_request->getValue( "permissionName" ));
+ $perm->setDescription( $this->_request->getValue( "permissionDescription" ));
+ $perm->setCorePermission(( $this->_request->getValue( "corePermission" ) == "" ? false : true ));
+ $perm->setAdminOnlyPermission(( $this->_request->getValue( "adminOnlyPermission" ) == "" ? false : true ));
+
+ if( $perms->updatePermission( $perm )) {
+ $this->_view = new AdminPermissionsListView( $this->_blogInfo );
+ $this->_view->setSuccessMessage( $this->_locale->tr("permission_updated_ok" ));
+ $this->setCommonData();
+ }
+ else {
+ $this->_view->setErrorMessage( $this->_locale->tr("error_updating_permission" ));
+ $this->_view->setError( true );
+ $this->setCommonData( true );
+ }
+ }
+ }
+?>
Modified: plog/trunk/class/controller/admincontrollermap.properties.php
===================================================================
--- plog/trunk/class/controller/admincontrollermap.properties.php 2006-10-27 11:16:58 UTC (rev 4195)
+++ plog/trunk/class/controller/admincontrollermap.properties.php 2006-10-27 11:18:22 UTC (rev 4196)
@@ -302,7 +302,8 @@
$actions["permissionsList"] = "AdminPermissionsListAction";
$actions["deletePermission"] = "AdminDeletePermissionsAction";
$actions["deletePermissions"] = "AdminDeletePermissionsAction";
- $actions["editPermission"] = "AdminEditPermissionAction";
+ $actions["editPermission"] = "AdminEditPermissionAction";
+ $actions["updatePermission"] = "AdminUpdatePermissionAction";
$actions["updatePermission"] = "AdminUpdatePermissionAction";
$actions["newPermission"] = "AdminNewPermissionAction";
$actions["addPermission"] = "AdminAddPermissionAction";
Modified: plog/trunk/locale/locale_en_UK.php
===================================================================
--- plog/trunk/locale/locale_en_UK.php 2006-10-27 11:16:58 UTC (rev 4195)
+++ plog/trunk/locale/locale_en_UK.php 2006-10-27 11:18:22 UTC (rev 4196)
@@ -1092,7 +1092,7 @@
$messages['admin_only'] = 'Admin Only';
$messages['permissionsList'] = 'Permissions';
$messages['newPermission'] = 'New Permission';
-$messages['permission_name_help'] = 'Unique name for the new permission';
+$messages['permission_name_help'] = 'Unique name for the permission';
$messages['permission_description_help'] = 'Description given for the permission';
$messages['core_perm_help'] = 'If this permission is part of the core permissions, it will not be possible to delete it';
$messages['admin_only_help'] = 'Whether this permission can only be assigned by administrator users';
@@ -1150,4 +1150,9 @@
$messages['update_all_user_articles_desc'] = 'Allow to modify other users\' articles';
$messages['error_can_only_view_own_articles'] = 'Your permissions allow you only to see your own articles.';
$messages['view_all_user_articles_desc'] = 'Allow to view other users\' articles';
+$messages['error_fetching_permission'] = 'There was an error loading the permission';
+$messages['editPermission'] = 'Edit Permission';
+$messages['error_updating_permission'] = 'There was an error updating the permission';
+$messages['permission_updated_ok'] = 'Permission updated succesfully';
+$messages['error_adding_permission'] = 'There was an error adding the permission';
?>
\ No newline at end of file
Added: plog/trunk/templates/admin/editpermission.template
===================================================================
--- plog/trunk/templates/admin/editpermission.template 2006-10-27 11:16:58 UTC (rev 4195)
+++ plog/trunk/templates/admin/editpermission.template 2006-10-27 11:18:22 UTC (rev 4196)
@@ -0,0 +1,50 @@
+{include file="$admintemplatepath/header.template"}
+{include file="$admintemplatepath/navigation.template" showOpt=permissionsList title=$locale->tr("editPermission")}
+
+ <form name="addBlogCategory" method="post" action="admin.php">
+ <fieldset class="inputField">
+ <legend>{$locale->tr("editPermission")}</legend>
+ {include file="$admintemplatepath/formvalidate.template"}
+
+ <div class="field">
+ <label for="permissionName">{$locale->tr("name")}</label>
+ <span class="required">*</span>
+ <div class="formHelp">{$locale->tr("permission_name_help")}</div>
+ <input type="text" value="{$permissionName}" id="permissionName" name="permissionName" />
+ {include file="$admintemplatepath/validate.template" field=permissionName message=$locale->tr("error_empty_name")}
+ </div>
+
+ <div class="field">
+ <label for="permissionDescription">{$locale->tr("description")}</label>
+ <span class="required">*</span>
+ <div class="formHelp">{$locale->tr("permission_description_help")}</div>
+ <textarea name="permissionDescription" cols="60" id="permissionDescription" rows="5">{$permissionDescription}</textarea>
+ {include file="$admintemplatepath/validate.template" field=permissionDescription message=$locale->tr("error_empty_description")}
+ </div>
+
+ <div class="field">
+ <label for="corePermission">{$locale->tr("core_perm")}</label>
+ <div class="formHelp">
+ <input class="checkbox" type="checkbox" id="corePermission" name="corePermission" value="1" {if $corePermission}checked="checked"{/if}/>
+ {$locale->tr("core_perm_help")}
+ </div>
+ </div>
+
+ <div class="field">
+ <label for="adminOnlyPermission">{$locale->tr("admin_only")}</label>
+ <div class="formHelp">
+ <input class="checkbox" type="checkbox" id="adminOnlyPermission" name="adminOnlyPermission" value="1" {if $adminOnlyPermission}checked="checked"{/if} />
+ {$locale->tr("admin_only_help")}
+ </div>
+ </div>
+
+ </fieldset>
+ <div class="buttons">
+ <input type="hidden" name="op" value="updatePermission" />
+ <input type="hidden" name="permissionId" value="{$permissionId}" />
+ <input type="reset" name="Reset" value="{$locale->tr("reset")}" />
+ <input type="submit" name="Add" value="{$locale->tr("update")}" />
+ </div>
+ </form>
+{include file="$admintemplatepath/footernavigation.template"}
+{include file="$admintemplatepath/footer.template"}
\ No newline at end of file
More information about the pLog-svn
mailing list