You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by it...@apache.org on 2010/08/11 16:57:38 UTC

svn commit: r984432 - in /incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main: java/org/apache/clerezza/platform/accountcontrolpanel/ resour...

Author: ito
Date: Wed Aug 11 14:57:38 2010
New Revision: 984432

URL: http://svn.apache.org/viewvc?rev=984432&view=rev
Log:
CLEREZZA-272 via control panel a user can change his preferred languages

Modified:
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main/java/org/apache/clerezza/platform/accountcontrolpanel/SettingsPanel.java
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main/resources/org/apache/clerezza/platform/accountcontrolpanel/settings-panel.ssp

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main/java/org/apache/clerezza/platform/accountcontrolpanel/SettingsPanel.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main/java/org/apache/clerezza/platform/accountcontrolpanel/SettingsPanel.java?rev=984432&r1=984431&r2=984432&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main/java/org/apache/clerezza/platform/accountcontrolpanel/SettingsPanel.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main/java/org/apache/clerezza/platform/accountcontrolpanel/SettingsPanel.java Wed Aug 11 14:57:38 2010
@@ -71,6 +71,7 @@ import org.apache.clerezza.jaxrs.utils.f
 import org.apache.clerezza.jaxrs.utils.form.MultiPartBody;
 import org.apache.clerezza.platform.accountcontrolpanel.ontologies.CONTROLPANEL;
 import org.apache.clerezza.platform.config.SystemConfig;
+import org.apache.clerezza.platform.graphprovider.content.ContentGraphProvider;
 import org.apache.clerezza.platform.typerendering.RenderletManager;
 import org.apache.clerezza.platform.typerendering.scalaserverpages.ScalaServerPagesRenderlet;
 import org.apache.clerezza.rdf.core.BNode;
@@ -113,6 +114,8 @@ public class SettingsPanel {
 	private MGraph systemGraph; // System graph for user data access
 	@Reference
 	private RenderletManager renderletManager;
+	@Reference
+	private ContentGraphProvider cgProvider;
 	private final Logger logger = LoggerFactory.getLogger(SettingsPanel.class);
 	private ConfigurationAdmin configAdmin;
 
@@ -525,6 +528,33 @@ public class SettingsPanel {
 
 	/**
 	 * changes the password of an user
+	 *
+	 * @param idP id is the username as given in the URL
+	 * @param lang represents the user's new standard language.
+	 * @return
+	 */
+	@POST
+	@Path("change-language")
+	public Response changeUserLanguage(@PathParam(value = "id") String idP,
+			@FormParam("availablelanguages") final String lang, @Context UriInfo uriInfo) {
+
+		final String id = idP;
+		AccessController.checkPermission(new AccountControlPanelAppPermission(id, ""));
+		AccessController.doPrivileged(new PrivilegedAction() {
+			@Override
+			public Object run() {
+				GraphNode userNode = new GraphNode(getAgent(id), systemGraph);
+				userNode.deleteProperties(PLATFORM.preferredLangInISOCode);
+				userNode.addProperty(PLATFORM.preferredLangInISOCode, LiteralFactory.getInstance().createTypedLiteral(lang));
+				return null;
+			}
+		});
+
+		return RedirectUtil.createSeeOtherResponse("../control-panel", uriInfo);
+	}
+
+	/**
+	 * changes the password of an user
 	 * 
 	 * @param idP id is the username as given in the URL
 	 * @param oldPW the current user password

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main/resources/org/apache/clerezza/platform/accountcontrolpanel/settings-panel.ssp
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main/resources/org/apache/clerezza/platform/accountcontrolpanel/settings-panel.ssp?rev=984432&r1=984431&r2=984432&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main/resources/org/apache/clerezza/platform/accountcontrolpanel/settings-panel.ssp (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.accountcontrolpanel/org.apache.clerezza.platform.accountcontrolpanel.core/src/main/resources/org/apache/clerezza/platform/accountcontrolpanel/settings-panel.ssp Wed Aug 11 14:57:38 2010
@@ -14,10 +14,10 @@ if ((res/cp("userBundlePermission")*) ==
 	<h3>Install Bundle</h3>
 
 	<form method="post" action="control-panel/install-bundle" enctype="multipart/form-data">
-		<input type="file" class="FieldText" name="bundle" size="30" title="bundle path"/>
-		<input value="Install" type="submit"/><p />
+		<input type="file" class="FieldText" name="bundle" size="30" title="bundle path"/><br/><br/>
+		<input style="width: 5em;" value="Install" type="submit"/><p />
 	</form>
-
+	<br/><br/>
 	<h3>User Bundles</h3>
 	<table border="1">
 	<tbody>
@@ -68,29 +68,60 @@ if ((res/cp("userBundlePermission")*) ==
 
 if((res/cp("changePasswordPermission")*) == "true") {
 	nodeBuff +=(<h2>Change Password</h2>
-	<form method="post" action="control-panel/change-password" >
-	<label for="oldPW">Current Password:</label>
-	<input type="password" name="oldPW"/>
-	<br />
-	<label for="newPW">New Password:</label>
-	<input type="password" name="newPW"/>
-	<br />
-	<label for="confirmNewPW">Confirm new Password:</label>
-	<input type="password" name="confirmNewPW"/>
-	<br />
-	<input type="submit" name="submit" value="Submit"/>
+	
+
+	<form action="control-panel/change-password" method="post">
+		<fieldset>
+			<ol style="display: block;">
+				<li class="tx-line" style="background-image: none;">
+					<label>Current Password:</label>
+					<span class="tx-item">
+						<input type="password" name="oldPW"/>
+					</span>
+				</li>
+				<li class="tx-line" style="background-image: none;">
+					<label>New Password:</label>
+					<span class="tx-item">
+						<input type="password" name="newPW"/>
+					</span>
+				</li>
+				<li class="tx-line" style="background-image: none;">
+					<label>Confirm new Password:</label>
+					<span class="tx-item">
+						<input type="password" name="confirmNewPW"/>
+					</span>
+				</li>
+				<br />
+				<input style="width: 5em;" type="submit" name="submit" value="Submit"/>
+			</ol>
+			<br/>
+		</fieldset>
 	</form>)
+
+
 }
 
 if((res/cp("changedPassword")).length > 0) {
 	nodeBuff +=(<br /><span>Password has not changed, either wrong current password or the
-				new password and the confirmation didn't match!</span>)
+				new password and the confirmation didn't match!<br /><br /></span>)
 }
 
+
+nodeBuff +=(<h2>Change user's default language</h2>
+	<form method="post" action="control-panel/change-language">
+		{render(context/platform("instance")/platform("languages"), "naked")}
+		<br/><br/>
+		<script type="text/javascript">$("#availablelanguages").val({"'" + (context/platform("user")/platform("preferredLangInISOCode")*) + "'"})</script>
+		<input style="width: 5em;" type="submit" name="submit" value="Submit"/>
+		<br/><br/>
+	</form>)
+
 <div id="tx-content">
-{if(nodeBuff.isEmpty)
-	<span>There are no settings you can configure for this account!</span> 
-else
-	nodeBuff
-}
+	<div class="tx-edit" style="margin-left: 0.5em;">
+	{if(nodeBuff.isEmpty)
+		<span>There are no settings you can configure for this account!</span>
+	else
+		nodeBuff
+	}
+	</div>
 </div>
\ No newline at end of file