This is an automated email from the ASF dual-hosted git repository.

bhaisaab pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/master by this push:
     new 322e18a  CLOUDSTACK-9928: Allow native CloudStack users to change 
password in UI
322e18a is described below

commit 322e18a7b6ec8d99c8f9df819f714fd0c1a0db61
Author: Rohit Yadav <[email protected]>
AuthorDate: Thu May 25 16:18:15 2017 +0530

    CLOUDSTACK-9928: Allow native CloudStack users to change password in UI
    
    This allows native CloudStack users to change password in UI when LDAP
    is enabled. Overall changes:
    - A new usersource returned in the listUsers response
    - Removed ldap check in the UI, replaced with check based on user source
    - DB changes to include user.source in user_view
    - Changed UI error message for non-native users trying to change password
    
    Signed-off-by: Rohit Yadav <[email protected]>
---
 .travis.yml                                        |  2 +-
 api/src/com/cloud/user/User.java                   |  3 +-
 .../cloudstack/api/response/UserResponse.java      | 15 ++++++++
 .../api/query/dao/UserAccountJoinDaoImpl.java      |  1 +
 .../com/cloud/api/query/vo/UserAccountJoinVO.java  | 25 ++++++++----
 setup/db/db/schema-4930to41000-cleanup.sql         | 45 ++++++++++++++++++++++
 test/integration/component/test_accounts.py        | 10 +++--
 tools/marvin/marvin/codegenerator.py               |  5 ++-
 ui/l10n/ar.js                                      |  2 +-
 ui/l10n/ca.js                                      |  2 +-
 ui/l10n/de_DE.js                                   |  2 +-
 ui/l10n/en.js                                      |  2 +-
 ui/l10n/es.js                                      |  2 +-
 ui/l10n/fr_FR.js                                   |  2 +-
 ui/l10n/hu.js                                      |  2 +-
 ui/l10n/it_IT.js                                   |  2 +-
 ui/l10n/ja_JP.js                                   |  2 +-
 ui/l10n/ko_KR.js                                   |  2 +-
 ui/l10n/nb_NO.js                                   |  2 +-
 ui/l10n/nl_NL.js                                   |  2 +-
 ui/l10n/pl.js                                      |  2 +-
 ui/l10n/pt_BR.js                                   |  2 +-
 ui/l10n/ru_RU.js                                   |  2 +-
 ui/l10n/zh_CN.js                                   |  2 +-
 ui/scripts/accounts.js                             |  7 ++--
 25 files changed, 112 insertions(+), 33 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index c4790ed..4301d75 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -93,6 +93,7 @@ env:
              smoke/misc/test_vm_sync"
 
     - TESTS="component/find_hosts_for_migration
+             component/test_accounts
              component/test_acl_isolatednetwork_delete
              component/test_acl_listsnapshot
              component/test_acl_listvm
@@ -146,7 +147,6 @@ env:
 #    - TESTS="component/test_project_resources"
 #    - TESTS="component/test_cpu_domain_limits"
 #    - TESTS="component/test_acl_isolatednetwork"
-#    - TESTS="component/test_accounts"
 #    - TESTS="component/test_organization_states"
 
 before_install: travis_wait 30 ./tools/travis/before_install.sh
diff --git a/api/src/com/cloud/user/User.java b/api/src/com/cloud/user/User.java
index 0ecdcfa..c3ac66c 100644
--- a/api/src/com/cloud/user/User.java
+++ b/api/src/com/cloud/user/User.java
@@ -22,8 +22,9 @@ import org.apache.cloudstack.api.InternalIdentity;
 
 public interface User extends OwnedBy, InternalIdentity {
 
+    // UNKNOWN and NATIVE can be used interchangeably
     public enum Source {
-        LDAP, SAML2, SAML2DISABLED, UNKNOWN
+        LDAP, SAML2, SAML2DISABLED, UNKNOWN, NATIVE
     }
 
     public static final long UID_SYSTEM = 1;
diff --git a/api/src/org/apache/cloudstack/api/response/UserResponse.java 
b/api/src/org/apache/cloudstack/api/response/UserResponse.java
index d96f632..dd10510 100644
--- a/api/src/org/apache/cloudstack/api/response/UserResponse.java
+++ b/api/src/org/apache/cloudstack/api/response/UserResponse.java
@@ -66,6 +66,10 @@ public class UserResponse extends BaseResponse {
     @Param(description = "the account type of the user")
     private Short accountType;
 
+    @SerializedName("usersource")
+    @Param(description = "the source type of the user in lowercase, such as 
native, ldap, saml2")
+    private String userSource;
+
     @SerializedName(ApiConstants.ROLE_ID)
     @Param(description = "the ID of the role")
     private String roleId;
@@ -260,4 +264,15 @@ public class UserResponse extends BaseResponse {
     public void setIsDefault(Boolean isDefault) {
         this.isDefault = isDefault;
     }
+
+    public String getUserSource() {
+        return userSource;
+    }
+
+    public void setUserSource(User.Source userSource) {
+        this.userSource = userSource.toString().toLowerCase();
+        if 
(this.userSource.equals(User.Source.UNKNOWN.toString().toLowerCase())) {
+            this.userSource = User.Source.NATIVE.toString().toLowerCase();
+        }
+    }
 }
diff --git a/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java
index 433912b..8d06bcd 100644
--- a/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java
@@ -58,6 +58,7 @@ public class UserAccountJoinDaoImpl extends 
GenericDaoBase<UserAccountJoinVO, Lo
         userResponse.setAccountId(usr.getAccountUuid());
         userResponse.setAccountName(usr.getAccountName());
         userResponse.setAccountType(usr.getAccountType());
+        userResponse.setUserSource(usr.getSource());
         userResponse.setCreated(usr.getCreated());
         userResponse.setDomainId(usr.getDomainUuid());
         userResponse.setDomainName(usr.getDomainName());
diff --git a/server/src/com/cloud/api/query/vo/UserAccountJoinVO.java 
b/server/src/com/cloud/api/query/vo/UserAccountJoinVO.java
index e6b1ace..88f5efa 100644
--- a/server/src/com/cloud/api/query/vo/UserAccountJoinVO.java
+++ b/server/src/com/cloud/api/query/vo/UserAccountJoinVO.java
@@ -16,19 +16,20 @@
 // under the License.
 package com.cloud.api.query.vo;
 
-import java.util.Date;
+import com.cloud.user.User;
+import com.cloud.user.UserAccount;
+import com.cloud.utils.db.Encrypt;
+import com.cloud.utils.db.GenericDao;
+import org.apache.cloudstack.api.Identity;
+import org.apache.cloudstack.api.InternalIdentity;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
 import javax.persistence.Id;
 import javax.persistence.Table;
-
-import org.apache.cloudstack.api.Identity;
-import org.apache.cloudstack.api.InternalIdentity;
-
-import com.cloud.user.UserAccount;
-import com.cloud.utils.db.Encrypt;
-import com.cloud.utils.db.GenericDao;
+import java.util.Date;
 
 @Entity
 @Table(name = "user_view")
@@ -123,6 +124,10 @@ public class UserAccountJoinVO extends BaseViewVO 
implements InternalIdentity, I
     @Column(name = "default")
     boolean isDefault;
 
+    @Column(name = "source")
+    @Enumerated(value = EnumType.STRING)
+    private User.Source source;
+
     public UserAccountJoinVO() {
     }
 
@@ -258,4 +263,8 @@ public class UserAccountJoinVO extends BaseViewVO 
implements InternalIdentity, I
     public String getProjectName() {
         return null;
     }
+
+    public User.Source getSource() {
+        return source;
+    }
 }
diff --git a/setup/db/db/schema-4930to41000-cleanup.sql 
b/setup/db/db/schema-4930to41000-cleanup.sql
index 986dcdf..c179189 100644
--- a/setup/db/db/schema-4930to41000-cleanup.sql
+++ b/setup/db/db/schema-4930to41000-cleanup.sql
@@ -22,3 +22,48 @@
 DELETE FROM `cloud`.`configuration` WHERE 
name='consoleproxy.loadscan.interval';
 
 DELETE FROM `cloud`.`host_details` where name = 'vmName' and  value in (select 
name from `cloud`.`vm_instance`  where state = 'Expunging' and hypervisor_type 
='BareMetal');
+
+DROP VIEW IF EXISTS `cloud`.`user_view`;
+CREATE VIEW `cloud`.`user_view` AS
+    select
+        user.id,
+        user.uuid,
+        user.username,
+        user.password,
+        user.firstname,
+        user.lastname,
+        user.email,
+        user.state,
+        user.api_key,
+        user.secret_key,
+        user.created,
+        user.removed,
+        user.timezone,
+        user.registration_token,
+        user.is_registered,
+        user.incorrect_login_attempts,
+        user.source,
+        user.default,
+        account.id account_id,
+        account.uuid account_uuid,
+        account.account_name account_name,
+        account.type account_type,
+        account.role_id account_role_id,
+        domain.id domain_id,
+        domain.uuid domain_uuid,
+        domain.name domain_name,
+        domain.path domain_path,
+        async_job.id job_id,
+        async_job.uuid job_uuid,
+        async_job.job_status job_status,
+        async_job.account_id job_account_id
+    from
+        `cloud`.`user`
+            inner join
+        `cloud`.`account` ON user.account_id = account.id
+            inner join
+        `cloud`.`domain` ON account.domain_id = domain.id
+            left join
+        `cloud`.`async_job` ON async_job.instance_id = user.id
+            and async_job.instance_type = 'User'
+            and async_job.job_status = 0;
diff --git a/test/integration/component/test_accounts.py 
b/test/integration/component/test_accounts.py
index 60421d9..56494e2 100644
--- a/test/integration/component/test_accounts.py
+++ b/test/integration/component/test_accounts.py
@@ -96,7 +96,7 @@ class Services:
             "template": {
                 "displaytext": "Public Template",
                 "name": "Public template",
-                "ostype": 'CentOS 5.3 (64-bit)',
+                "ostype": 'CentOS 5.6 (64-bit)',
                 "url": "",
                 "hypervisor": '',
                 "format": '',
@@ -110,8 +110,7 @@ class Services:
                 "privateport": 22,
                 "protocol": 'TCP',
             },
-            "ostype": 'CentOS 5.3 (64-bit)',
-            # Cent OS 5.3 (64 bit)
+            "ostype": 'CentOS 5.6 (64-bit)',
             "sleep": 60,
             "timeout": 10,
         }
@@ -249,6 +248,11 @@ class TestAccounts(cloudstackTestCase):
             user_response.state,
             "Check state of created user"
         )
+        self.assertEqual(
+            "native",
+            user_response.usersource,
+            "Check user source of created user"
+        )
         return
 
 
diff --git a/tools/marvin/marvin/codegenerator.py 
b/tools/marvin/marvin/codegenerator.py
index 14f6d13..f583d52 100644
--- a/tools/marvin/marvin/codegenerator.py
+++ b/tools/marvin/marvin/codegenerator.py
@@ -232,7 +232,10 @@ class CodeGenerator(object):
 
         for cmdName in self.cmdsName:
             body += self.space
-            body += 'def %s(self, command, method="GET"):\n' % cmdName
+            if cmdName in ["login", "logout"]:
+                body += 'def %s(self, command, method="POST"):\n' % cmdName
+            else:
+                body += 'def %s(self, command, method="GET"):\n' % cmdName
             body += self.space + self.space
             body += 'response = %sResponse()\n' % cmdName
             body += self.space + self.space
diff --git a/ui/l10n/ar.js b/ui/l10n/ar.js
index 6e21c62..599db00 100644
--- a/ui/l10n/ar.js
+++ b/ui/l10n/ar.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "تغير خصائص العنصر",
     "confirm.enable.s3": "فضلا قم بتعبئة البيانات القادمة لتمكين التخزين S3 
للذاكرة الثانوية.",
     "confirm.enable.swift": "Please fill in the following information to 
enable support for Swift",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Error 
could not change your password because LDAP is enabled.",
+    "error.could.not.change.your.password.because.non.native.user": "Error 
could not change your password because LDAP is enabled.",
     "error.could.not.enable.zone": "Could not enable zone",
     "error.installWizard.message": "Something went wrong; you may go back and 
correct any errors",
     "error.invalid.username.password": "Invalid username or password",
diff --git a/ui/l10n/ca.js b/ui/l10n/ca.js
index 958e2cd..a2f8fd4 100644
--- a/ui/l10n/ca.js
+++ b/ui/l10n/ca.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Changed item properties",
     "confirm.enable.s3": "Please fill in the following information to enable 
support for S3-backed Secondary Storage",
     "confirm.enable.swift": "Si us plau ompliu la següent informació per 
habilitar el suport per a Swift",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Error 
could not change your password because LDAP is enabled.",
+    "error.could.not.change.your.password.because.non.native.user": "Error 
could not change your password because LDAP is enabled.",
     "error.could.not.enable.zone": "Could not enable zone",
     "error.installWizard.message": "Quelcom ha fallat, vostè pot tornar enrere 
i corregir els errors detalls suggerime",
     "error.invalid.username.password": "Invalid username or password",
diff --git a/ui/l10n/de_DE.js b/ui/l10n/de_DE.js
index fb3e110..0df5861 100644
--- a/ui/l10n/de_DE.js
+++ b/ui/l10n/de_DE.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Geänderte Eintragseigenschaften",
     "confirm.enable.s3": "Bitte fügen Sie die folgenden Informationen hinzu, 
um die Unterstützung für \"S3-backed Secondary Storage\" hinzuzufügen",
     "confirm.enable.swift": "Bitte fügen Sie die folgenden Informationen 
hinzu, um die Unterstützung für Swift zu ermöglichen.",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Fehler! 
Ihr Passwort konnte nicht geändert werden, weil LDAP konfiguriert wurde.",
+    "error.could.not.change.your.password.because.non.native.user": "Fehler! 
Ihr Passwort konnte nicht geändert werden, weil LDAP konfiguriert wurde.",
     "error.could.not.enable.zone": "Zone konnte nicht aktiviert werden",
     "error.installWizard.message": "Etwas ging schief; Sie können zurückgehen 
um mögliche Fehler zu beheben",
     "error.invalid.username.password": "Ungültiger Benutzername oder 
ungültiges Passwort",
diff --git a/ui/l10n/en.js b/ui/l10n/en.js
index c71c7c1..125e96d 100644
--- a/ui/l10n/en.js
+++ b/ui/l10n/en.js
@@ -19,7 +19,7 @@ var dictionary = {"ICMP.code":"ICMP Code",
 "changed.item.properties":"Changed item properties",
 "confirm.enable.s3":"Please fill in the following information to enable 
support for S3-backed Secondary Storage",
 "confirm.enable.swift":"Please fill in the following information to enable 
support for Swift",
-"error.could.not.change.your.password.because.ldap.is.enabled":"Error could 
not change your password because LDAP is enabled.",
+"error.could.not.change.your.password.because.non.native.user":"Error could 
not change your password because user is not a native CloudStack user.",
 "error.could.not.enable.zone":"Could not enable zone",
 "error.installWizard.message":"Something went wrong; you may go back and 
correct any errors",
 "error.invalid.username.password":"Invalid username or password",
diff --git a/ui/l10n/es.js b/ui/l10n/es.js
index c311cd4..eee421f 100644
--- a/ui/l10n/es.js
+++ b/ui/l10n/es.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Cambiadas las propiedades del elemento",
     "confirm.enable.s3": "Por favor, complete la siguiente información para 
habilitar el soporte del Almacenamiento Secundario sobre S3",
     "confirm.enable.swift": "Por favor, complete la siguiente información para 
habilitar el soporte para Swift",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Error, no 
se puede cambiar la contraseña porque LDAP esta activado",
+    "error.could.not.change.your.password.because.non.native.user": "Error, no 
se puede cambiar la contraseña porque LDAP esta activado",
     "error.could.not.enable.zone": "No se pudo habilitar la zona",
     "error.installWizard.message": "Algo salio mal, debes ir para atrás y 
corregir los errores.",
     "error.invalid.username.password": "Usuario o contraseña invalido",
diff --git a/ui/l10n/fr_FR.js b/ui/l10n/fr_FR.js
index 18b5b43..8a03fb0 100644
--- a/ui/l10n/fr_FR.js
+++ b/ui/l10n/fr_FR.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Propriétés de l'élément modifiées",
     "confirm.enable.s3": "Remplir les informations suivantes pour activer le 
support de stockage secondaire S3",
     "confirm.enable.swift": "Remplir les informations suivantes pour activer 
Swift",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Erreur: 
impossible de changer votre mot de passe car le mode LDAP est activé.",
+    "error.could.not.change.your.password.because.non.native.user": "Erreur: 
impossible de changer votre mot de passe car le mode LDAP est activé.",
     "error.could.not.enable.zone": "Impossible d'activer la zone",
     "error.installWizard.message": "Une erreur s'est produite ; vous pouvez 
retourner en arrière et corriger les erreurs",
     "error.invalid.username.password": "Identifiant ou mot de passe invalide",
diff --git a/ui/l10n/hu.js b/ui/l10n/hu.js
index d884fc2..726cab8 100644
--- a/ui/l10n/hu.js
+++ b/ui/l10n/hu.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Az elem tulajdonságai megváltoztak",
     "confirm.enable.s3": "Töltsd ki a következő információkat az S3 másodlagos 
tár bekapcsolásához!",
     "confirm.enable.swift": "Töltsd ki a következő információkat a Swift 
támogatás bekapcsolásához!",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Nem 
sikerült megváltoztatni a jelszavadat, mert az LDAP be van kapcsolva.",
+    "error.could.not.change.your.password.because.non.native.user": "Nem 
sikerült megváltoztatni a jelszavadat, mert az LDAP be van kapcsolva.",
     "error.could.not.enable.zone": "A zóna engedélyezése sikertelen",
     "error.installWizard.message": "Valami nem sikerült, visszamehetsz 
kijavítani a hibákat.",
     "error.invalid.username.password": "Érvénytelen felhasználónév vagy 
jelszó",
diff --git a/ui/l10n/it_IT.js b/ui/l10n/it_IT.js
index 3ce6caf..71875a3 100644
--- a/ui/l10n/it_IT.js
+++ b/ui/l10n/it_IT.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Elementi delle proprietà modificati",
     "confirm.enable.s3": "Si prega di inserire i valori richiesti per 
abilitare il supporto per il Secondary Storage di tipo S3",
     "confirm.enable.swift": "Si prega di inserire i valori richiesti per 
abilitare il supporto per Swift",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Errore 
non è possibile cambiare la tua password perchè LDAP è abilitato.",
+    "error.could.not.change.your.password.because.non.native.user": "Errore 
non è possibile cambiare la tua password perchè LDAP è abilitato.",
     "error.could.not.enable.zone": "Impossibile abilitare la zona",
     "error.installWizard.message": "E' stato rilevato un errore: tornare agli 
step precedenti e correggere gli errori",
     "error.invalid.username.password": "Username o Password non valida",
diff --git a/ui/l10n/ja_JP.js b/ui/l10n/ja_JP.js
index 797b351..5a55e87 100644
--- a/ui/l10n/ja_JP.js
+++ b/ui/l10n/ja_JP.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "項目のプロパティの変更",
     "confirm.enable.s3": "S3 ベースのセカンダリ ストレージのサポートを有効にするには、次の情報を入力してください。",
     "confirm.enable.swift": "Swift のサポートを有効にするには、次の情報を入力してください。",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "エラー。LDAP 
が有効なためパスワードを変更できません。",
+    "error.could.not.change.your.password.because.non.native.user": "エラー。LDAP 
が有効なためパスワードを変更できません。",
     "error.could.not.enable.zone": "ゾーンを有効にできませんでした",
     "error.installWizard.message": "問題が発生しました。戻ってエラーを修正できます。",
     "error.invalid.username.password": "無効なユーザー名またはパスワードです。",
diff --git a/ui/l10n/ko_KR.js b/ui/l10n/ko_KR.js
index 5cd6d12..ca22238 100644
--- a/ui/l10n/ko_KR.js
+++ b/ui/l10n/ko_KR.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "항목 속성 변경",
     "confirm.enable.s3": "S3 기반 2차 저장소 지원을 하려면 아래 정보를 입력해 주십시오.",
     "confirm.enable.swift": "Swift 기술 지원를 사용 하려면 다음 정보를 입력해 주십시오.",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "LDAP 기능이 
활성화 되어 있기 때문에 패스워드 변경을 실패하였습니다.",
+    "error.could.not.change.your.password.because.non.native.user": "LDAP 기능이 
활성화 되어 있기 때문에 패스워드 변경을 실패하였습니다.",
     "error.could.not.enable.zone": "Zone을 사용 할 수 없습니다.",
     "error.installWizard.message": "문제가 발생했습니다. 다시 오류를 수정할 수 있습니다.",
     "error.invalid.username.password": "유효하지 않은 사용자명 또는 암호",
diff --git a/ui/l10n/nb_NO.js b/ui/l10n/nb_NO.js
index 7304a11..801ce7f 100644
--- a/ui/l10n/nb_NO.js
+++ b/ui/l10n/nb_NO.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Endrede egenskaper",
     "confirm.enable.s3": "Vennligst fyll inn følgende informasjon for å 
aktivere støtte for S3-støttet sekundærlagring",
     "confirm.enable.swift": "Vennligst fyll inn følgende informasjon for å 
aktivere støtte for Swift",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Feil 
kunne ikke bytte ditt passord fordi LDAP er aktivert.",
+    "error.could.not.change.your.password.because.non.native.user": "Feil 
kunne ikke bytte ditt passord fordi LDAP er aktivert.",
     "error.could.not.enable.zone": "Kunne ikke aktivere sonen",
     "error.installWizard.message": "Noe gikk galt. Gå tilbake og korriger 
feilene.",
     "error.invalid.username.password": "Ugyldig brukernavn eller passord",
diff --git a/ui/l10n/nl_NL.js b/ui/l10n/nl_NL.js
index ccf27cc..10456e8 100644
--- a/ui/l10n/nl_NL.js
+++ b/ui/l10n/nl_NL.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Item eigenschappen gewijzigd",
     "confirm.enable.s3": "Vul de volgende informatie in om ondersteuning voor 
S3-aangestuurde Secundaire Opslag te activeren",
     "confirm.enable.swift": "Vul de volgende informatie in om ondersteuning 
voor Swift te activeren",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Fout. Kan 
wachtwoord niet wijzigen omdat LDAP is uitgeschakeld.",
+    "error.could.not.change.your.password.because.non.native.user": "Fout. Kan 
wachtwoord niet wijzigen omdat LDAP is uitgeschakeld.",
     "error.could.not.enable.zone": "Kon zone niet activeren",
     "error.installWizard.message": "Er ging iets mis; je kunt teruggaan om de 
eventuele fouten te herstellen",
     "error.invalid.username.password": "Ongeldige gebruikersnaam of 
wachtwoord",
diff --git a/ui/l10n/pl.js b/ui/l10n/pl.js
index bd2e3a3..80bc1f3 100644
--- a/ui/l10n/pl.js
+++ b/ui/l10n/pl.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Changed item properties",
     "confirm.enable.s3": "Please fill in the following information to enable 
support for S3-backed Secondary Storage",
     "confirm.enable.swift": "Please fill in the following information to 
enable support for Swift",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Error 
could not change your password because LDAP is enabled.",
+    "error.could.not.change.your.password.because.non.native.user": "Error 
could not change your password because LDAP is enabled.",
     "error.could.not.enable.zone": "Could not enable zone",
     "error.installWizard.message": "Something went wrong; you may go back and 
correct any errors",
     "error.invalid.username.password": "Błędna nazwa użytkownika lub hasło",
diff --git a/ui/l10n/pt_BR.js b/ui/l10n/pt_BR.js
index 8d0198b..bc34f15 100644
--- a/ui/l10n/pt_BR.js
+++ b/ui/l10n/pt_BR.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Propriedades do item alteradas",
     "confirm.enable.s3": "Por favor, preencha as informações abaixo para 
habilitar suporte o Storage Secundário fornecido por S3",
     "confirm.enable.swift": "Por favor, preencha as informações abaixo para 
habilitar suporte ao Swift",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Erro: a 
nuvem não alterou sua senha porque o LDAP está ativo.",
+    "error.could.not.change.your.password.because.non.native.user": "Erro: a 
nuvem não alterou sua senha porque o LDAP está ativo.",
     "error.could.not.enable.zone": "Não foi possível habilitar a zona",
     "error.installWizard.message": "Alguma coisa está errada; você pode voltar 
e corrigir quaisquer erros",
     "error.invalid.username.password": "Usuário ou senha inválidos",
diff --git a/ui/l10n/ru_RU.js b/ui/l10n/ru_RU.js
index 2c5b1a6..f9fd5db 100644
--- a/ui/l10n/ru_RU.js
+++ b/ui/l10n/ru_RU.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "Параметры элемента изменены",
     "confirm.enable.s3": "Заполните информацию для включения  S3-совместимого 
дополнительного хранилища",
     "confirm.enable.swift": "Заполните нижеследующую информацию для включения 
поддержи Swift",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "Error 
could not change your password because LDAP is enabled.",
+    "error.could.not.change.your.password.because.non.native.user": "Error 
could not change your password because LDAP is enabled.",
     "error.could.not.enable.zone": "Не удалось включить зону",
     "error.installWizard.message": "Что-то не так. Вернитесь назад и исправьте 
ошибки.",
     "error.invalid.username.password": "Неправильній логин или пароль",
diff --git a/ui/l10n/zh_CN.js b/ui/l10n/zh_CN.js
index 2ba1c1f..54646b0 100644
--- a/ui/l10n/zh_CN.js
+++ b/ui/l10n/zh_CN.js
@@ -20,7 +20,7 @@ var dictionary = {
     "changed.item.properties": "更改项目属性",
     "confirm.enable.s3": "请填写以下信息以启用对 S3 支持的二级存储的支持",
     "confirm.enable.swift": "请填写以下信息以启用对 SWIFT 的支持",
-    "error.could.not.change.your.password.because.ldap.is.enabled": "错误。LDAP 
处于启用状态,无法更改您的密码。",
+    "error.could.not.change.your.password.because.non.native.user": "错误。LDAP 
处于启用状态,无法更改您的密码。",
     "error.could.not.enable.zone": "无法启用资源域",
     "error.installWizard.message": "出现问题;请返回并更正任何错误",
     "error.invalid.username.password": "用户名或密码无效",
diff --git a/ui/scripts/accounts.js b/ui/scripts/accounts.js
index 4488fdc..62cc625 100644
--- a/ui/scripts/accounts.js
+++ b/ui/scripts/accounts.js
@@ -1267,9 +1267,8 @@
                                         var complete = args.complete;
                                         var context = args.context;
 
-                                        if (isLdapEnabled()) {
-                                            cloudStack.dialog.notice({ 
message: _l('error.could.not.change.your.password.because.ldap.is.enabled') });
-                                        } else {
+                                        var userSource = 
context.users[0].usersource;
+                                        if (userSource == "native") {
                                             cloudStack.dialog.createForm({
                                                 form: {
                                                     title: 
'label.action.change.password',
@@ -1316,6 +1315,8 @@
                                                     });
                                                 }
                                             });
+                                        } else {
+                                            cloudStack.dialog.notice({ 
message: _l('error.could.not.change.your.password.because.non.native.user') });
                                         }
                                     }
                                 }

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to