Ejemplo n.º 1
0
 /**
  *  Delete a contract line
  *
  *  @param	int		$idline		Id of line to delete
  *	@param  User	$user       User that delete
  *  @return int         		>0 if OK, <0 if KO
  */
 function deleteline($idline, $user)
 {
     global $conf, $langs;
     $error = 0;
     if ($this->statut >= 0) {
         // Call trigger
         $result = $this->call_trigger('LINECONTRACT_DELETE', $user);
         if ($result < 0) {
             return -1;
         }
         // End call triggers
         $this->db->begin();
         $sql = "DELETE FROM " . MAIN_DB_PREFIX . "contratdet";
         $sql .= " WHERE rowid=" . $idline;
         dol_syslog(get_class($this) . "::delete", LOG_DEBUG);
         $resql = $this->db->query($sql);
         if (!$resql) {
             $this->error = "Error " . $this->db->lasterror();
             $error++;
         }
         if (empty($error)) {
             // Remove extrafields
             if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) {
                 $contractline = new ContratLigne($this->db);
                 $contractline->id = $idline;
                 $result = $contractline->deleteExtraFields();
                 if ($result < 0) {
                     $error++;
                     $this->error = "Error " . get_class($this) . "::delete deleteExtraFields error -4 " . $contractline->error;
                 }
             }
         }
         if (empty($error)) {
             $this->db->commit();
             return 1;
         } else {
             dol_syslog(get_class($this) . "::delete ERROR:" . $this->error, LOG_ERR);
             $this->db->rollback();
             return -1;
         }
     } else {
         return -2;
     }
 }