Updated : added hidden inputs in HelperTree class | Admin can only see his own hotel in HelperTree
This commit is contained in:
@@ -42,7 +42,7 @@
|
||||
{if isset($use_checkbox) && $use_checkbox == true}
|
||||
function checkAll($tree)
|
||||
{
|
||||
$tree.find(":input[type=checkbox]").each(
|
||||
$tree.find(":input[type=checkbox]:not([hidden])").each(
|
||||
function()
|
||||
{
|
||||
$(this).prop("checked", true);
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
function uncheckAll($tree)
|
||||
{
|
||||
$tree.find(":input[type=checkbox]").each(
|
||||
$tree.find(":input[type=checkbox]:not([hidden])").each(
|
||||
function()
|
||||
{
|
||||
$(this).prop("checked", false);
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<li class="tree-folder">
|
||||
<li class="tree-folder" {if isset($node['hidden']) && $node['hidden'] == true} hidden="hidden"{/if}>
|
||||
<span class="tree-folder-name">
|
||||
<i class="icon-folder-close"></i>
|
||||
<label class="tree-toggler">{$node['name']|escape:'html':'UTF-8'}</label>
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<li class="tree-folder">
|
||||
<li class="tree-folder" {if isset($node['hidden']) && $node['hidden'] == true} hidden="hidden"{/if}>
|
||||
<span class="tree-folder-name{if isset($node['disabled']) && $node['disabled'] == true} tree-folder-name-disable{/if}">
|
||||
{if !isset($selectable) || $selectable}
|
||||
<input type="checkbox" name="{$node['input_name']}[]" value="{$node['value']}"{if isset($node['selected']) && $node['selected'] == true} checked="checked"{/if}{if isset($node['disabled']) && $node['disabled'] == true} disabled="disabled"{/if} />
|
||||
<input type="checkbox" name="{$node['input_name']}[]" value="{$node['value']}"{if isset($node['selected']) && $node['selected'] == true} checked="checked"{/if}{if isset($node['disabled']) && $node['disabled'] == true} disabled="disabled"{/if} {if isset($node['hidden']) && $node['hidden'] == true} hidden="hidden"{/if}/>
|
||||
{/if}
|
||||
<i class="icon-folder-close"></i>
|
||||
<label class="tree-toggler">{if isset($node['name'])}{$node['name']|escape:'html':'UTF-8'}{/if}{if isset($node['selected_childs']) && (int)$node['selected_childs'] > 0} {l s='(%s selected)' sprintf=$node['selected_childs']}{/if}</label>
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<li class="tree-folder">
|
||||
<li class="tree-folder" {if isset($node['hidden']) && $node['hidden'] == true} hidden="hidden"{/if}>
|
||||
<span class="tree-folder-name{if isset($node['disabled']) && $node['disabled'] == true} tree-folder-name-disable{/if}">
|
||||
{if !isset($selectable) || $selectable}
|
||||
<input type="radio" name="{$node['input_name']}" value="{$node['value']}"{if isset($node['selected']) && $node['selected'] == true} checked="checked"{/if}{if isset($node['disabled']) && $node['disabled'] == true} disabled="disabled"{/if} />
|
||||
<input type="radio" name="{$node['input_name']}" value="{$node['value']}"{if isset($node['selected']) && $node['selected'] == true} checked="checked"{/if}{if isset($node['disabled']) && $node['disabled'] == true} disabled="disabled"{/if} {if isset($node['hidden']) && $node['hidden'] == true} hidden="hidden"{/if}/>
|
||||
{/if}
|
||||
<i class="icon-folder-close"></i>
|
||||
<label class="tree-toggler">{$node['name']|escape:'html':'UTF-8'}</label>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<li class="tree-item">
|
||||
<li class="tree-item" {if isset($node['hidden']) && $node['hidden'] == true} hidden="hidden"{/if}>
|
||||
<span class="tree-item-name">
|
||||
<i class="tree-dot"></i>
|
||||
<label class="tree-toggler">{$node['name']}</label>
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<li class="tree-item{if isset($node['disabled']) && $node['disabled'] == true} tree-item-disable{/if}">
|
||||
<li class="tree-item{if isset($node['disabled']) && $node['disabled'] == true} tree-item-disable{/if}" {if isset($node['hidden']) && $node['hidden'] == true} hidden="hidden"{/if}>
|
||||
<span class="tree-item-name{if isset($node['disabled']) && $node['disabled'] == true} tree-item-name-disable{/if}">
|
||||
<input type="checkbox" name="{$node['input_name']}[]" value="{$node['value']}"{if isset($node['selected']) && $node['selected'] == true} checked="checked"{/if}{if isset($node['disabled']) && $node['disabled'] == true} disabled="disabled"{/if} />
|
||||
<input type="checkbox" name="{$node['input_name']}[]" value="{$node['value']}"{if isset($node['selected']) && $node['selected'] == true} checked="checked"{/if}{if isset($node['disabled']) && $node['disabled'] == true} disabled="disabled"{/if} {if isset($node['hidden']) && $node['hidden'] == true} hidden="hidden"{/if} />
|
||||
<i class="tree-dot"></i>
|
||||
<label class="tree-toggler">{$node['name']}</label>
|
||||
</span>
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<li class="tree-item{if isset($node['disabled']) && $node['disabled'] == true} tree-item-disable{/if}">
|
||||
<li class="tree-item{if isset($node['disabled']) && $node['disabled'] == true} tree-item-disable{/if}" {if isset($node['hidden']) && $node['hidden'] == true} hidden="hidden"{/if}>
|
||||
<span class="tree-item-name">
|
||||
<input type="radio" name="{$node['input_name']}" value="{$node['value']}"{if isset($node['selected']) && $node['selected'] == true} checked="checked"{/if}{if isset($node['disabled']) && $node['disabled'] == true} disabled="disabled"{/if} />
|
||||
<input type="radio" name="{$node['input_name']}" value="{$node['value']}"{if isset($node['selected']) && $node['selected'] == true} checked="checked"{/if}{if isset($node['disabled']) && $node['disabled'] == true} disabled="disabled"{/if} {if isset($node['hidden']) && $node['hidden'] == true} hidden="hidden"{/if} />
|
||||
<i class="tree-dot"></i>
|
||||
<label class="tree-toggler">{$node['name']}</label>
|
||||
</span>
|
||||
|
||||
@@ -601,15 +601,15 @@ class AdminCartRulesControllerCore extends AdminController
|
||||
$products['selected'] = HotelBranchInformation::filterDataByHotelAccess(
|
||||
$products['selected'],
|
||||
$this->context->employee->id_profile,
|
||||
0,
|
||||
1,
|
||||
false,
|
||||
'id',
|
||||
1
|
||||
);
|
||||
$products['unselected'] = HotelBranchInformation::filterDataByHotelAccess(
|
||||
$products['unselected'],
|
||||
$this->context->employee->id_profile,
|
||||
0,
|
||||
1,
|
||||
false,
|
||||
'id',
|
||||
1
|
||||
);
|
||||
Context::getContext()->smarty->assign('product_rule_itemlist', $products);
|
||||
|
||||
@@ -275,8 +275,8 @@ class HotelBranchInformation extends ObjectModel
|
||||
public static function filterDataByHotelAccess(
|
||||
$dataArray,
|
||||
$idProfile,
|
||||
$idAsIdHotel = 0,
|
||||
$idAsIdProduct = 0,
|
||||
$idHotelAlias = false,
|
||||
$idProductAlias = false,
|
||||
$addAccessKey = 0
|
||||
) {
|
||||
if ($hotelAccessInfo = Db::getInstance()->executeS(
|
||||
@@ -299,20 +299,20 @@ class HotelBranchInformation extends ObjectModel
|
||||
unset($dataArray[$key]);
|
||||
}
|
||||
}
|
||||
} elseif ($idAsIdHotel && isset($row['id'])) {
|
||||
} elseif ($idHotelAlias && isset($row[$idHotelAlias])) {
|
||||
if ($addAccessKey) {
|
||||
$dataArray[$key]['htl_access'] = 0;
|
||||
if (in_array($row['id'], $hotels)) {
|
||||
if (in_array($row[$idHotelAlias], $hotels)) {
|
||||
$dataArray[$key]['htl_access'] = 1;
|
||||
}
|
||||
} else {
|
||||
if (!in_array($row['id'], $hotels)) {
|
||||
if (!in_array($row[$idHotelAlias], $hotels)) {
|
||||
unset($dataArray[$key]);
|
||||
}
|
||||
}
|
||||
} elseif ($idAsIdProduct && isset($row['id'])) {
|
||||
} elseif ($idProductAlias && isset($row[$idProductAlias])) {
|
||||
$objRoomType = new HotelRoomType();
|
||||
if ($roomTypeInfo = $objRoomType->getRoomTypeInfoByIdProduct($row['id'])) {
|
||||
if ($roomTypeInfo = $objRoomType->getRoomTypeInfoByIdProduct($row[$idProductAlias])) {
|
||||
if ($addAccessKey) {
|
||||
$dataArray[$key]['htl_access'] = 0;
|
||||
if (in_array($roomTypeInfo['id_hotel'], $hotels)) {
|
||||
|
||||
@@ -2678,6 +2678,12 @@ class HotelHelper
|
||||
$hotels = self::getHotelsByIdCity($previousElements, $rootNodeId);
|
||||
$hotelIds = array_column($hotels, 'value');
|
||||
|
||||
if (Validate::isLoadedObject(Context::getContext()->employee)){
|
||||
if (!Context::getContext()->employee->isSuperAdmin()) {
|
||||
$hotels = HotelBranchInformation::filterDataByHotelAccess($hotels, Context::getContext()->employee->id_profile, 'value', false, true);
|
||||
}
|
||||
}
|
||||
|
||||
if ($leafNode > self::NODE_HOTEL) {
|
||||
$roomTypes = self::generateRoomTypeNodes(false, $leafNode, $selectedElements, $hotelIds);
|
||||
}
|
||||
@@ -2687,6 +2693,10 @@ class HotelHelper
|
||||
$hotel['selected'] = true;
|
||||
}
|
||||
|
||||
if (isset($hotel['htl_access']) && !$hotel['htl_access']) {
|
||||
$hotel['hidden'] = true;
|
||||
}
|
||||
|
||||
if (isset($roomTypes[$hotel['value']])) {
|
||||
$hotel['children'] = $roomTypes[$hotel['value']];
|
||||
}
|
||||
@@ -2710,6 +2720,18 @@ class HotelHelper
|
||||
$roomTypes = self::getRoomTypesByHotelsId($previousElements, $rootNodeId);
|
||||
$roomTypeIds = array_column($roomTypes, 'value');
|
||||
|
||||
if (Validate::isLoadedObject(Context::getContext()->employee)){
|
||||
if (!Context::getContext()->employee->isSuperAdmin()) {
|
||||
$roomTypes = HotelBranchInformation::filterDataByHotelAccess(
|
||||
$roomTypes,
|
||||
Context::getContext()->employee->id_profile,
|
||||
false,
|
||||
'value',
|
||||
true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if ($leafNode > self::NODE_ROOM_TYPE) {
|
||||
$rooms = self::generateRoomNodes(false, $leafNode, $selectedElements, $roomTypeIds);
|
||||
}
|
||||
@@ -2719,6 +2741,10 @@ class HotelHelper
|
||||
$roomType['selected'] = true;
|
||||
}
|
||||
|
||||
if (isset($roomType['htl_access']) && !$roomType['htl_access']) {
|
||||
$roomType['hidden'] = true;
|
||||
}
|
||||
|
||||
if (isset($rooms[$roomType['value']])) {
|
||||
$roomType['children'] = $rooms[$roomType['value']];
|
||||
}
|
||||
@@ -2740,12 +2766,27 @@ class HotelHelper
|
||||
{
|
||||
$return = array();
|
||||
$rooms = self::getRoomsByRoomTypeId($previousElements, $rootNodeId);
|
||||
if (Validate::isLoadedObject(Context::getContext()->employee)){
|
||||
if (!Context::getContext()->employee->isSuperAdmin()) {
|
||||
$rooms = HotelBranchInformation::filterDataByHotelAccess(
|
||||
$rooms,
|
||||
Context::getContext()->employee->id_profile,
|
||||
false,
|
||||
false,
|
||||
true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($rooms as $room) {
|
||||
if (isset($selectedElements['room']) && in_array($room['value'], $selectedElements['room'])) {
|
||||
$room['selected'] = true;
|
||||
}
|
||||
|
||||
if (isset($room['htl_access']) && !$room['htl_access']) {
|
||||
$room['hidden'] = true;
|
||||
}
|
||||
|
||||
if ($previousElements) {
|
||||
$return[$room['id_product']][] = $room;
|
||||
} else {
|
||||
|
||||
@@ -95,7 +95,7 @@ class AdminHotelRoomsBookingController extends ModuleAdminController
|
||||
$objHotelBranchInformation = new HotelBranchInformation();
|
||||
$hotelBranchesInfo = $objHotelBranchInformation->hotelBranchesInfo(false, 1);
|
||||
// filter hotels as per accessed hotels
|
||||
$hotelBranchesInfo = HotelBranchInformation::filterDataByHotelAccess($hotelBranchesInfo, $this->context->employee->id_profile, 1);
|
||||
$hotelBranchesInfo = HotelBranchInformation::filterDataByHotelAccess($hotelBranchesInfo, $this->context->employee->id_profile, 'id');
|
||||
|
||||
if ($hotelBranchesInfo) {
|
||||
if (Tools::getValue('date_from')) {
|
||||
@@ -130,7 +130,7 @@ class AdminHotelRoomsBookingController extends ModuleAdminController
|
||||
$htl_info = HotelBranchInformation::filterDataByHotelAccess(
|
||||
$htl_info,
|
||||
$this->context->employee->id_profile,
|
||||
1
|
||||
'id'
|
||||
);
|
||||
$id_hotel = reset($htl_info)['id'];
|
||||
} else {
|
||||
@@ -286,7 +286,7 @@ class AdminHotelRoomsBookingController extends ModuleAdminController
|
||||
$hotel_list = HotelBranchInformation::filterDataByHotelAccess(
|
||||
$hotel_list,
|
||||
$this->context->employee->id_profile,
|
||||
1
|
||||
'id'
|
||||
);
|
||||
$all_room_type = $obj_rm_type->getRoomTypeByHotelId($this->id_hotel, Configuration::get('PS_LANG_DEFAULT'), 1);
|
||||
|
||||
@@ -317,7 +317,7 @@ class AdminHotelRoomsBookingController extends ModuleAdminController
|
||||
$objHotelBranchInformation = new HotelBranchInformation();
|
||||
$hotelBranchesInfo = $objHotelBranchInformation->hotelBranchesInfo(false, 1);
|
||||
// filter hotels as per accessed hotels
|
||||
$hotelBranchesInfo = HotelBranchInformation::filterDataByHotelAccess($hotelBranchesInfo, $this->context->employee->id_profile, 1);
|
||||
$hotelBranchesInfo = HotelBranchInformation::filterDataByHotelAccess($hotelBranchesInfo, $this->context->employee->id_profile, 'id');
|
||||
|
||||
if ($hotelBranchesInfo) {
|
||||
$this->tpl_view_vars['id_cart'] = (int) $this->context->cart->id;
|
||||
|
||||
Reference in New Issue
Block a user