Initial import

This commit is contained in:
Admin Nasledstvo
2026-05-01 20:52:04 +03:00
commit ac168868ee
10028 changed files with 2337954 additions and 0 deletions
@@ -0,0 +1,22 @@
<?php
use app\models\RegisterObjects;
use app\widgets\TableWidget;
$tab = $_GET['tab'] ?? 'main';
$_GET['tab'] = $tab;
if (!empty($_GET['id'])) {
$tabs['nomenclature'] = '<i class="la la-clipboard-list"></i> Номенклатури';
$tabs['main'] = '<i class="la la-database"></i> Основни данни';
$tabs['ts_en'] = '<i class="lg lg-en"></i> Превод английски';
$tabs['media'] = '<i class="la la-file-movie-o"></i> Медия файлове';
}
/**
* @var RegisterObjects $model
*/
echo '<h1>Обекти</h1>';
?>
@@ -0,0 +1,103 @@
<?php
/**
* @var \app\models\Expositions $model
* @var $this \yii\web\View
*/
?>
<link href="/_public/assets/css/search-box-remote.css" rel="stylesheet">
<h1>Test</h1>
<div class="inner-content p10">
<?php if ($model->name): ?>
<div class="row-panel info-table c9 top15">
<div class="row-flex">
<div>експозиция:</div>
<div class="txt-no-transform"><?= $model->name ?></div>
</div>
</div>
<?php endif; ?>
<input type="hidden" id="exposition_id" value="<?= $model->id ?>">
<div class="row-panel c9">
<div class="row" style="position: relative">
<div data-domain="<?= Yii::$app->params['cms'] ?>" onclick="openObjects(this)" data-exposition-id="<?= $model->id ?>" class="btn btn-default pointer input-main-search"><i
class="la la-database"></i> Избери и добави обект към тази експозиция
</div>
</div>
</div>
<div class="row-panel c9">
<div class="object-list"></div>
</div>
</div>
<script>
function openObjects(e) {
modal.modalFrame(`${e.dataset.domain}/partner/website/_objects-register/?expId= ${e.dataset.expositionId}`)
}
function clearSelected() {
event.preventDefault();
const smi = one('.input-main-search')
smi.innerHTML = '<i class="la la-database"></i> Избери и добави обект към тази експозиция';
}
function addSelected() {
event.preventDefault();
const smi = one('.input-main-search')
const hiddenInput = document.querySelector('input[name="search-object"]');
const exposition_id = document.querySelector('#exposition_id').value;
const object_id = hiddenInput.value;
request({
post: {
exposition_id,
object_id
},
done: (e) => {
if (e.error) {
flash.error('Този обект вече е добавен, изберете друг');
} else {
flash.success('Обекта е добавен към експозицията');
}
}
})
smi.innerHTML = '<i class="la la-database"></i> Избери и добави обект към тази експозиция';
}
function removeObject(e) {
//alert(e.dataset.objectId)
const container = e.parentNode;
e.classList.add('disabled')
request({
post: {
exposition_id: e.dataset.expositionId,
object_id: e.dataset.objectId,
delete: 1
},
done: (data) => {
if (container)
container.remove();
flash.success('Обекта е махнат от експозицията');
}
})
}
function loadExpositionObjects() {
request({
url: '/remote/get-exposition-objects/',
dataType: 'text',
get: {
exposition_remote_list: '<?= $model->id ?>'
},
done: function (html) {
const list = document.querySelector('.object-list');
list.innerHTML = html;
}
})
}
window.addEventListener('DOMContentLoaded', function () {
loadExpositionObjects();
})
</script>
@@ -0,0 +1,99 @@
<?php
/**
* @var \app\models\Expositions $model
*/
?>
<div class="inner-content p10">
<?php if ($model->name): ?>
<div class="row-panel info-table c9 top15">
<div class="row-flex">
<div></div>
<div class="txt-no-transform"><?= $model->name ?></div>
</div>
</div>
<?php endif; ?>
<input type="hidden" id="exposition_id" value="<?= $model->id ?>">
<div class="row-panel c9">
<div class="row" style="position: relative">
<div class="sbr input-main-search" data-sbr-name="search-object" data-sbr-value=""><i
class="la la-database"></i> Избери и добави обект към тази експозиция
</div>
</div>
</div>
<div class="row-panel c9">
<div class="object-list">
<?php foreach ($model->objectList as $expositionObject): ?>
<div class="flex row-result">
<div class="img-container flex flex-center">
<img src="<?= $expositionObject->object->getMainImgFile() ?>" style="height: 80px">
</div>
<div style="padding-top: 30px; margin-left: 10px">
<a href="<?= $expositionObject->object->getUrl() ?>"><?= $expositionObject->object->name ?></a>
</div>
<div onclick="removeObject(this)" data-object-id="<?= $expositionObject->object_id ?>"
data-exposition-id="<?= $model->id ?>" class="remove-object"><i class="la la-remove"></i></div>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
<script src="/_public/assets/js/search-box-remote-select.js"></script>
<script>
window.addEventListener('DOMContentLoaded', function () {
new SearchBoxRemote('.sbr', {
url: '/remote/get-autocomplete-objects/',
id: 'object_id',
columns: {name: 'Име на обект'}
})
})
function clearSelected() {
event.preventDefault();
const smi = one('.input-main-search')
smi.innerHTML = '<i class="la la-database"></i> Избери и добави обект към тази експозиция';
}
function addSelected() {
event.preventDefault();
const smi = one('.input-main-search')
const hiddenInput = document.querySelector('input[name="search-object"]');
const exposition_id = document.querySelector('#exposition_id').value;
const object_id = hiddenInput.value;
request({
post: {
exposition_id,
object_id
},
done: (e) => {
if (e.error) {
flash.error('Този обект вече е добавен, изберете друг');
} else {
flash.success('Обекта е добавен към експозицията');
}
}
})
smi.innerHTML = '<i class="la la-database"></i> Избери и добави обект към тази експозиция';
}
function removeObject(e) {
//alert(e.dataset.objectId)
const container = e.parentNode;
e.classList.add('disabled')
request({
post: {
exposition_id: e.dataset.expositionId,
object_id: e.dataset.objectId,
delete: 1
},
done: (data) => {
if(container)
container.remove();
flash.success('Обекта е махнат от експозицията');
}
})
}
</script>