[+] classes : New method ->attachProduct($id_product)
// Fix #PSTEST-699 // now new attachment are automatically linked to the current product
This commit is contained in:
@@ -94,9 +94,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
//displayFlags(languages, id_language, allowEmployeeFormLang);
|
$(document).ready(function(){
|
||||||
$(document).ready(function() {
|
|
||||||
|
|
||||||
$("#addAttachment").live('click', function() {
|
$("#addAttachment").live('click', function() {
|
||||||
$("#selectAttachment2 option:selected").each(function(){
|
$("#selectAttachment2 option:selected").each(function(){
|
||||||
var val = $('#arrayAttachments').val();
|
var val = $('#arrayAttachments').val();
|
||||||
|
|||||||
+20
-1
@@ -88,8 +88,10 @@ class AttachmentCore extends ObjectModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* deassociate $id_product from the current object
|
||||||
|
*
|
||||||
* @static
|
* @static
|
||||||
* @param $id_product
|
* @param $id_product int
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public static function deleteProductAttachments($id_product)
|
public static function deleteProductAttachments($id_product)
|
||||||
@@ -100,6 +102,23 @@ class AttachmentCore extends ObjectModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* associate $id_product to the current object.
|
||||||
|
*
|
||||||
|
* @param int $id_product id of the product to associate
|
||||||
|
* @return boolean true if succed
|
||||||
|
*/
|
||||||
|
public function attachProduct($id_product)
|
||||||
|
{
|
||||||
|
return Db::getInstance()->execute('
|
||||||
|
INSERT INTO '._DB_PREFIX_.'product_attachment
|
||||||
|
(id_attachment, id_product) VALUES
|
||||||
|
('.(int)$this->id.', '.(int)$id_product.')');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* associate an array of id_attachment $array to the product $id_product
|
||||||
|
* and remove eventual previous association
|
||||||
|
*
|
||||||
* @static
|
* @static
|
||||||
* @param $id_product
|
* @param $id_product
|
||||||
* @param $array
|
* @param $array
|
||||||
|
|||||||
@@ -371,11 +371,20 @@ class AdminProductsControllerCore extends AdminController
|
|||||||
if (Tools::strlen($attachment->file_name) > 128)
|
if (Tools::strlen($attachment->file_name) > 128)
|
||||||
$this->errors[] = Tools::displayError('File name too long');
|
$this->errors[] = Tools::displayError('File name too long');
|
||||||
if (empty($this->errors))
|
if (empty($this->errors))
|
||||||
$attachment->add();
|
{
|
||||||
|
$res = $attachment->add();
|
||||||
|
if (!$res)
|
||||||
|
$this->errors[] = Tools::displayError('Unable to add this attachment in the database');
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$id_product = (int)Tools::getValue($this->identifier);
|
||||||
|
$res = $attachment->attachProduct($id_product);
|
||||||
|
if (!$res)
|
||||||
|
$this->errors[] = Tools::displayErrors('Unable to associate this attachment to product');
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
$this->errors[] = Tools::displayError('Invalid file');
|
$this->errors[] = Tools::displayError('Invalid file');
|
||||||
if (Validate::isLoadedObject($attachment))
|
|
||||||
$this->redirect_after = self::$currentIndex.'&id_product='.Tools::getValue('id_product').(isset($_POST['id_category']) ? '&id_category='.(int)$_POST['id_category'] : '').'&conf=4&add'.$this->table.'&action=Attachments&token='.($token ? $token : $this->token);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -902,6 +911,7 @@ class AdminProductsControllerCore extends AdminController
|
|||||||
{
|
{
|
||||||
$this->action = 'addAttachments';
|
$this->action = 'addAttachments';
|
||||||
$this->tab_display = 'attachments';
|
$this->tab_display = 'attachments';
|
||||||
|
$this->display = 'edit';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$this->errors[] = Tools::displayError('You do not have permission to add here.');
|
$this->errors[] = Tools::displayError('You do not have permission to add here.');
|
||||||
@@ -3005,8 +3015,8 @@ class AdminProductsControllerCore extends AdminController
|
|||||||
$attachment_description = array();
|
$attachment_description = array();
|
||||||
foreach ($languages as $language)
|
foreach ($languages as $language)
|
||||||
{
|
{
|
||||||
$attachment_name[$language['id_lang']] = $this->getFieldValue($obj, 'attachment_name', (int)$language['id_lang']);
|
$attachment_name[$language['id_lang']] = '';
|
||||||
$attachment_description[$language['id_lang']] = $this->getFieldValue($obj, 'attachment_description', (int)$language['id_lang']);
|
$attachment_description[$language['id_lang']] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$data->assign(array(
|
$data->assign(array(
|
||||||
|
|||||||
Reference in New Issue
Block a user