How to disable "New Dashboard" feature for a user?

Hi,

We are using interactive dashboards in Sage CRM 7.1 SP2.

Since one profile of the users has been assigned to our external clients (business partners), I wanted to create as "lean" dashboard template for them as possible. I managed to create a safe setup using standard security parameters to ensure that sensitive data is not available to the specific user profile.

However, I didn't manage to disable the "New Dashboard" feature for them - I can't find any general / user security setting nor any dashboard template (or template category) setting that would allow/disallow it to be visible for a specific user profile.

So, regardless of being assigned to their "lean" dashboard template, the external users are still able to use the "New dashboard/Choose template" feature which allows them to create a copy of other existing (more complex) dashboard templates.

I couldn't find any solution to such case in the Community website. Is there any chance to solve it?

Thanks in advance,

Tomasz

  • 0

    Hi Tomasz,
    From your above post I understand that you want to disable dashboard feature for specific users. This can be achieved using the below steps.
    1 .Create a check box field and add the same on the User summary screen.
    2. Now, here admin can assign the dashboard rights to user based on the newly created checkbox condition. If admin wish to disable dashboard rights for a particular user, the admin has to enable this checkbox for that user
    3. Go to Advanced Customization à System Menus à User.

    4. Select the Dashboard tab and there is an SQL condition available on the right side. Here you can give the condition if checkbox is enabled for that user to disable or not allow the dashboard feature. i.e. user_notallowdashboard is null
    Hope this information helps!
    Regards
    Dinesh

  • 0

    Hi Dinesh,

    Thank you for your prompt reply. Unfortunately your solution is not what I'm looking for.

    By disabling access to Dashboard tab, the "New dashboard / Create dashboard or Choose Template" button located in the below block is still available for the user.

    What I want is to use an assigned interactive dashboard only, without the abovementioned feature for specific users.

    I tried using Advanced Customization\System Menus to use SQL filter for actions "runblock" and also "other" with "System Act" dashboard related available values, with no success.

    From my investigation I checked the page element and from the browser tracing file I found this to be recognized as:

    It seems I can't disable this element by means of standard system menu customization in Sage CRM.

    Am I wrong or can this be indeed only solved by an ASP customization?

    Best regards,

    Tomasz

  • 0

    I think the design philosophy was that a user who is allowed to access Interactive Dashboards should be able to design their own dashboard while allocated some default ones. This is to do with users self organising to design their best working environments for the tasks they have to do.

    I don't think there is a simple way of turning the 'New Dashboard' off.

    So we are left with code. The Dashboard is in a frame. The page that it calls includes the Client Side API and will include an custom script libraries you have added. So you should be able to use a mixture of the clientside API and JQuery to hide the button.

    The button is complex in that I there are several HTML elements all nested inside a table that draws the button each with their own 'ID'. You will need to experiment with which one is best for hiding the New Dashboard Button.

  • 0

    We got asked this too. Any answers forthcoming?

  • 0

    Did anyone find a solution for this?

    TIA,

    James

  • 0

    Jeff described what's required in his post above.

    You can create a .js file in the js/custom folder containing something like this:

    $(function() {
    var frm = $("#gwt_frame");
    frm.load(function() {
    $("#gwt_frame")
    .contents()
    .find(".x-btn-text:contains('New Dashboard')")
    .closest(".x-table-layout-cell")
    .hide();
    });
    });

    I've not included any checking for who the user is, it'll just run globally (easy enough to add that in). But that's generally the idea that Jeff was driving at.