src-db/database/model/triggers/AD_FIELD_TRG.xml
author Asier Lostalé <asier.lostale@openbravo.com>
Wed, 04 Dec 2019 16:14:22 +0100
changeset 36849 580b8b292433
parent 20459 eac5354af6e4
permissions -rw-r--r--
related to BUG-42429: minor UI adjustments

For Discount > Order tab, Discount field:
- Do not show it in grid as it's the link to the parent
- Make it readonly
<?xml version="1.0"?>
  <database name="TRIGGER AD_FIELD_TRG">
    <trigger name="AD_FIELD_TRG" table="AD_FIELD" fires="after" insert="true" update="true" delete="false" foreach="row">
      <body><![CDATA[
    /*************************************************************************
    * The contents of this file are subject to the Compiere Public
    * License 1.1 ("License"); You may not use this file except in
    * compliance with the License. You may obtain a copy of the License in
    * the legal folder of your Openbravo installation.
    * Software distributed under the License is distributed on an
    * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
    * implied. See the License for the specific language governing rights
    * and limitations under the License.
    * The Original Code is  Compiere  ERP &  Business Solution
    * The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
    * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke,
    * parts created by ComPiere are Copyright (C) ComPiere, Inc.;
    * All Rights Reserved.
    * Contributor(s): Openbravo SLU
    * Contributions are Copyright (C) 2001-2008 Openbravo, S.L.U.
    *
    * Specifically, this derivative work is based upon the following Compiere
    * file and version.
    *************************************************************************
    * Insert AD_Field Trigger
    *  for Translation
    */
        
BEGIN
    
    IF AD_isTriggerEnabled()='N' THEN RETURN;
    END IF;

  IF INSERTING
    THEN
      INSERT
      INTO AD_Field_Trl
        (
          AD_Field_Trl_ID, AD_Field_ID, AD_Language, AD_Client_ID,
          AD_Org_ID, IsActive, Created,
          CreatedBy, Updated, UpdatedBy,
          Name, Description, Help,
          IsTranslated
        )
      SELECT get_uuid(), :new.AD_Field_ID,
        AD_Language.AD_Language, :new.AD_Client_ID, :new.AD_Org_ID,
        :new.IsActive, :new.Created, :new.CreatedBy,
        :new.Updated, :new.UpdatedBy, :new.Name,
        :new.Description, :new.Help, 'N'
      FROM AD_Language, ad_module m
      WHERE AD_Language.IsActive='Y'
        AND IsSystemLanguage='Y'
        and m.ad_module_id = :new.ad_module_id
        and m.ad_language != AD_Language.AD_Language;
 END IF;
 -- Inserting
 -- AD_Field update trigger
 --  synchronize name,... with Field if not centrally maintained
 IF UPDATING THEN
  IF(COALESCE(:old.Name, '.') <> COALESCE(:NEW.Name, '.')
  OR COALESCE(:old.Description, '.') <> COALESCE(:NEW.Description, '.')
  OR COALESCE(:old.Help, '.') <> COALESCE(:NEW.Help, '.'))
  AND :NEW.IsCentrallyMaintained='N'
 THEN
    UPDATE AD_Field_Trl
      SET IsTranslated='N'
      --   Updated=SysDate
    WHERE AD_Field_ID=:new.AD_Field_ID;
  END IF;
 END IF;
-- Updating
END AD_FIELD_TRG
]]></body>
    </trigger>
  </database>