<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://sugarclub.sugarcrm.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>How to freez/readonly strings of textarea on condition</title><link>https://sugarclub.sugarcrm.com/dev-club/f/questions-answers/1260/how-to-freez-readonly-strings-of-textarea-on-condition</link><description>Hi Everyone, I have created Textarea field, once data is entered by the any user, next time when some other user try to edit that textarea field it can be editable but old text area data given should not be removed (i&amp;#39;e freez)but can be extended. Does</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: How to freez/readonly strings of textarea on condition</title><link>https://sugarclub.sugarcrm.com/thread/5124?ContentTypeID=1</link><pubDate>Wed, 24 Oct 2018 12:32:45 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:a824819e-c8a4-4845-bfa5-c0950cc2880e</guid><dc:creator>Francesca Shiekh</dc:creator><description>&lt;p&gt;We use the concept of &amp;quot;work log&amp;quot; and &amp;quot;latest update&amp;quot;:&lt;/p&gt;&lt;p&gt;The user is allowed to enter data in the &amp;quot;Latest Update&amp;quot; field, when the record is saved the data is prepended to the Work Log (latest update first) with a timestamp and the user name. (the timestamp code can be improved)&lt;/p&gt;&lt;p&gt;The Work Log is read-only for all users. After it is copied, the &amp;quot;Latest Update&amp;quot; is cleared so that field is always empty.&lt;/p&gt;&lt;p&gt;A before_save logic hook takes care of copying the data from the Latest Update to the Work Log.&lt;/p&gt;&lt;pre class="language-php line-numbers"&gt;&lt;code&gt;&amp;nbsp; &lt;span class="keyword token"&gt;function&lt;/span&gt; &lt;span class="token function"&gt;update_log&lt;/span&gt;&lt;span class="punctuation token"&gt;(&lt;/span&gt;&lt;span class="variable token"&gt;$bean&lt;/span&gt;&lt;span class="punctuation token"&gt;,&lt;/span&gt;&lt;span class="variable token"&gt;$event&lt;/span&gt;&lt;span class="punctuation token"&gt;,&lt;/span&gt;&lt;span class="variable token"&gt;$arguments&lt;/span&gt;&lt;span class="punctuation token"&gt;)&lt;/span&gt; &lt;span class="punctuation token"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="keyword token"&gt;if&lt;/span&gt;&lt;span class="punctuation token"&gt;(&lt;/span&gt;&lt;span class="operator token"&gt;!&lt;/span&gt;&lt;span class="token function"&gt;empty&lt;/span&gt;&lt;span class="punctuation token"&gt;(&lt;/span&gt;&lt;span class="variable token"&gt;$bean&lt;/span&gt;&lt;span class="operator token"&gt;-&lt;/span&gt;&lt;span class="operator token"&gt;&amp;gt;&lt;/span&gt;&lt;span class="property token"&gt;latest_update_c&lt;/span&gt;&lt;span class="punctuation token"&gt;)&lt;/span&gt;&lt;span class="punctuation token"&gt;)&lt;/span&gt; &lt;span class="punctuation token"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="keyword token"&gt;global&lt;/span&gt; &lt;span class="variable token"&gt;$current_user&lt;/span&gt;&lt;span class="punctuation token"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="variable token"&gt;$timedate&lt;/span&gt; &lt;span class="operator token"&gt;=&lt;/span&gt; &lt;span class="keyword token"&gt;new&lt;/span&gt; &lt;span class="token class-name"&gt;TimeDate&lt;/span&gt;&lt;span class="punctuation token"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="variable token"&gt;$date&lt;/span&gt; &lt;span class="operator token"&gt;=&lt;/span&gt; &lt;span class="variable token"&gt;$timedate&lt;/span&gt;&lt;span class="operator token"&gt;-&lt;/span&gt;&lt;span class="operator token"&gt;&amp;gt;&lt;/span&gt;&lt;span class="token function"&gt;to_display_date_time&lt;/span&gt;&lt;span class="punctuation token"&gt;(&lt;/span&gt;&lt;span class="token function"&gt;gmdate&lt;/span&gt;&lt;span class="punctuation token"&gt;(&lt;/span&gt;&lt;span class="string token"&gt;&amp;quot;Y-m-d H:i:s&amp;quot;&lt;/span&gt;&lt;span class="punctuation token"&gt;,&lt;/span&gt; &lt;span class="token function"&gt;gmmktime&lt;/span&gt;&lt;span class="punctuation token"&gt;(&lt;/span&gt;&lt;span class="punctuation token"&gt;)&lt;/span&gt; &lt;span class="punctuation token"&gt;)&lt;/span&gt;&lt;span class="punctuation token"&gt;,&lt;/span&gt;&lt;span class="token boolean"&gt;true&lt;/span&gt;&lt;span class="punctuation token"&gt;,&lt;/span&gt;&lt;span class="token boolean"&gt;true&lt;/span&gt;&lt;span class="punctuation token"&gt;,&lt;/span&gt; &lt;span class="variable token"&gt;$current_user&lt;/span&gt;&lt;span class="punctuation token"&gt;)&lt;/span&gt;&lt;span class="punctuation token"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="variable token"&gt;$bean&lt;/span&gt;&lt;span class="operator token"&gt;-&lt;/span&gt;&lt;span class="operator token"&gt;&amp;gt;&lt;/span&gt;&lt;span class="property token"&gt;work_log_c&lt;/span&gt; &lt;span class="operator token"&gt;=&lt;/span&gt; &lt;span class="variable token"&gt;$date&lt;/span&gt; &lt;span class="punctuation token"&gt;.&lt;/span&gt;&lt;span class="string token"&gt;&amp;quot; - &amp;quot;&lt;/span&gt; &lt;span class="punctuation token"&gt;.&lt;/span&gt; &lt;span class="variable token"&gt;$current_user&lt;/span&gt;&lt;span class="operator token"&gt;-&lt;/span&gt;&lt;span class="operator token"&gt;&amp;gt;&lt;/span&gt;&lt;span class="property token"&gt;user_name&lt;/span&gt; &lt;span class="punctuation token"&gt;.&lt;/span&gt; &lt;span class="string token"&gt;&amp;quot;: &amp;quot;&lt;/span&gt; &lt;span class="punctuation token"&gt;.&lt;/span&gt; &lt;span class="variable token"&gt;$bean&lt;/span&gt;&lt;span class="operator token"&gt;-&lt;/span&gt;&lt;span class="operator token"&gt;&amp;gt;&lt;/span&gt;&lt;span class="property token"&gt;latest_update_c&lt;/span&gt; &lt;span class="punctuation token"&gt;.&lt;/span&gt; &lt;span class="string token"&gt;&amp;quot;\n&amp;quot;&lt;/span&gt; &lt;span class="punctuation token"&gt;.&lt;/span&gt; &lt;span class="variable token"&gt;$bean&lt;/span&gt;&lt;span class="operator token"&gt;-&lt;/span&gt;&lt;span class="operator token"&gt;&amp;gt;&lt;/span&gt;&lt;span class="property token"&gt;work_log_c&lt;/span&gt;&lt;span class="punctuation token"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="variable token"&gt;$bean&lt;/span&gt;&lt;span class="operator token"&gt;-&lt;/span&gt;&lt;span class="operator token"&gt;&amp;gt;&lt;/span&gt;&lt;span class="property token"&gt;latest_update_c&lt;/span&gt; &lt;span class="operator token"&gt;=&lt;/span&gt; &lt;span class="string token"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="punctuation token"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="punctuation token"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;span class="punctuation token"&gt;}&lt;/span&gt;&lt;span class="line-numbers-rows"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Hope this helps,&lt;br /&gt;FrancescaS&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>