Add migrations for Google Ads settings and demo data
- Create migration for global settings table and add google_ads_customer_id and google_ads_start_date columns to clients table. - Add migration to include product_url column in products_data table. - Insert demo data for campaigns, products, and their history for client 'pomysloweprezenty.pl'. - Implement client management interface with modals for adding and editing clients, including Google Ads Customer ID and data retrieval start date.
This commit is contained in:
@@ -4,14 +4,13 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>crmPro</title>
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content="">
|
||||
<meta name="robots" content="all">
|
||||
<title>adsPRO</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="/layout/favicon.png" rel="icon" type="image/x-icon">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/2.1.7/js/dataTables.min.js"></script>
|
||||
@@ -26,11 +25,9 @@
|
||||
<script src="/libraries/select2/js/select2.full.min.js"></script>
|
||||
<script src="/libraries/functions.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.1.7/css/dataTables.bootstrap5.min.css">
|
||||
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
|
||||
<link rel="Stylesheet" type="text/css" href="/libraries/framework/skin/default_skin/css/theme.css">
|
||||
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="/libraries/framework/vendor/plugins/datepicker/css/bootstrap-datetimepicker.css">
|
||||
<link rel="Stylesheet" type="text/css" href="/libraries/framework/vendor/plugins/daterange/daterangepicker.css">
|
||||
<link rel="Stylesheet" type="text/css" href="/libraries/framework/admin-tools/admin-forms/css/admin-forms.css">
|
||||
<link rel="stylesheet" type="text/css" href="/libraries/framework/vendor/plugins/daterange/daterangepicker.css">
|
||||
<link rel="stylesheet" type="text/css" href="/libraries/jquery-confirm/jquery-confirm.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/libraries/select2/css/select2.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/libraries/select2/css/select2-bootstrap-5-theme.min.css">
|
||||
@@ -38,71 +35,146 @@
|
||||
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
|
||||
</head>
|
||||
<body class="logged">
|
||||
<div class="top">
|
||||
<div class="logo">
|
||||
<a href="/">crm<span>Pro</span></a>
|
||||
</div>
|
||||
<div class="user-nav">
|
||||
<div class="trigger">
|
||||
<i class="fa fa-user"></i> <span><?= $this -> user[ 'email' ];?></span>
|
||||
<?php
|
||||
$module = $this -> current_module;
|
||||
?>
|
||||
<!-- Sidebar -->
|
||||
<aside class="sidebar" id="sidebar">
|
||||
<div class="sidebar-header">
|
||||
<div class="sidebar-logo">
|
||||
<a href="/">
|
||||
<span class="logo-text">ads<strong>PRO</strong></span>
|
||||
</a>
|
||||
</div>
|
||||
<button class="sidebar-toggle" id="sidebarToggle">
|
||||
<i class="fa-solid fa-angles-left"></i>
|
||||
</button>
|
||||
</div>
|
||||
<nav class="sidebar-nav">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/users/settings/">Ustawienia</a>
|
||||
<li class="<?= $module === 'campaigns' ? 'active' : '' ?>">
|
||||
<a href="/campaigns">
|
||||
<i class="fa-solid fa-bullhorn"></i>
|
||||
<span>Kampanie</span>
|
||||
</a>
|
||||
</li>
|
||||
<li id="divider"></li>
|
||||
<li>
|
||||
<a href="/users/logout/">Wyloguj się</a>
|
||||
<li class="<?= $module === 'products' ? 'active' : '' ?>">
|
||||
<a href="/products">
|
||||
<i class="fa-solid fa-box-open"></i>
|
||||
<span>Produkty</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="<?= $module === 'clients' ? 'active' : '' ?>">
|
||||
<a href="/clients">
|
||||
<i class="fa-solid fa-building"></i>
|
||||
<span>Klienci</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="<?= $module === 'allegro' ? 'active' : '' ?>">
|
||||
<a href="/allegro">
|
||||
<i class="fa-solid fa-file-import"></i>
|
||||
<span>Allegro import</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-divider"></li>
|
||||
<li class="<?= $module === 'users' ? 'active' : '' ?>">
|
||||
<a href="/settings">
|
||||
<i class="fa-solid fa-gear"></i>
|
||||
<span>Ustawienia</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="sidebar-footer">
|
||||
<div class="sidebar-user">
|
||||
<div class="user-avatar">
|
||||
<i class="fa-solid fa-user"></i>
|
||||
</div>
|
||||
<div class="user-info">
|
||||
<span class="user-email"><?= $this -> user['email']; ?></span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="/logout" class="sidebar-logout" title="Wyloguj się">
|
||||
<i class="fa-solid fa-right-from-bracket"></i>
|
||||
<span>Wyloguj</span>
|
||||
</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<!-- Main content -->
|
||||
<div class="main-wrapper" id="mainWrapper">
|
||||
<header class="topbar">
|
||||
<button class="topbar-toggle" id="topbarToggle">
|
||||
<i class="fa-solid fa-bars"></i>
|
||||
</button>
|
||||
<div class="topbar-breadcrumb">
|
||||
<?php
|
||||
$breadcrumbs = [
|
||||
'campaigns' => 'Kampanie',
|
||||
'products' => 'Produkty',
|
||||
'clients' => 'Klienci',
|
||||
'allegro' => 'Allegro import',
|
||||
'users' => 'Ustawienia',
|
||||
];
|
||||
echo $breadcrumbs[$module] ?? 'adsPRO';
|
||||
?>
|
||||
</div>
|
||||
</header>
|
||||
<main class="content">
|
||||
<? if ( $this -> alert ): ?>
|
||||
<div class="app-alert"><?= $this -> alert; ?></div>
|
||||
<? endif; ?>
|
||||
<?= $this -> content; ?>
|
||||
</main>
|
||||
</div>
|
||||
<div class="main-menu">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/campaigns/main_view/">Kampanie</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/products/main_view/">Produkty</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/allegro/main_view/">Allegro import</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="main">
|
||||
<? if ( $this -> alert ):?>
|
||||
<div class="alert"><?= $this -> alert;?></div>
|
||||
<? endif;?>
|
||||
<?= $this -> content;?>
|
||||
</div>
|
||||
|
||||
<!-- Popup domyslny -->
|
||||
<div class="default_popup">
|
||||
<div class="popup_content">
|
||||
<div class="popup_header">
|
||||
<div class="title"></div>
|
||||
<div class="close"><i class="fa fa-times"></i></div>
|
||||
<div class="close"><i class="fa-solid fa-xmark"></i></div>
|
||||
</div>
|
||||
<div class="popup_body"></div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">$
|
||||
$( function() {
|
||||
$( 'input.date' ).datepicker({
|
||||
|
||||
<script type="text/javascript">
|
||||
// Sidebar toggle
|
||||
$(function() {
|
||||
var sidebar = $('#sidebar');
|
||||
var mainWrapper = $('#mainWrapper');
|
||||
var collapsed = localStorage.getItem('sidebar_collapsed') === 'true';
|
||||
|
||||
if (collapsed) {
|
||||
sidebar.addClass('collapsed');
|
||||
mainWrapper.addClass('expanded');
|
||||
}
|
||||
|
||||
$('#sidebarToggle, #topbarToggle').on('click', function() {
|
||||
sidebar.toggleClass('collapsed');
|
||||
mainWrapper.toggleClass('expanded');
|
||||
localStorage.setItem('sidebar_collapsed', sidebar.hasClass('collapsed'));
|
||||
});
|
||||
|
||||
// Datepicker
|
||||
$('input.date').datepicker({
|
||||
language: 'pl',
|
||||
autoClose: true
|
||||
});
|
||||
|
||||
// Popup close
|
||||
$('body').on('click', '.default_popup .close', function(e) {
|
||||
e.preventDefault();
|
||||
$('.default_popup .popup_body').empty();
|
||||
$('.default_popup').hide();
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
$( 'body' ).on( 'click', '.default_popup .close', function(e) {
|
||||
e.preventDefault();
|
||||
$( '.default_popup .popup_body' ).empty();
|
||||
$( '.default_popup' ).hide();
|
||||
return false;
|
||||
});
|
||||
|
||||
function show_default_popup( content ) {
|
||||
$( '.default_popup .popup_body' ).html( content );
|
||||
$( '.default_popup' ).fadeIn();
|
||||
function show_default_popup(content) {
|
||||
$('.default_popup .popup_body').html(content);
|
||||
$('.default_popup').fadeIn();
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user