latest changes from server

This commit is contained in:
root 2024-03-13 12:32:27 +00:00
parent 8f7684e379
commit c846c81172
24 changed files with 432 additions and 15 deletions

View File

@ -75,7 +75,8 @@
</svg>
</span>
+993 12 46-87-87
<!-- +993 12 46-87-87 -->
+993 61 20-30-79
</a>
<div class="contact_info-txt wow fadeInRight" data-wow-duration=".3s" data-wow-delay=".17s">
@ -95,7 +96,7 @@
</div>
<div class="contact_info-media">
<a href="#" class="wow fadeInRight" data-wow-duration=".3s" data-wow-delay=".1s">
<a href="https://www.instagram.com/sdam.berkarar?igsh=cXlxNzVucWQ4bmho" class="wow fadeInRight" data-wow-duration=".3s" data-wow-delay=".1s">
<svg width="30" height="30" viewBox="0 0 30 30" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path
@ -103,7 +104,7 @@
fill="white" />
</svg>
</a>
<a href="#" class="wow fadeInRight" data-wow-duration=".3s" data-wow-delay=".13s">
<!-- <a href="#" class="wow fadeInRight" data-wow-duration=".3s" data-wow-delay=".13s">
<svg width="31" height="30" viewBox="0 0 31 30" fill="none"
xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_59_2738)">
@ -147,7 +148,7 @@
</clipPath>
</defs>
</svg>
</a>
</a> -->
</div>
<div class="wave wow fadeInUp" data-wow-duration=".3s" data-wow-delay=".1s">

View File

@ -0,0 +1,18 @@
<?php namespace Tps\Shops\Controllers;
use Backend\Classes\Controller;
use BackendMenu;
class Notification extends Controller
{
public $implement = [ 'Backend\Behaviors\ListController', 'Backend\Behaviors\FormController' ];
public $listConfig = 'config_list.yaml';
public $formConfig = 'config_form.yaml';
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Tps.Shops', 'main-menu-item', 'side-menu-item8');
}
}

View File

@ -0,0 +1,18 @@
<div data-control="toolbar">
<a href="<?= Backend::url('tps/shops/notification/create') ?>" class="btn btn-primary oc-icon-plus"><?= e(trans('backend::lang.form.create')) ?></a>
<button
class="btn btn-default oc-icon-trash-o"
disabled="disabled"
onclick="$(this).data('request-data', {
checked: $('.control-list').listWidget('getChecked')
})"
data-request="onDelete"
data-request-confirm="<?= e(trans('backend::lang.list.delete_selected_confirm')) ?>"
data-trigger-action="enable"
data-trigger=".control-list input[type=checkbox]"
data-trigger-condition="checked"
data-request-success="$(this).prop('disabled', true)"
data-stripe-load-indicator>
<?= e(trans('backend::lang.list.delete_selected')) ?>
</button>
</div>

View File

@ -0,0 +1,10 @@
name: Notification
form: $/tps/shops/models/notification/fields.yaml
modelClass: Tps\Shops\Models\Notification
defaultRedirect: tps/shops/notification
create:
redirect: 'tps/shops/notification/update/:id'
redirectClose: tps/shops/notification
update:
redirect: tps/shops/notification
redirectClose: tps/shops/notification

View File

@ -0,0 +1,12 @@
list: $/tps/shops/models/notification/columns.yaml
modelClass: Tps\Shops\Models\Notification
title: Notification
noRecordsMessage: 'backend::lang.list.no_records'
showSetup: true
showCheckboxes: true
recordsPerPage: 20
toolbar:
buttons: list_toolbar
search:
prompt: 'backend::lang.list.search_prompt'
recordUrl: 'tps/shops/notification/update/:id'

View File

@ -0,0 +1,46 @@
<?php Block::put('breadcrumb') ?>
<ul>
<li><a href="<?= Backend::url('tps/shops/notification') ?>">Notification</a></li>
<li><?= e($this->pageTitle) ?></li>
</ul>
<?php Block::endPut() ?>
<?php if (!$this->fatalError): ?>
<?= Form::open(['class' => 'layout']) ?>
<div class="layout-row">
<?= $this->formRender() ?>
</div>
<div class="form-buttons">
<div class="loading-indicator-container">
<button
type="submit"
data-request="onSave"
data-hotkey="ctrl+s, cmd+s"
data-load-indicator="<?= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-primary">
<?= e(trans('backend::lang.form.create')) ?>
</button>
<button
type="button"
data-request="onSave"
data-request-data="close:1"
data-hotkey="ctrl+enter, cmd+enter"
data-load-indicator="<?= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-default">
<?= e(trans('backend::lang.form.create_and_close')) ?>
</button>
<span class="btn-text">
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('tps/shops/notification') ?>"><?= e(trans('backend::lang.form.cancel')) ?></a>
</span>
</div>
</div>
<?= Form::close() ?>
<?php else: ?>
<p class="flash-message static error"><?= e(trans($this->fatalError)) ?></p>
<p><a href="<?= Backend::url('tps/shops/notification') ?>" class="btn btn-default"><?= e(trans('backend::lang.form.return_to_list')) ?></a></p>
<?php endif ?>

View File

@ -0,0 +1 @@
<?= $this->listRender() ?>

View File

@ -0,0 +1,22 @@
<?php Block::put('breadcrumb') ?>
<ul>
<li><a href="<?= Backend::url('tps/shops/notification') ?>">Notification</a></li>
<li><?= e($this->pageTitle) ?></li>
</ul>
<?php Block::endPut() ?>
<?php if (!$this->fatalError): ?>
<div class="form-preview">
<?= $this->formRenderPreview() ?>
</div>
<?php else: ?>
<p class="flash-message static error"><?= e($this->fatalError) ?></p>
<?php endif ?>
<p>
<a href="<?= Backend::url('tps/shops/notification') ?>" class="btn btn-default oc-icon-chevron-left">
<?= e(trans('backend::lang.form.return_to_list')) ?>
</a>
</p>

View File

@ -0,0 +1,54 @@
<?php Block::put('breadcrumb') ?>
<ul>
<li><a href="<?= Backend::url('tps/shops/notification') ?>">Notification</a></li>
<li><?= e($this->pageTitle) ?></li>
</ul>
<?php Block::endPut() ?>
<?php if (!$this->fatalError): ?>
<?= Form::open(['class' => 'layout']) ?>
<div class="layout-row">
<?= $this->formRender() ?>
</div>
<div class="form-buttons">
<div class="loading-indicator-container">
<button
type="submit"
data-request="onSave"
data-request-data="redirect:0"
data-hotkey="ctrl+s, cmd+s"
data-load-indicator="<?= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-primary">
<?= e(trans('backend::lang.form.save')) ?>
</button>
<button
type="button"
data-request="onSave"
data-request-data="close:1"
data-hotkey="ctrl+enter, cmd+enter"
data-load-indicator="<?= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-default">
<?= e(trans('backend::lang.form.save_and_close')) ?>
</button>
<button
type="button"
class="oc-icon-trash-o btn-icon danger pull-right"
data-request="onDelete"
data-load-indicator="<?= e(trans('backend::lang.form.deleting')) ?>"
data-request-confirm="<?= e(trans('backend::lang.form.confirm_delete')) ?>">
</button>
<span class="btn-text">
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('tps/shops/notification') ?>"><?= e(trans('backend::lang.form.cancel')) ?></a>
</span>
</div>
</div>
<?= Form::close() ?>
<?php else: ?>
<p class="flash-message static error"><?= e(trans($this->fatalError)) ?></p>
<p><a href="<?= Backend::url('tps/shops/notification') ?>" class="btn btn-default"><?= e(trans('backend::lang.form.return_to_list')) ?></a></p>
<?php endif ?>

View File

@ -0,0 +1,27 @@
<?php namespace Tps\Shops\Models;
use Model;
/**
* Model
*/
class Notification extends Model
{
use \October\Rain\Database\Traits\Validation;
use \October\Rain\Database\Traits\SoftDelete;
protected $dates = ['deleted_at'];
/**
* @var string The database table used by the model.
*/
public $table = 'tps_shops_notification';
/**
* @var array Validation rules
*/
public $rules = [
];
}

View File

@ -0,0 +1,10 @@
columns:
id:
label: id
type: number
created_at:
label: created_at
type: datetime
title:
label: title
type: text

View File

@ -0,0 +1,10 @@
fields:
title:
label: Title
span: auto
type: text
message:
label: 'Message File'
span: auto
mode: file
type: mediafinder

View File

@ -17,8 +17,9 @@ fields:
type: dropdown
name:
label: Name
size: small
span: auto
type: text
type: textarea
start_date:
label: 'Start Date'
mode: date

View File

@ -2,32 +2,48 @@ columns:
name:
label: name
type: text
searchable: true
sortable: true
floor:
label: floor
type: text
searchable: true
sortable: true
shop_number:
label: shop_number
type: text
searchable: true
sortable: true
shop_id:
label: shop_id
type: text
searchable: true
sortable: true
phone:
label: phone
type: number
sortable: true
instagram_name:
label: instagram_name
type: text
sortable: true
instagram_link:
label: instagram_link
type: text
sortable: true
category_field:
label: category
type: text
sortable: true
created_at:
label: created_at
type: datetime
sortable: true
updated_at:
label: updated_at
type: datetime
sortable: true
open_time:
label: open_time
type: text
sortable: true

View File

@ -38,3 +38,7 @@ navigation:
label: 'Shop reports'
url: tps/shops/reportdetails
icon: icon-sitemap
side-menu-item8:
label: Notification
url: tps/shops/notification
icon: icon-comments

View File

@ -0,0 +1,26 @@
<?php namespace Tps\Shops\Updates;
use Schema;
use October\Rain\Database\Updates\Migration;
class BuilderTableCreateTpsShopsNotification extends Migration
{
public function up()
{
Schema::create('tps_shops_notification', function($table)
{
$table->engine = 'InnoDB';
$table->increments('id')->unsigned();
$table->timestamp('created_at')->nullable();
$table->timestamp('updated_at')->nullable();
$table->timestamp('deleted_at')->nullable();
$table->string('title')->nullable();
$table->text('message')->nullable();
});
}
public function down()
{
Schema::dropIfExists('tps_shops_notification');
}
}

View File

@ -87,3 +87,6 @@
1.0.30:
- 'Updated table tps_shops_'
- builder_table_update_tps_shops__12.php
1.0.31:
- 'Created table tps_shops_notification'
- builder_table_create_tps_shops_notification.php

View File

@ -0,0 +1,32 @@
title = "map"
url = "/map"
layout = "default"
is_hidden = 0
==
<section class="crumb">
<div class="auto_container">
<div class="crumb_wrap">
<div class="crumb_row">
<a href="{{'home'|page}}" class="crumb_title">
<span>
<svg width="16" height="16" viewBox="0 0 16 16" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path
d="M1.25 12.88V6.91459C1.25 6.33752 1.51642 5.79278 1.97193 5.4385L6.85193 1.64294C7.52721 1.11773 8.47279 1.11773 9.14807 1.64294L14.0281 5.4385C14.4836 5.79278 14.75 6.33752 14.75 6.91459V12.88C14.75 13.9128 13.9128 14.75 12.88 14.75H10.75C10.4739 14.75 10.25 14.5261 10.25 14.25V11.6487C10.25 11.3855 10.207 11.1193 10.0677 10.896C9.88545 10.6039 9.64228 10.3523 9.35303 10.1595C8.95253 9.89251 8.48167 9.75 8 9.75C7.51833 9.75 7.04747 9.89251 6.64697 10.1595C6.35772 10.3523 6.11455 10.6039 5.93234 10.896C5.79305 11.1193 5.75 11.3855 5.75 11.6487V14.25C5.75 14.5261 5.52614 14.75 5.25 14.75H3.12C2.08723 14.75 1.25 13.9128 1.25 12.88Z"
stroke="#292929" stroke-width="1.5" stroke-linecap="round"
stroke-linejoin="round" />
</svg>
</span>
{{'Главная'|_}}
</a>
<h4 class="crumb_title">
{{'СХЕМА ТРЦ'|_}}
</h4>
</div>
</div>
</div>
</section>
{% partial 'home/map' %}

View File

@ -7,6 +7,14 @@ is_hidden = 0
security = "user"
redirect = "home"
==
<?php
function onStart(){
$this["notifs"] = Tps\Shops\Models\Notification::get();
//dd($this["notifs"]);
}
?>
==
{% component 'session' %}
<!-- Breadcrumb ======================= -->
@ -48,11 +56,17 @@ redirect = "home"
<h4 class="bill_aside-title tabBtn" data-tab="#bill-2">
{{'Контактная информация'|_}}
</h4>
<h4 class="bill_aside-title tabBtn" data-tab="#bill-3">
{{'notification'|_}}
</h4>
<a href="#" data-request="onLogout" data-request-data="redirect: '/'"
class="bill_aside-title">
{{'Выход'|_}}
</a>
</div>
<div class="bill_info tabItem active" id="bill-1">
{% for detail in user.shop.reports %}
<div class="bill_item downloaded wow fadeInUp" data-wow-duration=".3s" data-wow-delay=".1s">
@ -127,6 +141,34 @@ redirect = "home"
</div>
</form>
</div>
<div class="bill_info tabItem" id="bill-3">
{% for notif in notifs %}
<div class="bill_item downloaded wow fadeInUp" data-wow-duration=".3s" data-wow-delay=".1s">
<div>
<p>
{{notif.created_at|date("d.m.Y")}}
</p>
<p>
{{notif.title}}
</p>
</div>
<a href="{{notif.message|media}}" target="_blank" class="bill_item-link">
<span>
<svg width="28" height="38" viewBox="0 0 28 38" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M25.9857 33.6684V6.06318C25.9947 4.99455 25.5788 3.96611 24.8296 3.2041C24.0803 2.4421 23.059 2.00897 21.9904 2H6.00935C4.94072 2.00897 3.91942 2.4421 3.17016 3.2041C2.42089 3.96611 2.00504 4.99455 2.01408 6.06318V33.6684C1.91911 34.4655 2.31045 35.242 3.00763 35.6398C3.70481 36.0377 4.5724 35.9795 5.21029 35.4923L12.8013 28.9381C13.4856 28.3205 14.5261 28.3205 15.2104 28.9381L22.7894 35.4943C23.4276 35.9819 24.2958 36.0399 24.9932 35.6416C25.6906 35.2432 26.0816 34.4659 25.9857 33.6684Z" stroke="#292929" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
{{'read.more'|_}}
</a>
</div>
{% endfor %}
</div>
</div>
</div>
</div>

View File

@ -16,6 +16,18 @@ function onStart(){
}
?>
==
{% put styles %}
<style>
.post_photo {
width: 650px;
margin-left: 60px;
display: block;
}
</style>
{% endput %}
<section class="crumb">
<div class="auto_container">
<div class="crumb_wrap">
@ -64,6 +76,9 @@ function onStart(){
<h6 class="post_info-cnt wow fadeInUp" data-wow-duration=".3s" data-wow-delay=".1s">
{{shop.floor}} {{'ЭТАЖ'|_}}
</h6>
<h6 class="post_info-cnt wow fadeInUp" data-wow-duration=".3s" data-wow-delay=".1s">
{{shop.shop_number}}
</h6>
<h6 class="post_info-cnt wow fadeInUp" data-wow-duration=".3s" data-wow-delay=".13s">
<span>
<svg width="18" height="17" viewBox="0 0 18 17" fill="none"

View File

@ -0,0 +1,49 @@
==
<!-- Shops ============================ -->
<section class="shops">
<div class="auto_container">
<div class="shops_wrap">
<div class="shops_tab">
<h4 class="shops_tab-link tabBtn active" data-tab="#first">
{{'1 etazh'|_}}
</h4>
<h4 class="shops_tab-link tabBtn" data-tab="#second">
{{'2 etazh'|_}}
</h4>
<h4 class="shops_tab-link tabBtn" data-tab="#third">
{{'3 etazh'|_}}
</h4>
<h4 class="shops_tab-link tabBtn" data-tab="#fourth">
{{'4 etazh'|_}}
</h4>
<h4 class="shops_tab-link tabBtn" data-tab="#fifth">
{{'5 etazh'|_}}
</h4>
</div>
<div class="shops_block tabItem active" id="first">
<img src="{{'map/1etazh.png'|media}}" style="width: 100%;">
</div>
<div class="shops_block tabItem" id="second">
<img src="{{'map/2etazh.png'|media}}" style="width: 100%;">
</div>
<div class="shops_block tabItem" id="third">
<img src="{{'map/3etazh.png'|media}}" style="width: 100%;">
</div>
<div class="shops_block tabItem" id="fourth">
<img src="{{'map/4etazh.png'|media}}" style="width: 100%;">
</div>
<div class="shops_block tabItem" id="fifth">
<img src="{{'map/5etaz.png'|media}}" style="width: 100%;">
</div>
</div>
</div>
</section>
<!-- Shops end ========================= -->

View File

@ -53,7 +53,7 @@ function onStart(){
<h6 class="movie_item-genre">{{movie.genras}}</h6>
</div>
<h4
<!-- <h4
class="movie_item-link modBtn"
onclick="return showMovieDetails({{ movie|json_encode() }}, {{ movie.image.path|json_encode() }});">
@ -72,7 +72,7 @@ function onStart(){
/>
</svg>
</span>
</h4>
</h4> -->
</div>
{% endfor %}
</div>

View File

@ -24,7 +24,7 @@
<div class="footer_navs">
<div class="footer_navs-col">
<p class="copyright">
{{'© 2022 «BERKARAR» ТРЦ'|_}}
{{'© 2024 «BERKARAR»'|_}}
</p>
<p class="footer_navs-txt">
@ -98,7 +98,7 @@
</p>
</d>
<a href="tel: +99312468787" class="footer_navs-link">
<a href="tel: +993 61203079" class="footer_navs-link">
<span>
<svg width="17" height="17" viewBox="0 0 17 17" fill="none"
xmlns="http://www.w3.org/2000/svg">
@ -117,7 +117,7 @@
</span>
<p>
+993 12 46-87-87
+993 61203079
</p>
</a>
</div>
@ -125,4 +125,4 @@
</div>
</div>
</footer>
<!-- Footer end ========================= -->
<!-- Footer end ========================= -->

View File

@ -38,7 +38,7 @@ function onStart(){
</a>
</li>
<li>
<a href="#">
<a href="{{'map'|page}}">
<span>
<svg width="16" height="14" viewBox="0 0 16 14" fill="none"
xmlns="http://www.w3.org/2000/svg">
@ -208,7 +208,7 @@ function onStart(){
</p>
</d>
<a href="tel: +99312468787" class="footer_navs-link">
<a href="tel: +993 61203079" class="footer_navs-link">
<span>
<svg width="17" height="17" viewBox="0 0 17 17" fill="none"
xmlns="http://www.w3.org/2000/svg">
@ -227,7 +227,7 @@ function onStart(){
</span>
<p>
+993 12 46-87-87
+993 61203079
</p>
</a>
</div>
@ -236,4 +236,4 @@ function onStart(){
</div>
</section>
<!-- Menu end ========================= -->
<!-- Menu end ========================= -->