Close dialog and execute automation script on same button (IBM Maximo) - dialog

Is there any workaround to execute an automation script over dialog in Maximo and next close it with dialogok event using the same push button?

It's probably not the answer you want to hear, but as of Maximo 7.6.0.8 (the latest version currently available), the only "workaround" would be a custom Java Bean class.

It's is possible to trigger two actions with one button. I've not tested it with automationscripts though....
For example use this in de button xml:
mxevent="dialogok" value="ROUTEWF"
You can add a sigoption with the same name as the action and make sure that you expand the 'Advanced Signature Options' section and set 'This is an action that must be invoked by user in the UI'.

You could create and object launch point automation script therefore when you click OK in the menu the object will be saved and the automation script triggered.
If you already know that some field is going to be update, you could do it with an attribute launch point for that object.

Related

How to sequence a custom action script after a specific dialog?

I have created a basic MSI project using InstallShield, I want to run a custom action script between two dialogs.
This shows my execute sequence, I want to move the custom action MyCustomActionScript to between the two dialogs indicated by the arrow.
How can I do this? Do I need to change things around somehow so that the dialogs are not nested (this is the way they are created naturally)? Or do I have to do something else, like run a DoAction on the target dialog? If so, will the execute sequence automatically move to the next dialog upon completion of the script, or do I have to script something to move the execution?
(Note that the script is a simple manipulation of the INSTALLDIR property, nothing complicated.)
Only the first dialog of the wizard loop is in the UI sequence. The rest are invoked by NewDialog control events. You want to look into the DoAction control event to invoke your custom action.
Custom actions scheduled in this fashion should only perform data acquisition / validation. Changes to the machine state should only occur in the execute sequence.
To run an action between LicenseAgreement and InstallSettings, you must indeed set up a control event DoAction. In this case you would add the DoAction on the behavior of LicenseAgreement's Next button so that it is invoked in the same scenarios that the Next button's NewDialog takes you to InstallSettings.

How can I add a bit of custom functionality to every CRM 2011 grid ribbon?

I have a small bit of custom functionality which I need to run from each and every grid ribbon in CRM 2011. The functionality is in a JS web-resource and I can attach it to a button enable rule and it all works fine.
The issue is that I need this to run on every grid in CRM, but I'm struggling to find something in the ribbon which appears on every screen. I did try attaching it to one of the buttons in the Jewel menu, but this only fires if the user clicks on the "File" tab.
Any thoughts...?
The jewel menu button is a good idea.
Add an anonymous JavaScript function to the library you are adding to the jewel button.
This will run when the library is loaded, just after the page loads:
var whatever = 30; // maybe you do not need a parameter
(function (what) {
/* Do what you need to do */
}(whatever));
If it’s on premise I‘d inject my script to the ribbon.js or global.js or some other js and ping from there.
Another option, less intrusive , is to use a resource that runs in each and every form i.e. myframewrok.js. This resource can check for the opener and inject the script to the opener dynamically.
A third options might be to ping a web service using a plug-in registered on execute or retrieve multiple messages which fire repeatedly for any grid in the system.
In the end we attached it to the "Advanced Find" button as this appeared on every ribbon that we needed the functionality on. The Jewel menu did not seem to work for us as it only fired when the user actually clicked the "File" button.

Openerp: How to disable a side menu(More) in form view while using ir.actions.server

I want to disable a menu from "More" options in form view while using action type "ir.actions.server".
How can i make it possible?
In case of action type "ir.actions.act_window" we can do it by multi = True. Is there any equivalent attribute or something exists for this?
Thanx in advance.
As siddharth jambukiya said, we can use a web module to do his. But there is an another method that can be done from python. If you look at the result of the function field_view_get of the model to which the server action belong, you an see that there is a key called "toolbar" in the fields_view_get result. This key contains all the details regarding the action in the "Print" and "More" dropdown in web client. So if you remove the server action from here, that server action wont be listed in the "More" dropdown.
You can remove any Menu from "More" using web client. you need to implement web module to remove option from More menu. i think no other alternative attribute exists in openerp.

Automatic show a dialog in ObjectListView, wxpython

I meet a problem in ObjectListView. When I choose some objects or use checkbox to choose them, the function on those objects will be called by pressing a button and utilizing GetCheckedObjects().
Is it possible for a dialog showed automatically when I choose or check an object like this?
If ObjectListView doesn't support that function, is there any other ways to realize it?
According to this previous SO question, the event that is triggered when a user clicks on a ObjectListView is the same as for a wx.ListCtrl, namely wx.EVT_LIST_ITEM_SELECTED.
So all you need to do is create your dialog (tutorials here and here) then bind a function to wx.EVT_LIST_ITEM_SELECTED that launches your dialog.

client message after SSJS routine how?

I have a Button that in SSJS send and Email...
Now I would if is possibile show the status of sending of email in real-time to the user:
sending process....
sending Successful or sending error
How Can i call a JS client codice from SSJS routine?
Have you any suggest?
If you are using ExtLib then you can also use the #WarningMessage('messageText') method.
You will need to add a section to the XPage to display the messages. It can be as simple as
<xp:messages id="messages1"></xp:messages>
Once added each call to #WarningMessage will add a line to the messages pane.
8.5.3 introduced a very nice approach:
view.postScript
you may insert any CSJS code you like from the SSJS code.
This is quite straightforward.
1. Add a Hidden Input control on your page, noting the id.
2. In your SSJS use getComponent("inputHidden1").setValue("This is the message")
3. Ensure the Hidden Input control is in the area being refreshed (otherwise the value doesn't get passed back to the browser, so can't be accessed in CSJS)
4. Go to the Source pane and place the cursor on or in the eventHandler that is triggering your SSJS. You need to do this to get to the onComplete event
5. In All Properties panel go to onComplete, add your CSJS there. e.g. alert(dojo.byId("#{id:inputHidden1}").value)
This will run your SSJS and on completion alert the user with whatever code is in the field.
For a demo and demo code, check out my blog post: http://www.intec.co.uk/xpages-calling-client-side-javascript-from-server-side-javascript/
Another way to do it besides Pauls answer is to use a dialog from the extlib, and you can call it from ssjs, put a field in a dialog and set it to a scope value and show the dialog.

Resources