Hi everyone,

I was trying to remove edit and delete access rights from feed messages. I tried this by modifying the object permission for this object "SocialMessages". However after some investigation I reached to the point that feed is not dependent on object permissions but is something that can be modified in client-modules (front-end). I would like to know if there is a way how to remove/disable the edit and delete button.

Thanks in advance :)

Like 0

Like

5 comments
Best reply

Luis Kateshi,

 

they can be overriden it depends on the approach it's done. For example try creating a module in configurations with the UsrSocialFeedUtilities name and the following code:

define("UsrSocialFeedUtilities", ["terrasoft", "SocialFeedUtilities"], function(Terrasoft) {
    Ext.override(Terrasoft.SocialFeedUtilities, {
        getPostCommentEditVisible: function() {
                    return false;
                },
        getPostCommentDeleteVisible: function() {
            return false;
        }
    });
    return {}; 
});

and then create a repalcing view model for the SocialFeed module with the following code (where we add the created UsrSocialFeedUtilities module as a dependency):

define("SocialFeed", ["UsrSocialFeedUtilities"],
	function() {
		return {
			properties: {},
			mixins: {},
			messages: {},
			attributes: {},
			methods: {},
			diff: []
		};
 });

refresh the page in the UI and check what happens. I am sure the edit and delete buttons will be hidden.

Hi Luis,

 

Indeed this can be done by overriding the logic of the getPostCommentEditVisible and getPostCommentDeleteVisible methods from the SocialFeedUtilities module. So you need to override these methods.

Hi Oleg,

Thanks for your reply. I already tried to do this but as I see it is not possible to create a replacing client-module for "SocialFeedUtilities". And the methods u mentioned (getPostCommentEditVisible and getPostCommentDeleteVisible) seem to be private and I don't think they can be overriden. 

 

/**

         * ########## ######### ###### ############## #########/###########.

         * @private

         */

        getPostCommentEditVisible: function() {

            return this.getPostCommentEditDeleteVisible();

        },

Luis Kateshi,

 

they can be overriden it depends on the approach it's done. For example try creating a module in configurations with the UsrSocialFeedUtilities name and the following code:

define("UsrSocialFeedUtilities", ["terrasoft", "SocialFeedUtilities"], function(Terrasoft) {
    Ext.override(Terrasoft.SocialFeedUtilities, {
        getPostCommentEditVisible: function() {
                    return false;
                },
        getPostCommentDeleteVisible: function() {
            return false;
        }
    });
    return {}; 
});

and then create a repalcing view model for the SocialFeed module with the following code (where we add the created UsrSocialFeedUtilities module as a dependency):

define("SocialFeed", ["UsrSocialFeedUtilities"],
	function() {
		return {
			properties: {},
			mixins: {},
			messages: {},
			attributes: {},
			methods: {},
			diff: []
		};
 });

refresh the page in the UI and check what happens. I am sure the edit and delete buttons will be hidden.

Thank you Oleg, it worked, I appreciate your help :)

Hi Oleg Drobina, can remove/disable the edit and delete button in feed message in a specific section like an opportunity only?

Show all comments
detail
lookup
select
Studio_Creatio
8.0

Im trying to replicate this feature the Accounts tab has in its Addresses detail which i'm trying to replicate on a similar detail on a custom section.

Like 1

Like

4 comments
Best reply

hi Oliver Crowe,



This is found in the "BaseAddressDetailV2" schema and the corresponding method for this functionality is getEditPages().

 

The below function can be modified/overridden in your corresponding address detail (Account Address or Contact Address).

Account Address - AccountAddressDetailV2

Contact Address - ContactAddressDetailV2

			/**
			 * @inheritdoc Terrasoft.BaseSchemaViewModel#getEditPages
			 * @overridden
			 */
			getEditPages: function() {
				var menuItems = this.Ext.create("Terrasoft.BaseViewModelCollection");
				var entityStructure = this.getEntityStructure(this.entitySchemaName);
				if (entityStructure) {
					var editPage = entityStructure.pages[0];
					var addressTypes = this.get("AddressTypes");
					addressTypes.each(function(addressType) {
						var id = addressType.get("Id");
						var caption = addressType.get("Name");
						var schemaName = editPage.cardSchema;
						var item = this.getButtonMenuItem({
							Caption: caption,
							Click: {bindTo: "addRecord"},
							Tag: id,
							SchemaName: schemaName
						});
						menuItems.add(id, item);
					}, this);
				}
				return menuItems;
			},

"Address Type" is a lookup that has the values appearing as "Actual, Legal, Shipping". Also you can customize values in this lookup as well.

 

 

 

BR,

Bhoobalan Palanivelu.

Greetings,



Could you kindly describe the feature in a bit more detail? What exact function are you trying to achieve with this detail? 

Mykhailo Zeleniuk,

 

Can you see the picture in my post? When you go to enter a new record to the detail it pops up with options from the Address Type field and automatically fills that in with the selected type.

hi Oliver Crowe,



This is found in the "BaseAddressDetailV2" schema and the corresponding method for this functionality is getEditPages().

 

The below function can be modified/overridden in your corresponding address detail (Account Address or Contact Address).

Account Address - AccountAddressDetailV2

Contact Address - ContactAddressDetailV2

			/**
			 * @inheritdoc Terrasoft.BaseSchemaViewModel#getEditPages
			 * @overridden
			 */
			getEditPages: function() {
				var menuItems = this.Ext.create("Terrasoft.BaseViewModelCollection");
				var entityStructure = this.getEntityStructure(this.entitySchemaName);
				if (entityStructure) {
					var editPage = entityStructure.pages[0];
					var addressTypes = this.get("AddressTypes");
					addressTypes.each(function(addressType) {
						var id = addressType.get("Id");
						var caption = addressType.get("Name");
						var schemaName = editPage.cardSchema;
						var item = this.getButtonMenuItem({
							Caption: caption,
							Click: {bindTo: "addRecord"},
							Tag: id,
							SchemaName: schemaName
						});
						menuItems.add(id, item);
					}, this);
				}
				return menuItems;
			},

"Address Type" is a lookup that has the values appearing as "Actual, Legal, Shipping". Also you can customize values in this lookup as well.

 

 

 

BR,

Bhoobalan Palanivelu.

Bhoobalan Palanivelu,

how exactly do you access address types? I m trying to implement this on EmploymentType, but I cannot access the values in employment type. 

Show all comments
Studio_Creatio
8.0

Hi Community,

 

In creatio charts, is there a way to shorten amount/count in y axis, suppose if it is one million instead of 1000000 we will show 1M for one hyndred thousand instead of 100000 we will show 100K. The display is not looking good for managers having all these zeros

 

 

Thanks

Like 3

Like

2 comments

Hello Fulgen, 

 

As of now such changes cannot be achieved with a help of basic system tools. We've registered a query for our responsible R&D team to consider implementing such functionality in the upcoming versions of the Application.

 

Best regards,

Anastasiia

Yes  +1 as high priority when presenting dashboards to management, it bothers ALL our clients, in terms of how they show numbers need a big revamp - we should be able to provide a fixed axis height or index, be able to show the numbers like here below in K or M, like 10M rather than 10000000. In terms of numbering presentation, dashboards in Creatio are really lagging behind a lot of equivalent software in graphs...

Show all comments
#ContactRole
Studio_Creatio
8.0

Hi Creatio,

 

I am trying to filter a specific contact by using ESQ by having multiple roles as filters. How can I able to achieve that on ESQ when I want to filter on Roles?

 

Here is my code:

var esq1 = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "SysUserInRole"
});
esq1.addColumn("SysRole.Name", "Role");
esq1.addColumn("SysUser.Contact.Id", "ContactId");
esq1.filters.add("RoleFilter1", esq1.createColumnFilterWithParameter(
	this.Terrasoft.ComparisonType.EQUAL, "SysRole.Name", "Role1"));
esq1.filters.add("RoleFilter2", esq1.createColumnFilterWithParameter(
	this.Terrasoft.ComparisonType.EQUAL, "SysRole.Name", "Role2"));
esq1.getEntityCollection(function(result) {
if (!result.success) {
	// For example, error processing/logging.
	this.showInformationDialog("Data query error");
	return;
}
var hasAQM = result.success && !result.collection.isEmpty();
 
if(hasAQM){
	this.set("HomartOpportunityAuthQuoteManager", result.collection.getByIndex(0).$ContactId)
}
 
}, this);

Thanks,

 

Like 0

Like

1 comments

Hello,

In your code you didn't set a logical operator for a filter:

esq1.filters.logicalOperation = Terrasoft.LogicalOperatorType.OR;

By default it's AND, due to that the system tries to find values that simultaneously have two roles in one record, but it's impossible.

For example, you have a user that has "Role 1" and "Role 2".

In the SysUserInRole table, this user will have two records, one with an identical SysUser value but a different SysRole. AND operation will not work in this situation. You need to use OR and in the result collection check the values that have the same SysUser.

Show all comments
8.0.6
Studio_Creatio
8.0

Hi Community,

 

I am trying to add a lookup column based on contact object, but unable to find the contact object. 

I have added the following package dependency,

 

I have also tried the same from Freedom UI designer, but unable to add. Is there something I am missing?

 

Regards,

Sourav

 

Like 0

Like

4 comments
Best reply

Hi Community,

 

Aparently the issue occured because the Contact section is not part of OOB creatio solution anymore (at least for Studio version). It is part of "Customer 360" marketplace app. So after installing the "Customer 360" maketplace add on the issue resolved.

 

Regards

Hi All,

 

Any comment on this ?

 

Regards,

Sourav

Hello!

Unfortunately, we did not manage to reproduce the problem on our end according to the steps above.

Please contact our support team (support@creatio.com). Please provide us with more details on how we can reproduce the issue.



Best regards,

Alona Dolya

Alona Dolya,

 

I could easily reproduce the issue just by creating a new Freedom UI section, and then trying to add a contact related column as shown below.

 

 

I am using Creatio Studio v8.0.6.3325

 

Regards,

Sourav

 

 

Hi Community,

 

Aparently the issue occured because the Contact section is not part of OOB creatio solution anymore (at least for Studio version). It is part of "Customer 360" marketplace app. So after installing the "Customer 360" maketplace add on the issue resolved.

 

Regards

Show all comments

Hi Community,

 

I was trying to filter a contact lookup to only display contacts with a specific role. I follow the example code here: https://academy.creatio.com/documents/technic-sdk/7-13/using-filtration-lookup-fields-examples but it has an error of undefined EntitySchema.

 

Can you help me to fix this? Thanks

 

Like 0

Like

2 comments
assembly
package
compile
Studio_Creatio
8.0

Hi,

 

I was trying to create Assemble Package and created one c# file which has dependencies on NewtonsoftJSON dll. When I tried to publish it says it required dll (attached reference). If we import the DLL into the current package it is working as expected but as per my understanding, we need to add the Assembly package dependencies on [Package name].csproj file.

 

I could see below code already presents there,



        

            False

        

        

            False

        

    

 

which means should we need to create any folder with Assemblies or we manually need to import all the package dependencies through import?

 

Thanks,

Altaf Hussian M

 

Like 0

Like

1 comments

Hi Altaf Hussian,



If it’s a regular package you can use the Newtonsoft.Json core library, but for the assembly package, the required DLL must be added to the package explicitly.



The Assembly package is like an external cs project.

If you want to use an external library like Newtonsoft.Json.dll in your project - you have to specify it as a reference for your project (using) by adding that dll to the package.



The same can be achieved by using the Terrasoft core class without adding any explicit dll reference into the package as below,

Example of the code:

using CommonJson = Terrasoft.Common.Json;
string orderItemsInput = CommonJson.Json.Serialize("YourObject");
string orderItemsInput = Terrasoft.Common.Json.Json.Serialize("yourObject");



Terrasoft.Common.Json

Serialize Polymorphism

 

 

BR,

Bhoobalan Palanivelu.

Show all comments
password
specialsymbols
Studio_Creatio
8.0

Hi community,

How can I  change the min password length for a user from 9 to 6?

And where can I find information about special symbols for passwords?

Like 0

Like

1 comments
Studio_Creatio
8.0

Hi community,

I've a package with object, client module etc inside.

 

I used the prefix Cus, now I want to reuse it for another project,

is it possible to change the prefix used for the customization developed inside it ?

Like 1

Like

2 comments

 Hello Stefano,

 

You can change the prefix in the SchemaNamePrefix system setting:

Hi Anastasia,

I know the system settings suggested.

I need to change the prefix for existing custom object

 

Show all comments
8.0
Development
Studio_Creatio

Hi Community,

 

I am trying to create a new freedom UI section from the application hub. After giving a name "Requests" for the section, the section gets created with the name. But in the backend the code of the object and its associated pages are auto generated in the format "UsrApp_qbm8q4f". 

 

 

Is there a way to generate the code as "Usr[SectionName]", every time I create a new section instead of some random auto generated text which is not a developer friendly code?

 

Regards,

Sourav

Like 3

Like

3 comments

Hello,

 

There is no possibility to change its code.

 

We've registered it in our R&D team backlog for consideration and implementation in future application releases. Thank you for helping us to improve our product.

Definitely needed for 8.1 ?

Hi Everyone,



Is this issue sorted? is there a way to stop the random code?



Regards

Deshan

Show all comments