New attribute added to the 'ModulesData.config' 'selectedUserContext' through
this attribute the left menu (UserAccountMenu) can be managed based on the selected user. The logged on user context (roles) finally determines if the menu item shows up or not. selectedUserContext attribute can contain "Administrator,Reseller,User"
This commit is contained in:
parent
268245d920
commit
089a62ce72
3 changed files with 33 additions and 11 deletions
|
@ -2,15 +2,15 @@
|
||||||
<ModulesData>
|
<ModulesData>
|
||||||
|
|
||||||
<ModuleData id="UserMenu">
|
<ModuleData id="UserMenu">
|
||||||
<MenuItem pageID="UserCustomers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
|
<MenuItem pageID="UserCustomers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller"/>
|
||||||
<MenuItem pageID="UserSpaces" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User"/>
|
<MenuItem pageID="UserSpaces" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
|
||||||
<MenuItem pageID="HostingPlans" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
|
<MenuItem pageID="HostingPlans" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller"/>
|
||||||
<MenuItem pageID="HostingAddons" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
|
<MenuItem pageID="HostingAddons" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller"/>
|
||||||
<MenuItem pageID="UserPeers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User"/>
|
<MenuItem pageID="UserPeers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
|
||||||
<MenuItem pageID="UserTasks" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User"/>
|
<MenuItem pageID="UserTasks" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
|
||||||
<MenuItem pageID="AuditLog" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User"/>
|
<MenuItem pageID="AuditLog" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
|
||||||
<MenuItem pageID="ecOnlineStore" roles="Reseller,ResellerCSR,ResellerHelpdesk,User" ecuser="true" />
|
<MenuItem pageID="ecOnlineStore" roles="Reseller,ResellerCSR,ResellerHelpdesk,User" selectedUserContext="Reseller,User" ecuser="true" />
|
||||||
<MenuItem pageID="ecEcommerceAdmin" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" ecadmin="true">
|
<MenuItem pageID="ecEcommerceAdmin" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller,User" ecadmin="true">
|
||||||
<MenuItems>
|
<MenuItems>
|
||||||
<MenuItem pageID="ecEcommerceSettings" ecommerce="true" />
|
<MenuItem pageID="ecEcommerceSettings" ecommerce="true" />
|
||||||
<MenuItem pageID="ecBillingCycles" />
|
<MenuItem pageID="ecBillingCycles" />
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
<MenuItem pageID="ecCustomersServices" />
|
<MenuItem pageID="ecCustomersServices" />
|
||||||
</MenuItems>
|
</MenuItems>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem pageID="ecMyEcommerce" ecuser="true" roles="Reseller,ResellerCSR,ResellerHelpdesk,User">
|
<MenuItem pageID="ecMyEcommerce" ecuser="true" roles="Reseller,ResellerCSR,ResellerHelpdesk,User" selectedUserContext="Reseller,User">
|
||||||
<MenuItems>
|
<MenuItems>
|
||||||
<MenuItem pageID="ecPaymentProfile" />
|
<MenuItem pageID="ecPaymentProfile" />
|
||||||
<MenuItem pageID="ecMyPayments" />
|
<MenuItem pageID="ecMyPayments" />
|
||||||
|
|
|
@ -290,6 +290,9 @@ namespace WebsitePanel.WebPortal
|
||||||
else
|
else
|
||||||
page.Roles.AddRange(xmlPage.Attributes["roles"].Value.Split(ROLES_DELIMITERS.ToCharArray()));
|
page.Roles.AddRange(xmlPage.Attributes["roles"].Value.Split(ROLES_DELIMITERS.ToCharArray()));
|
||||||
|
|
||||||
|
if (xmlPage.Attributes["selectedUserContext"] != null)
|
||||||
|
page.Roles.AddRange(xmlPage.Attributes["selectedUserContext"].Value.Split(ROLES_DELIMITERS.ToCharArray()));
|
||||||
|
|
||||||
page.Enabled = (xmlPage.Attributes["enabled"] != null) ? Boolean.Parse(xmlPage.Attributes["enabled"].Value) : true;
|
page.Enabled = (xmlPage.Attributes["enabled"] != null) ? Boolean.Parse(xmlPage.Attributes["enabled"].Value) : true;
|
||||||
page.Hidden = (xmlPage.Attributes["hidden"] != null) ? Boolean.Parse(xmlPage.Attributes["hidden"].Value) : false;
|
page.Hidden = (xmlPage.Attributes["hidden"] != null) ? Boolean.Parse(xmlPage.Attributes["hidden"].Value) : false;
|
||||||
page.SkinSrc = (xmlPage.Attributes["skin"] != null) ? xmlPage.Attributes["skin"].Value : null;
|
page.SkinSrc = (xmlPage.Attributes["skin"] != null) ? xmlPage.Attributes["skin"].Value : null;
|
||||||
|
|
|
@ -85,6 +85,10 @@ namespace WebsitePanel.Portal
|
||||||
string roles = null;
|
string roles = null;
|
||||||
if (node.Attributes["roles"] != null)
|
if (node.Attributes["roles"] != null)
|
||||||
roles = node.Attributes["roles"].Value;
|
roles = node.Attributes["roles"].Value;
|
||||||
|
|
||||||
|
string selectedUserContext = null;
|
||||||
|
if (node.Attributes["selectedUserContext"] != null)
|
||||||
|
selectedUserContext = node.Attributes["selectedUserContext"].Value;
|
||||||
|
|
||||||
// get custom page parameters
|
// get custom page parameters
|
||||||
XmlNodeList xmlParameters = node.SelectNodes("Parameters/Add");
|
XmlNodeList xmlParameters = node.SelectNodes("Parameters/Add");
|
||||||
|
@ -97,7 +101,22 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
bool display = true;
|
bool display = true;
|
||||||
// set user role visibility second
|
// set user role visibility second
|
||||||
if (!String.IsNullOrEmpty(roles))
|
if (!String.IsNullOrEmpty(selectedUserContext))
|
||||||
|
{
|
||||||
|
display = false;
|
||||||
|
string[] arrRoles = selectedUserContext.Split(',');
|
||||||
|
string userRole = PanelSecurity.SelectedUser.Role.ToString();
|
||||||
|
foreach (string role in arrRoles)
|
||||||
|
{
|
||||||
|
if (String.Compare(userRole, role, true) == 0)
|
||||||
|
{
|
||||||
|
display = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((!String.IsNullOrEmpty(roles)) & display)
|
||||||
{
|
{
|
||||||
display = false;
|
display = false;
|
||||||
string[] arrRoles = roles.Split(',');
|
string[] arrRoles = roles.Split(',');
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue