From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pmg-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id 8EE541FF19B
	for <inbox@lore.proxmox.com>; Wed, 26 Feb 2025 15:08:05 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 7370B15A43;
	Wed, 26 Feb 2025 15:08:02 +0100 (CET)
From: Markus Frank <m.frank@proxmox.com>
To: pmg-devel@lists.proxmox.com
Date: Wed, 26 Feb 2025 15:07:40 +0100
Message-Id: <20250226140740.55612-14-m.frank@proxmox.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250226140740.55612-1-m.frank@proxmox.com>
References: <20250226140740.55612-1-m.frank@proxmox.com>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.012 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: [pmg-devel] [PATCH pmg-gui v8 13/13] user: add realm field for user
 creation
X-BeenThere: pmg-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox Mail Gateway development discussion
 <pmg-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pmg-devel>, 
 <mailto:pmg-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pmg-devel/>
List-Post: <mailto:pmg-devel@lists.proxmox.com>
List-Help: <mailto:pmg-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel>, 
 <mailto:pmg-devel-request@lists.proxmox.com?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: pmg-devel-bounces@lists.proxmox.com
Sender: "pmg-devel" <pmg-devel-bounces@lists.proxmox.com>

Signed-off-by: Markus Frank <m.frank@proxmox.com>
---
 js/UserEdit.js | 47 ++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 40 insertions(+), 7 deletions(-)

diff --git a/js/UserEdit.js b/js/UserEdit.js
index bd94686..4c1e540 100644
--- a/js/UserEdit.js
+++ b/js/UserEdit.js
@@ -29,6 +29,26 @@ Ext.define('PMG.UserEdit', {
 	};
     },
 
+    viewModel: {
+	data: {
+	    realm: 'pmg',
+	},
+	formulas: {
+	    maySetPassword: function(get) {
+		let realm = get('realm');
+
+		let view = this.getView();
+		let realmStore = view.down('pmxRealmComboBox').getStore();
+		if (realmStore.isLoaded()) {
+		    let rec = realmStore.findRecord('realm', realm, 0, false, true, true);
+		    return rec.data.type === 'pmg' && view.isCreate;
+		} else {
+		    return view.isCreate;
+		}
+	    },
+	},
+    },
+
     items: {
 	xtype: 'inputpanel',
 	column1: [
@@ -58,9 +78,9 @@ Ext.define('PMG.UserEdit', {
 			field.next().validate();
                     },
 		},
-		cbind: {
-		    hidden: '{!isCreate}',
-		    disabled: '{!isCreate}',
+		bind: {
+		    hidden: '{!maySetPassword}',
+		    disabled: '{!maySetPassword}',
 		},
 	    },
 	    {
@@ -72,9 +92,9 @@ Ext.define('PMG.UserEdit', {
 		initialPassField: 'password',
 		allowBlank: false,
 		submitValue: false,
-		cbind: {
-		    hidden: '{!isCreate}',
-		    disabled: '{!isCreate}',
+		bind: {
+		    hidden: '{!maySetPassword}',
+		    disabled: '{!maySetPassword}',
 		},
 	    },
 	    {
@@ -111,6 +131,19 @@ Ext.define('PMG.UserEdit', {
 	],
 
 	column2: [
+	    {
+		xtype: 'pmxRealmComboBox',
+		reference: 'realmfield',
+		name: 'realm',
+		baseUrl: '/access/auth-realm',
+		bind: {
+		    value: '{realm}',
+		},
+		cbind: {
+		    disabled: '{!isCreate}',
+		    hidden: '{!isCreate}',
+		},
+	    },
 	    {
 		xtype: 'proxmoxtextfield',
 		name: 'firstname',
@@ -170,7 +203,7 @@ Ext.define('PMG.UserEdit', {
 	}
 
 	if (me.isCreate) {
-	    values.userid = values.username + '@pmg';
+	    values.userid = values.username + '@' + values.realm;
 	}
 
 	delete values.username;
-- 
2.39.5



_______________________________________________
pmg-devel mailing list
pmg-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel