{"id":231,"date":"2010-06-06T10:12:00","date_gmt":"2010-06-06T10:12:00","guid":{"rendered":"http:\/\/www.greytrix.com\/blogs\/sagecrm\/?p=231"},"modified":"2010-06-06T10:12:00","modified_gmt":"2010-06-06T10:12:00","slug":"enhanced-data-security-restriction-on-custom-entity-screen-buttons","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/","title":{"rendered":"Enhanced Data Security \u2013 Restriction on Custom entity screen buttons"},"content":{"rendered":"<p>Data security and data maintenance is very much important in today\u2019s world.  Many organizations follow the concept of territorial structure while some still stick to basics and make the data of user from one territory available for viewing purpose for user in another territory. This user might not have permissions to modify the data, but still he\/she can view it. This phenomenon works well as the hierarchy of users increases and managing security rights for all of them becomes a cumbersome task.<\/p>\n<p>In order to keep the data secured based on the user hierarchy and the access rights set, Sage CRM has powerful tools like Territories, Security Profiles etc. These two functionalities manage user access rights on primary entities like Company, Person, Case, Opportunity, Communication and Lead. CRM identifies which user has rights to Insert\/Update\/Delete\/Edit that particular entity using Security profiles assigned to that user and accordingly make available the New\/Change\/Save buttons in CRM. The territory profile data used for this purpose is stored in the TerritoryPermission table in order to maintain the high level protection of data.<\/p>\n<p>Now consider the above scenario where standard behavior also needs to work for custom entities or the custom functionalities that we design. We can make the change and delete buttons disappear or appear based on the user rights set in the TerritoryPermissions table. This way we can ensure the standard level enhanced security mechanism in our custom actions also.<\/p>\n<p>In custom ASP page you can hide\/show the buttons based on the above security setting as well as your own custom conditions by using:<\/p>\n<p><span style=\"font-style: italic;\"><br \/>if(eWare.Button(&#8220;&#8221;,&#8221;&#8221;, &#8220;Item&#8221;,&#8221;CASES&#8221;,&#8221;EDIT&#8221;) &amp;&amp; Custom_Condition)<br \/>{<br \/> \/\/\u2019 Add Button<br \/> container.AddButton(CRM.Button(&#8220;AddProject&#8221;,&#8221;cancel.gif&#8221;,CRM.Url(&#8220;Project\/ProjectNew.asp&#8221;)+&#8221;&amp;T=find&amp;E=TestCase&#8221;));<br \/>}<br \/>else<br \/>{<br \/>\/\/\u2019 Do Nothing<br \/>}<\/span><\/p>\n<p>This works well when we have designed our page and we have all the code in hand, but what if we are working on standard inbuilt screens? Let\u2019s consider a scenario where we need to restrict the user from Person (primary entities) edit or need to hide\/show any custom button on Person standard screen.<\/p>\n<p>Here are some of the easy and straight forward steps that you can follow.<\/p>\n<p>1. You need to catch the custom condition at create script level.<br \/>2. Store the remove flag in one hidden variable.<br \/>3. Fetch the hidden value an client side. (page on load)<br \/>4. Based on hidden variable result hide\/show button.<\/p>\n<p>Some sample scenarios where this can work:<\/p>\n<p>1. Person entity is used extensively and it is integrated with Self Service. Now you want to make sure that once the Self Service is enabled for person, no one can change the person details apart from System Administrator. In short you need to hide\/show Change on the Person summary screen.<\/p>\n<p>2. Suppose Sage CRM is integrated with Sage ACCPAC ERP where the Company entity is used mainly. So you would like to make available the Change button only to the users having admin rights or any particular user.<\/p>\n<p>3. If you have added a custom button say \u201cPrint Order\u201d on the standard Opportunity screen and you would like to make it available only when the opportunity is in \u201cIn Progress\u201d state.<\/p>\n<p>This all can be achieved following through the steps above.<\/p>\n<p>You can also refer below link to find how you can remove\/retain standard buttons from screen.<br \/><span style=\"font-weight:bold;\"><br \/><span style=\"font-weight:bold;\">http:\/\/sagecrmaddons.blogspot.com\/2008\/11\/hide-new-note-button-under-notes-tab-of.html<span style=\"font-style:italic;\"><\/span><\/span><\/span><\/p>\n<p><marquee width=\"80%\"><b>If you find this content useful, Please drop us an email at <a title=\"mailto:crm@greytrix.com\" href=\"mailto:crm@greytrix.com\">crm@greytrix.com<\/a>. <\/b><\/marquee><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Data security and data maintenance is very much important in today\u2019s world. Many organizations follow the concept of territorial structure while some still stick to basics and make the data of user from one territory available for viewing purpose for user in another territory. This user might not have permissions to modify the data, but\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[500,640,2252,2430],"class_list":["post-231","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-action-button","tag-buttons","tag-security","tag-territory"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Enhanced Data Security \u2013 Restriction on Custom entity screen buttons - Sage CRM \u2013 Tips, Tricks and Components<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enhanced Data Security \u2013 Restriction on Custom entity screen buttons - Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"og:description\" content=\"Data security and data maintenance is very much important in today\u2019s world. Many organizations follow the concept of territorial structure while some still stick to basics and make the data of user from one territory available for viewing purpose for user in another territory. This user might not have permissions to modify the data, but\u2026 Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/\" \/>\n<meta property=\"og:site_name\" content=\"Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"article:published_time\" content=\"2010-06-06T10:12:00+00:00\" \/>\n<meta name=\"author\" content=\"greysagecrm\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"greysagecrm\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/\",\"name\":\"Enhanced Data Security \u2013 Restriction on Custom entity screen buttons - Sage CRM \u2013 Tips, Tricks and Components\",\"isPartOf\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\"},\"datePublished\":\"2010-06-06T10:12:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enhanced Data Security \u2013 Restriction on Custom entity screen buttons\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\",\"name\":\"Sage CRM \u2013 Tips, Tricks and Components\",\"description\":\"Explore the possibilities with Sage CRM insights through our comprehensive blogs. As a leading Sage partner, Greytrix helps businesses maximize their Sage CRM potential with its rich expertise and immense knowledge. Here, you will find blogs that feature expert advice, tips &amp; tricks, best practices, and comprehensive guides on customizing and configuring Sage CRM for your business. Stay informed with our regular updates and expert insights!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\",\"name\":\"greysagecrm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g\",\"caption\":\"greysagecrm\"},\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/author\/greysagecrm\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Enhanced Data Security \u2013 Restriction on Custom entity screen buttons - Sage CRM \u2013 Tips, Tricks and Components","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/","og_locale":"en_US","og_type":"article","og_title":"Enhanced Data Security \u2013 Restriction on Custom entity screen buttons - Sage CRM \u2013 Tips, Tricks and Components","og_description":"Data security and data maintenance is very much important in today\u2019s world. Many organizations follow the concept of territorial structure while some still stick to basics and make the data of user from one territory available for viewing purpose for user in another territory. This user might not have permissions to modify the data, but\u2026 Read More &raquo;","og_url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/","og_site_name":"Sage CRM \u2013 Tips, Tricks and Components","article_published_time":"2010-06-06T10:12:00+00:00","author":"greysagecrm","twitter_card":"summary_large_image","twitter_misc":{"Written by":"greysagecrm","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/","name":"Enhanced Data Security \u2013 Restriction on Custom entity screen buttons - Sage CRM \u2013 Tips, Tricks and Components","isPartOf":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website"},"datePublished":"2010-06-06T10:12:00+00:00","author":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f"},"breadcrumb":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/06\/06\/enhanced-data-security-restriction-on-custom-entity-screen-buttons\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/"},{"@type":"ListItem","position":2,"name":"Enhanced Data Security \u2013 Restriction on Custom entity screen buttons"}]},{"@type":"WebSite","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/","name":"Sage CRM \u2013 Tips, Tricks and Components","description":"Explore the possibilities with Sage CRM insights through our comprehensive blogs. As a leading Sage partner, Greytrix helps businesses maximize their Sage CRM potential with its rich expertise and immense knowledge. Here, you will find blogs that feature expert advice, tips &amp; tricks, best practices, and comprehensive guides on customizing and configuring Sage CRM for your business. Stay informed with our regular updates and expert insights!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f","name":"greysagecrm","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g","caption":"greysagecrm"},"url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/author\/greysagecrm\/"}]}},"_links":{"self":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/comments?post=231"}],"version-history":[{"count":0,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/231\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/media?parent=231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/categories?post=231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/tags?post=231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}