Removing the "New Case" Button in the Portal Case Section

Hello, we want to force our portal users to create cases via email. So we want to remove the "New Case" button from their view in the Portal Cases Section.

We are on the cloud, if that makes a difference. How can we hide this button so it is not visible? Ideally, we would like to only hide it, and not delete it completely so if we ever want to use it in the future, it is easy to bring back into view. 

 

Like 0

Like

16 comments

Dear Mitch,

In order to remove the button form the portal section you need to indicate needed modifications in the diff section of the PortalCaseSection schema.

Please create a replacing client module for the PortalCaseSection and set "remove" operation for the SeparateModeAddRecordButton.

The code should look like this:

                {

                    "operation": "remove",

                    "name": "SeparateModeAddRecordButton"

                }

 

Regarads,

Anastasia

Anastasia Botezat,

Thank you.

What should I select as the Parent object? I assumed PortalCasesSection, however that is not an option.

Mitch Kaschub,

You should search by the schema title, but not name. PortalCaseSection is a name, but the title is:

Page schema - "Cases" section on Portal

 

Regards,

Anastasia

Hi Anastasia,

Thanks. I tried to create a new Replacing Client Module and selected Page schema - "Cases" section on Portal (Portal), however I get an error shown in the video. Is this because we already have a replacing client module in the custom package? Does that mean I should edit the Modifications Package in the module that's in the custom package? I tried that, but I am not sure if I put the code correctly. Can you review this video and advise what I am doing wrong?

http://recordit.co/8yXy9wJx7D

Anastasia Botezat,

Nevermind, I figured it out! I added the code to the already existing module in the custom package and it worked!

Anastasia Botezat,

I was able to successfully remove the green "New Case" button as I mentioned in my last comment. However, I've just now realized the main page on the portal has a link to "create a new case" as you can see here: 

http://recordit.co/Tyam8rVpmT

How can I remove that link? what is the schema I need to create a replacing module for? and what is the name of the item I need to use the remove operation for?

Mitch Kaschub,

The main portal page uses special modules, which you can setup. The module responsible for cases is called "UserCasesListModule". This is a basic functionality and you cannot override it, so to make link not clickable. 

In such situation you can do the following:

1. Set up access or operation rights the way, that portal users will not be allowed to create cases. 

2. Create your own module instead of the basic one. You can copy the logic of the basic module, but modify the part, where link is declared.

Regards,

Anastasia

Anastasia Botezat,

For option #2, would I create a "Replacing Client Module" and make UserCasesListModule the parent object? That doesn't seem to work, I get an warning message and then an error: http://recordit.co/4sWH5Rk1EV

Or instead, would I create a "Module" and copy paste the source code from the basic module? But then would I have to some how deactivate the basic module? or delete it?

Anastasia Botezat, Eugene Podkovka, 

I did find the code I need to modify here:

However I found I cannot create a replacing client module, system says it's not allowed. I understand I need to create a new module and copy the code. However I have not done this practice before, so hopefully you can help my resolve this more efficiently than having to read through the entire development guide. Are there any specific parts of a specific article that would directly apply to what I want to do?

Specifically what I'm looking for, is how do I make sure my new custom module gets used by the portal main page? Do I create the module like this in the Custom package: http://recordit.co/nsCkDWeohH ? Then how do I make sure the Portal main page loads from my new module instead of the original UserCasesListModule?

I am comfortable doing some trial in error since I am in my pre-prod environment since I can refresh the environment anytime if something goes wrong. 

Thanks for any advice!!!!

 

Mitch Kaschub,

There is no "fast" solution for that. Please investigate all development guide and create your own functionality that removes the button. Additionally, please deploy the application locally and investigate how other modules are connected to the system. Connect your one in the same way. Additionally, please learn how the Ext.js framework works (google it). You'll need it for the investigation.

You can't inherit a module because it was made via simple JS without bpm'online tools around it. That's why you see the inheritance in the code.

http://prntscr.com/n7rdpa

If you're not familiar with JS, MVVM framework and Ext.js, I recommend live the buttons on the pages and prevent creating cases with access rights. 

 

Eugene Podkovka,

Thank you Eugene. We have already changed portal user's access rights so they cannot create a new case. But still, the decision makers don't want the portal users to be able to see that button at all so I am continuing to look for a resolution. 

When you say, "deploy the application locally", are you referring to me installing bpm'online on premise? Currently our bpm online instance is hosted on the cloud. Does being on the cloud limit what I can all investigate and develop?

 

There are no limits, but on premise you can export c# and js modules and check how they work in the file system. Additionally, in the cloud you can't debug the code in the google chrome console. There are bundles there. On premise you'll see the modules separately in the google chrome developers tools. 

Anastasia Botezat, Eugene Podkovka,

What are the concerns with simply unlocking the Portal package and unlocking the UserCaseListModule schema and deleting this piece of code (shown below)?

I tried this in pre-production and was successful at removing the new button and everything else functions normally. 

I know it's not recommended to modify an out of the box package like this, why is that though? Will future upgrades not work correctly? Will bpm support stop supporting that package?

{

                                    "name": "dashboard-grid-createbutton",

                                    "classes": {

                                        "wrapClassName": ["default-widget-createbutton", config.style],

                                        "textClass": "dashboard-grid-createbutton"

                                    },

                                    "itemType": Terrasoft.ViewItemType.BUTTON,

                                    "caption": {

                                        "bindTo": "Resources.Strings.CreateButtonCaption"

                                    },

                                    "click": {

                                        "bindTo": "openAddCard"

                                    }

                                }

 

Mitch Kaschub,

The modified module will not be affected by the next upgrade. If bpm'online changes something in the schema in the next version then the functionality from the new release will not work and probably it will cause errors. 

Anastasia Botezat, Eugene Podkovka,

Thank you for the advice and recommendations. The solution I have decided to go with is to change the system setting "Portal Start Page" to [Portal Cases] instead of [Main Page]. Also in the system user section I changed the homepage for all of our individual portal users to [Portal Cases] instead of [Main Page]. Finally I removed Main Page from the portal workspace. Now when all of our current and future portal users log in to bpm, they go directly to the Portal Cases Section list page and they cannot navigate to Main Page where they would see the grid with the "New Case" buttons. 

I did not have to create a new module to replace the UserCasesListModule and I did not have to alter the original module. 

Thanks again for your suggestions.

Show all comments