Skip to content
This repository has been archived by the owner on Nov 25, 2020. It is now read-only.

Commit

Permalink
Replace default_repository parameter by a real role/group/user parame…
Browse files Browse the repository at this point in the history
…ter.
  • Loading branch information
cdujeu committed Oct 19, 2013
1 parent 5077cfd commit d88dc24
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 22 deletions.
Expand Up @@ -501,7 +501,6 @@ public function switchAction($action, $httpVars, $fileVars)
if (isSet($userObject)) {
$data["USER"] = array();
$data["USER"]["LOCK"] = $userObject->getLock();
$data["USER"]["DEFAULT_REPOSITORY"] = $userObject->getPref("force_default_repository");
$data["USER"]["PROFILE"] = $userObject->getProfile();
$data["ALL"]["PROFILES"] = array("standard|Standard","admin|Administrator","shared|Shared","guest|Guest");
$data["USER"]["ROLES"] = array_keys($userObject->getRoles());
Expand Down
2 changes: 1 addition & 1 deletion core/src/plugins/core.auth/class.AbstractAuthDriver.php
Expand Up @@ -70,7 +70,7 @@ public function switchAction($action, $httpVars, $fileVars)
}
$loggedUser = AuthService::getLoggedUser();
if ($loggedUser != null) {
$force = $loggedUser->getPref("force_default_repository");
$force = $loggedUser->mergedRole->filterParameterValue("core.conf", "DEFAULT_START_REPOSITORY", AJXP_REPO_SCOPE_ALL, -1);
$passId = -1;
if (isSet($httpVars["tmp_repository_id"])) {
$passId = $httpVars["tmp_repository_id"];
Expand Down
2 changes: 1 addition & 1 deletion core/src/plugins/core.conf/class.AbstractConfDriver.php
Expand Up @@ -409,7 +409,7 @@ public function getOption($optionName)
*/
public function getExposedPreferences($userObject)
{
$stringPrefs = array("display","lang","diapo_autofit","sidebar_splitter_size","vertical_splitter_size","history/last_repository","pending_folder","thumb_size","plugins_preferences","upload_auto_send","upload_auto_close","upload_existing","action_bar_style", "force_default_repository");
$stringPrefs = array("display","lang","diapo_autofit","sidebar_splitter_size","vertical_splitter_size","history/last_repository","pending_folder","thumb_size","plugins_preferences","upload_auto_send","upload_auto_close","upload_existing","action_bar_style");
$jsonPrefs = array("ls_history","columns_size", "columns_visibility", "gui_preferences");
$prefs = array();
if ( $userObject->getId()=="guest" && ConfService::getCoreConf("SAVE_GUEST_PREFERENCES", "conf") === false) {
Expand Down
1 change: 1 addition & 0 deletions core/src/plugins/core.conf/manifest.xml
Expand Up @@ -23,6 +23,7 @@
<param name="email" scope="user" description="Email" label="Email Address" type="string" expose="true" editable="true"/>
<param name="country" scope="role,user" description="Country" label="Country" type="select" choices="fr|France,uk|United Kingdom,de|Germany" expose="true" editable="true"/>
<param name="lang" scope="role,user" description="User Language" label="Language" type="select" choices="AJXP_AVAILABLE_LANGUAGES" expose="true" editable="true"/>
<param name="DEFAULT_START_REPOSITORY" scope="role,user,group" description="CONF_MESSAGE[Default start repository]" label="CONF_MESSAGE[Default repository]" type="select" choices="AJXP_AVAILABLE_REPOSITORIES" expose="false" editable="false"/>
<global_param name="USER_CREATE_REPOSITORY" group="CONF_MESSAGE[Generic Conf Features]" type="boolean" label="CONF_MESSAGE[Let user create repositories]" description="Whether users can create their own repositories, based on predefined templates." mandatory="false" default="false"/>
<global_param name="SAVE_GUEST_PREFERENCES" group="CONF_MESSAGE[Generic Conf Features]" type="boolean" label="CONF_MESSAGE[Remember guest preferences]" description="If the 'guest' user is enabled, remember her preferences accross sessions." mandatory="true" default="false"/>
<global_param name="SKIP_USER_HISTORY" group="CONF_MESSAGE[Generic Conf Features]" type="boolean" label="CONF_MESSAGE[Skip user history]" description="Use this option if you want to avoid the automatic opening of the last visited folder at login." mandatory="false" default="false"/>
Expand Down
19 changes: 1 addition & 18 deletions core/src/plugins/editor.ajxp_role/class.RoleEditor.js
Expand Up @@ -277,7 +277,7 @@ Class.create("RoleEditor", AbstractEditor, {
var defs = [
$H({"name":"login",label:MessageHash["ajxp_role_editor.21"],"type":"string", default:getBaseName(node.getPath()), readonly:true}),
$H({"name":"profile",label:MessageHash["ajxp_role_editor.22"],"type":"select", choices:profilesChoices, default:this.roleData.USER.PROFILE}),
$H({"name":"default_repository",label:MessageHash["ajxp_role_editor.23"],"type":"select", choices:repos.join(","),default:this.roleData.USER.DEFAULT_REPOSITORY}),
//$H({"name":"default_repository",label:MessageHash["ajxp_role_editor.23"],"type":"select", choices:repos.join(","),default:this.roleData.USER.DEFAULT_REPOSITORY}),
$H({"name":"roles",label:MessageHash["ajxp_role_editor.24"],"type":"select", multiple:true, choices:rolesChoicesString, default:this.roleData.USER.ROLES.join(",")})
];
defs = $A(defs);
Expand All @@ -293,22 +293,6 @@ Class.create("RoleEditor", AbstractEditor, {
}.bind(this) , 500);
}.bind(this) );

var defaultRepoSelect = this.element.down("#pane-infos").down("#account_infos").down('select[name="default_repository"]');
defaultRepoSelect.observe("change", function(){
var conn = new Connexion();
conn.setParameters(new Hash({
get_action:'save_user_preference',
user_id:this.roleId.replace("AJXP_USR_/", ""),
pref_name_0:'force_default_repository',
pref_value_0:defaultRepoSelect.getValue()
}));
conn.onComplete = function(transport){
ajaxplorer.actionBar.parseXmlMessage(transport.responseXML);
this.setClean();
}.bind(this);
conn.sendAsync();
}.bind(this) );

// BUTTONS
var buttonPane = this.element.down("#pane-infos").down("#account_actions");
var b0 = new Element("span", {className:'m-2'}).update(MessageHash["ajxp_role_editor.25"]);
Expand Down Expand Up @@ -571,7 +555,6 @@ Class.create("RoleEditor", AbstractEditor, {
var repositories = this.roleData.ALL.REPOSITORIES;
if(!Object.keys(repositories).length) return;
//repositories.sortBy(function(element) {return XPathGetSingleNodeText(element, "label");});
//var defaultRepository = XPathGetSingleNodeText(xmlData, '//pref[@name="force_default_repository"]/@value');
for(var repoId in repositories){
var repoLabel = repositories[repoId];
var readBox = new Element('input', {type:'checkbox', id:'chck_'+repoId+'_read'});
Expand Down
2 changes: 1 addition & 1 deletion core/src/plugins/gui.ajax/res/js/ajaxplorer.js

Large diffs are not rendered by default.

Expand Up @@ -203,6 +203,13 @@ Class.create("FormManager", {
for(var key in object){
choices.push(key + "|" + object[key]);
}
}else if(param.get("choices") == "AJXP_AVAILABLE_REPOSITORIES"){
choices = [];
if(ajaxplorer.user){
ajaxplorer.user.repositories.each(function(pair){
choices.push(pair.value.getId() + '|' + pair.value.getLabel());
});
}
}else{
choices = param.get('choices').split(",");
}
Expand Down

0 comments on commit d88dc24

Please sign in to comment.