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