We have added a new icon to the communication panel. We would like to disable click for users and also add a tool tip to display the hints to the user when they hover over the icon. Any help here will be great!
Thank you Bogdan! The tool tip works. However, to disable the click (prevent opening communication panel module), I returned empty function in onExampleButtonClick(). This is opening up a blank side panel. Is there a way we can disable clicking itself? If I dont give return empty function, there are errors in the console.
If you don't want users to click it you can simply hide this action using the "visible" parameter in the diff of the module. Like on the example below:
You can return false in the testCTIModuleVisible attribute and hide the action or create a function that will hide it for some users.
Or you can override the onMenuItemClick function and if the selectedItemTag variable is your custom CTI panel action then return false in this function.
Thanks Oscar. The purpose of this icon is to just notify the users of a particular event which happens when we get a notification through API. Since the communication panel is visible throughout the platform, irrespective of the section the user is currently at, we have added this icon as a notification. Therefore we need it to be visible when the said event occurs but prohibit users from clicking it. Is that possible?
Then you need to perform the modification of onMenuItemClick function as I mentioned in the previous post. Please debug its logic and add your own CTI panel element to the function logic modification.
In the Contacts section, I need to filter all the contacts that ever got emails Titled "Thanks" (NOT bulk emails, just simple emails). These emails are displayed here:
I tried any available lookup, yet no success. Which object should be used?
Roman, that doesn't work for me! That gives only a few contacts. For instance, Darren is not among them. I suspect the contacts don't have activities, just emails. What table stores the emails?
We have reproduced the issue and submitted it to the responsible team. As soon as they are done with the issue analysis, we will get back to you with a solution.
Is it possible to have multiple current jobs in different accounts for one contact? E.g. a contact works for two companies (two accounts). One account will be the primary account, but the contact is not shown in the other not-primary account. We want to show the contact as a contact for both accounts.
You can create separate detail in the contact section that will show connections between contacts and accounts if there are multiple connections. You can also use the Relationship tab, But one contact can be primary only for one account, and in OOB fields it will always be connected to one account.
As far as I know there are no known examples of such integration with Creatio.
However, you can check these academy articles which can be pretty useful in case if you want to configure landing pages or create any integrations with your Creatio system:
Here is the article with instructions on how to set-up your landing page to integrate with Creatio
And this article will be useful in case if you need to create an integration between your website and Creatio.
No, the is no such mechanism that could take data from multiple places in the system, make a report out of it and send it, for example, in an email. There are only some partial workarounds that I've sent but they work separately.
I am facing an issue with object permissions and seeking verification.
I added 'Dashboards' section in a workplace available for multiple organizational roles and despite only one of them requires visibility and the rest not having any operational permissions in SysDashboard object, they are still able to see the empty section in their workplace. See below:
This issue could occur if users received some roles via role heritage. To find its source check carefully all roles to check if the user who sees this section is not managing a role that should be able to see it.
So I made a script to pull data from the SQL log. I need to get that data to a local file. I started to set it on a timer- but then was at a loss on how to move the process any further.
So you made the script that takes the logs from the website database server through Creatio? Could you please explain your business task?
As far as I understand, your user need to have DB admin rights to get the SQL server logs to call for them through Creatio DB. But what is the purpose of getting logs trough Creatio, if your DB user already has admin rights to get them from DB server? If you want to implement it to cloud instance, unfortunately you will not be able get the logs due to lack of rights.
So this is how I understood your idea of getting logs. If I understood you incorrectly, could you please give some more details on your task so that I could think of some solution?
Is there a way to send browser notifications (as seen in the image attached) through javascript? Our use case is that when our webservice receives a response from client, we use Message Channel Utilities to send message from server to client. When client receives the message, it should be able to trigger a browser notification
Creatio does have a module named DesktopPopupNotification which you can use for this if you'd like. It can handle the request for permissions (if not yet granted by the user/browser) and create the notification and handle a click of the notification. Something like this:
// in init call:
DesktopNotification.requestPermission();// to use, something like this:
var config ={
id: someId,
title: someTitle,
body: someSubject,
icon:this._getIcon(),
onClick:this.onDesktopNotificationClick,
ignorePageVisibility:true,
timeout:5000,
scope:this};
DesktopNotification.show(config);
Thank you for your response. I have implemented this and also permission to enable pop ups have been provided. yet, there is no notification. Could you please help?
Implementation details :
I have replaced communication panel and added dependency module - DesktopPopupNotification
The reason why it's not showing is likely because it doesn't have an icon defined. The DesktopPopupNotification module validates the config, if it doesn't have an icon defined, it exits out and doesn't show the notification (if you're in debug mode it shows this reason in the console, but that will only show if in debug mode)
If you want to add an icon to the images of your schema, let's say it has a name of UsrIcon, you can show it in the notification by adding this for the icon part of the config:
Is there a Freedom UI way to do this? Some of those params would only work on Classic UI pages, such as how you would specify the icon for the notification.
It looks like this functionality broadly still works on Freedom UI pages, the only bit I haven’t yet figured out is how to reference images uploaded to the page schema for the icon. For onClick, an arrow function can be used (e.g. onClick: () => { console.log(“notification clicked”); } ) and therefore the scope isn’t required to be passed, since arrow functions establish `this` based on the scope where they are defined and variables like the `request` are available within the arrow function.
There did seem to be some weirdness in the behaviour of the Windows notification at least – while it showed and played the sound and could be clicked, it would quickly disappear from the notification centre as soon as the popup notification had finished (but not been clicked) so users would have to click the popup in the short time it was showing if they needed something to happen when clicking it. Maybe there’s a better way to call these notifications in Freedom UI though?
As Ryan mentioned a bit earlier, the only way to work with notifications in Freedom UI with the help of JS is DesktopPopupNotification. I've decided to override the Accounts_FormPage to get the notification on any Account page opening with the possibility of clicking on this notification. Here is an example:
define("Accounts_FormPage", /**SCHEMA_DEPS*/["DesktopPopupNotification", "Accounts_FormPageResources"]/**SCHEMA_DEPS*/,
function/**SCHEMA_ARGS*/(DesktopPopupNotification, resources)/**SCHEMA_ARGS*/{
......................
handlers:/**SCHEMA_HANDLERS*/[{
request:"crt.HandleViewModelInitRequest",
handler: async (request, next)=>{
await next?.handle(request);const img = Terrasoft.ImageUrlBuilder.getUrl(resources.localizableImages.TheImageName);
var config ={
id:123456,
title:"Test notification",
body:"This is a test notification",
icon: img,
onClick: DesktopPopupNotification.getIsSupported,
ignorePageVisibility:true,
timeout:10000,
scope:this};
DesktopPopupNotification.showNotification(config);}}]/**SCHEMA_HANDLERS*/,
P.S. You can choose only public methods from DesktopPopupNotification (I've used getIsSupported)
I can see that it's possible to use arrow function notation to run any code you want, for example I can open a specific page by doing the following in the onClick property:
{
request:"Usr.TriggerNotification",
handler: async (request, next)=>{
var config ={
id:123456,
title:"New lead",
body:"click here to open the task",
icon:"https://www.creatio.com/sites/default/files/marketing/logo_creatio.svg",
onClick:()=>{const handlerChain = sdk.HandlerChainService.instance;
handlerChain.process({
type:"crt.UpdateRecordRequest",
entityName:"Lead",
$context: request.$context,
recordId:"ec8a7868-7e4a-40cd-ac32-9c53ee459c07"});},
ignorePageVisibility:true,
timeout:100000,
scope:this};
desktopNotify.showNotification(config);}}
The main limitation I see currently with the DesktopPopupNotification is that the notification doesn't persist in the desktop's notification centre - it dissappears after around 8-10 seconds (regardless of what time is specified in the timeout, whether it's set to 0 or whether the property is omitted entirely). Maybe there's some property I haven't seen that makes the desktop notification persist?
It seems my above comment may have been resolved in 8.1.3 or 8.1.2, as now I can generate notifications that never disappear from the Windows notification centre using a timeout value of -1, and other timeout values also work as expected. If the property is omitted or set to 0, it defaults to around 7 seconds.
I have a SysUserSession table as a detail view. The usecase is that when a time zone lookup is changed, the SessionStartDate and SessionEndDate should change values to the selected time zone.
Is there a way to manipulate the data on UI level?