Welcome to Good Training Sign in | Become a member - FREE!
 

SLX v 7.5 web access to change account ownership

Last post 01-21-2009, 4:23 PM by Mike Spragg. 8 replies.
Sort Posts:
  •  01-21-2009, 11:56 AM 1671

    SLX v 7.5 web access to change account ownership

    As a parent company, we support several versions of SalesLogix for the different companies we own.  We have recently deployed v 7.5 web for one company. All users are default owners for their account information.  Two corporate members need to have access to change account ownership for these profiles when needed. They have TEAM OWNER PROFILE in Administrator for the necessary profiles, and when I log in as them in Client, they have the elipsis to change account owner, however this change does not appear to be getting pushed out to the web.  I've noticed a lag time for some changes to appear on the web, but this one isn't showing.  Any thoughts?

  •  01-21-2009, 12:34 PM 1672 in reply to 1671

    Re: SLX v 7.5 web access to change account ownership

    I thought that 7.5 allowed any user (who was part of the team) to change profile? At least, it does on my demo system!
    I seem to recall you had to code that change.

    Could be wrong on that.

    I think this is a change of 7.5.1 to get Field Level Security, and - by its nature - this field too.

    Are you saying you see the reverse - no-one can change this field ? Are you sure you are looking at account and not contact ?

  •  01-21-2009, 1:00 PM 1673 in reply to 1672

    Re: SLX v 7.5 web access to change account ownership

    Mike - thanks for the quick reply.  One of the challenges is that the business does not want the users to be on teams, they only want them to have visibility to their own records unless they are a manager.  It appears that only the current owner of the account or the Admin can change the ownership to another user.  Definitely different from the other two versions we are running.  ?? 
  •  01-21-2009, 1:32 PM 1674 in reply to 1673

    Re: SLX v 7.5 web access to change account ownership

    Yes, you are right - it is different but, fairly "easy" to change (via business rules/code - some of which is posted to SLXDeveloper.com I believe) but, yes, at this time, definitely different.
  •  01-21-2009, 1:44 PM 1675 in reply to 1674

    Re: SLX v 7.5 web access to change account ownership

    Thanks again.

    I'll check there.

     

  •  01-21-2009, 2:22 PM 1676 in reply to 1675

    Re: SLX v 7.5 web access to change account ownership

    I don’t believe the team security features affect the web client interface in the way you want.  Team profile security is handled at the SLX provider level so if you have a field marked as read only for a given user’s profile the provider will not allow writing to that field for the user.  However, the web interface does not dynamically change like the LAN client does to reflect the field security.  I believe you would need to build a script in the Account detail form to make this change allowable.

     

  •  01-21-2009, 3:55 PM 1677 in reply to 1671

    Re: SLX v 7.5 web access to change account ownership

    IN 7.5 the web client determines if the Owner Lookup control is enabled or not based on the CanChangeOwner Account Entity business rule.  This rule is as follows:

    public static void CanChangeOwner(IAccount account, out bool result)
    {
        result = false;
        IUser user = ((SLXUserService) ApplicationContext.Current.Services.Get<IUserService>(true)).GetUser();
        Owner owner = null;
        try
        {
            owner = (Owner) account.Owner;
        }
        catch (ObjectNotFoundException)
        {
            result = false;
            return;
        }
        if (!(user.Id.ToString().Trim() == "ADMIN"))
        {
            if (owner.OwnerType == OwnerType.System)
            {
                if ((owner.Id == "SYST00000001") || (owner.Id == "SYST00000002"))
                {
                    result = false;
                }
                else
                {
                    result = false;
                }
            }
            if (owner.OwnerType == OwnerType.Team)
            {
                if (IsTeamLeader(owner, user))
                {
                    result = true;
                }
                else
                {
                    result = false;
                }
            }
            else if (owner.OwnerType == OwnerType.User)
            {
                if (owner.Id.ToString() == user.DefaultOwner.Id.ToString())
                {
                    result = true;
                }
                else
                {
                    result = false;
                }
            }
        }
        else
        {
            result = true;
        }
    }
    
    This routine returns true or false.  False if edits are not allowed. 
    Basically it checks if the current user is not Admin, within that if the current account is owned by System then it returns false.  If the Account is owned by a team then it checks if the user is a TeamLeader (meaning the user has Owner Securrity profile set.)  then it returns True otherwise false and if the account is owned by a user, only the default user (The person whos team it is) can change the owner.
    This rule could be replaced with custom rule but it can not be modified as it is contained in the base Sage.SalesLogix.BusinessRules.dll.
    This business rule is called on the Account Details Page Load event.
  •  01-21-2009, 4:08 PM 1678 in reply to 1677

    Re: SLX v 7.5 web access to change account ownership

    Good information!

    Thank you Kris.

  •  01-21-2009, 4:23 PM 1679 in reply to 1677

    Re: SLX v 7.5 web access to change account ownership

    Hi Kris

    If that is the case, how come, when I change on the eval db the ownership for Lee Hogan to be a normal read/write user (not team owner) - I still get to change the owner ? (even after iisreset). When I check in LAN - I don't get ability to change owner (which is correct) ?

    Regards
    Mike

     

View as RSS news feed in XML