[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