Предотвратить удаление некоторых продуктов - PullRequest
0 голосов
/ 25 апреля 2019

Здравствуйте. Я хочу отключить удаление или запретить им удалять определенные продукты в каком-либо модуле, когда пользователь нажимает кнопку удаления. Есть ли эксперты, которые знают это? Заранее благодарен за любую помощь.

нашел пример кода, пытаясь собрать его вместе, но я думаю, что чего-то более не хватает. извините, я довольно новичок в этом:

<?php

if (isset($_REQUEST['action'])
    && $_REQUEST['action'] == 'DetailView'){

    $sql = 'update AOS_Products set deleted = 0 where id ="'.$bean->id.'"p';
    $result = $GLOBALS['db']->query($sql);
    $GLOBALS['db']->fetchByAssoc($result);

} else{
    SugarApplication::appendErrorMessage("Warning: this product shouldn't be deleted.");
}

вот кнопка удаления, которую я хочу отключить. p1

также проверить элемент кнопки удаления: enter image description here

1 Ответ

0 голосов
/ 25 апреля 2019

Перед выполнением запроса необходимо указать, какой идентификатор продукта вы хотите защитить,

<?php

if (isset($_REQUEST['action'])
    && $_REQUEST['action'] == 'DetailView'){

   $arrayId = array(1, 2, 3, 4); //ids to protect

   $delete = True; //boolean used for check if delete or not
   foreach ($arrayId as $id) {
         if($bean->id == $id) //check if id to delete is one of the protected id's
         {  //looking the code i guess "$bean->id" have the product id
          $delete = False;
          }
   }

    if($delete)
    {
      //if true, run the query for delete
      $sql = 'update AOS_Products set deleted = 0 where id ="'.$bean->id.'"p';
     $result = $GLOBALS['db']->query($sql);
     $GLOBALS['db']->fetchByAssoc($result);
    }
    else
    {
       SugarApplication::appendErrorMessage("Warning: this product shouldn't be deleted.");
    }



} else{
    //Any message related to the reason of no access the first if
} 
.
...