I have a web page with 4 membership groups: landlords, owners, renters, and management companies. I create a form to update their information in the member’s area. However, the first line of the form is a radio button. It matches the 4 membership groups. What I want to do is lock it down. Example.
If I assign this user to the landlord group, I want the radio button landlord to be selected immediately and cannot be changed by the user
also i want the user to be able to see his data and update them from the same page. also if possibel if we can archive every entry he/she changes
I would say you have here several tasks.
Try to solve your issues always → STEP BY STEP.
And first some basic project-setup should be clear…
-You have 4x different groups (landlords, owners, renters, & managem comp.)
-You have a form. How do look like the form ? (screenshot?)
-You will surely have a database, where you store the DATA? (screenshot of related DB-excerpt) ?
-You have a radio-button → Radiobutton-Group ?
-Do you already use some CODE ?
If I assign this user to the landlord group
How do look like your assingment-process?
If I assign this user to the landlord group, I want the radio button landlord to be selected immediately…
https://www.wix.com/velo/reference/$w/radiobuttongroup/selectedindex
What I want to do is lock it down…
https://www.wix.com/velo/reference/$w/radiobuttongroup/enabled
ninja
i am willing to pay you to do this. I have few other stuff that i need to take care of. i will send you picture
here the code and i stopped
import wixUsers from ‘wix-users’ ;
import wixData from ‘wix-data’ ;
$w . onReady ( async function () {
let user = wixUsers . currentUser ;
let userId = user . id ;
let isLoggedIn = user . loggedIn ;
let bdowner = “7e2d47e8-bb14-4a56-8e1c-0daa24d136f3” ;
let bdmgm = “705d645d-70be-4ef5-bf6a-26fa4d8edaf6” ;
let bdlandlord = “6e57f37a-efc1-472d-b02e-80e1c5c3f465” ;
let bdrenter = “f734172c-dff0-4177-a1c6-8c691e1d1890” ;
wixData . query ( “Members/Badges” )
. find ()
. then ( ( results ) => {
if ( results . items . length > 0 ) {
let rdwonership = results . items [ 0 ]; //see item below
} else {
// handle case where no matching items found
}
})
. catch ( ( err ) => {
let errorMsg = err ;
});
await user . getEmail ()
. then ( ( email ) => {
let userEmail = email ;
wixData . query ( “FamilyInformation” )
. eq ( “email” , email )
. find ()
. then ( ( results ) => {
let currentMember = results . items [ 0 ];
$w ( ‘#email’ ). value = currentMember . email ;
//rdownership.show();
//= currentMember.status;
$w ( ‘#firstname’ ). value = currentMember . firstName ;
$w ( ‘#lastname’ ). value = currentMember . lastName ;
$w ( ‘#mainphonenumber’ ). value = currentMember . phoneNumber ;
$w ( ‘#unitnumber’ ). value = currentMember . unitNumber ;
$w ( ‘#storagenumber’ ). value = currentMember . storage ;
$w ( ‘#mgmland’ ). value = currentMember . managementCompanyName ;
$w ( ‘#address’ ). value = currentMember . address ;
$w ( ‘#city’ ). value = currentMember . city ;
$w ( ‘#state’ ). value = currentMember . state ;
$w ( ‘#zipcode’ ). value = currentMember . zipCode ;
$w ( ‘#othunit’ ). value = currentMember . otherUnit ;
$w ( ‘#spouse’ ). value = currentMember . spouseFriend ;
$w ( ‘#spousephnumber’ ). value = currentMember . spouseFriendPhoneNumber ;
$w ( ‘#kid1’ ). value = currentMember . kid1Name ;
$w ( ‘#kid1phnumber’ ). value = currentMember . kid1PhoneNumber ;
$w ( ‘#kid2’ ). value = currentMember . kid2Name ;
$w ( ‘#kid2phnumber’ ). value = currentMember . kid2phoneNumber ;
$w ( ‘#kid3’ ). value = currentMember . kid3Name ;
$w ( ‘#kid3phnumber’ ). value = currentMember . kid3PhoneNumber ;
$w ( ‘#pet1’ ). value = currentMember . pet1Type ;
$w ( ‘#pet1breed’ ). value = currentMember . pet1Breed ;
$w ( ‘#pet1w’ ). value = currentMember . pet1Weight ;
$w ( ‘#pet2’ ). value = currentMember . pet2Type ;
$w ( ‘#pet2breed’ ). value = currentMember . pet2Breed ;
$w ( ‘#pet2w’ ). value = currentMember . pet2Weight ;
$w ( ‘#parkingnumber’ ). value = currentMember . parkingNumber ;
$w ( ‘#vehicle1’ ). value = currentMember . vehicle1MakeModel ;
$w ( ‘#year1’ ). value = currentMember . vehicle1Year ;
$w ( ‘#license1’ ). value = currentMember . vehicle1Licenses ;
$w ( ‘#vehicle2’ ). value = currentMember . vehicle2MakeModel ;
$w ( ‘#year2’ ). value = currentMember . vehicle2Year ;
$w ( ‘#license2’ ). value = currentMember . vehicle2Licenses ;
});
});
});
Try something like this…
$w.onReady( async function() {
let user = wixUsers.currentUser; console.log("User-Data: ", user);
let userID = user.id; console.log("User-ID: ", userID);
let isLoggedIn = user.loggedIn;
user.getEmail()
.then( (email) => {
let userEmail = email; console.log("User-Email: ", userEmail);
setTimeout(()=>{
fillUserform(userID);
},50)
});
user.getRoles()
.then((roles) => {
let userRole = roles[0]; console.log("User-Role: ", userRole);
let roleName = userRole.name; console.log("Role-Name: ", roleName);
let roleDescription = userRole.description;
console.log("Role-Description: ", roleDescription);
setTimeout(()=>{checkRole(userRole);},50)
//check_Badges();
});
});
//Checks the role of user and sets the settings of RADIO-BUTTONS....
function checkRole(roleID){
let roleOwner = "7e2d47e8-bb14-4a56-8e1c-0daa24d136f3";
let roleRenter = "f734172c-dff0-4177-a1c6-8c691e1d1890";
let roleLandlord = "6e57f37a-efc1-472d-b02e-80e1c5c3f465";
let roleMGM = "705d645d-70be-4ef5-bf6a-26fa4d8edaf6";
if (roleID===roleRenter) {$w('#FormIDhere').selectedIndex=0}
if (roleID===roleOwner) {$w('#FormIDhere').selectedIndex=1}
if (roleID===roleLandlord) {$w('#FormIDhere').selectedIndex=2}
if (roleID===roleMGM) {$w('#FormIDhere').selectedIndex=3}
setTimeout(()=>{$w('#FormIDhere').disable()},3000);
}
Or something similar like that.