Skip to content

Commit 90f007c

Browse files
committed
Merge branch 'master' of github.com:degami/sitebase
2 parents 223a3a9 + a5c299b commit 90f007c

File tree

5 files changed

+181
-11
lines changed

5 files changed

+181
-11
lines changed
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
<?php
2+
/**
3+
* SiteBase
4+
* PHP Version 7.0
5+
*
6+
* @category CMS / Framework
7+
* @package Degami\Sitebase
8+
* @author Mirko De Grandis <degami@github.com>
9+
* @license MIT https://opensource.org/licenses/mit-license.php
10+
* @link https://github.com/degami/sitebase
11+
*/
12+
namespace App\Base\Abstracts;
13+
14+
use \Psr\Container\ContainerInterface;
15+
use \Symfony\Component\HttpFoundation\Response;
16+
use \App\Base\Abstracts\AdminPage;
17+
use \Degami\PHPFormsApi as FAPI;
18+
use \Degami\PHPFormsApi\Accessories\TagElement;
19+
use \App\App;
20+
21+
/**
22+
* Base for admin page that manages a Frontend Model
23+
*/
24+
abstract class AdminManageFrontendModelsPage extends AdminManageModelsPage
25+
{
26+
/**
27+
* {@inheriydocs}
28+
*
29+
* @param ContainerInterface $container
30+
*/
31+
public function __construct(ContainerInterface $container)
32+
{
33+
parent::__construct($container);
34+
}
35+
36+
protected function addFrontendFormElements(FAPI\Form $form, &$form_state, $form_elements = ['url', 'website_id', 'locale'])
37+
{
38+
$object = $this->getObject();
39+
40+
$form_elements = array_intersect($form_elements, ['url', 'website_id', 'locale']);
41+
42+
$object_url = $object_website = $object_locale = '';
43+
if ($object instanceof FrontendModel && $object->isLoaded()) {
44+
$languages = $this->getUtils()->getSiteLanguagesSelectOptions($object->getWebsiteId());
45+
46+
foreach ($form_elements as $key => $element) {
47+
${"object_".$element} = $object->{$element};
48+
}
49+
} else {
50+
$languages = $this->getUtils()->getSiteLanguagesSelectOptions();
51+
}
52+
53+
$websites = $this->getUtils()->getWebsitesSelectOptions();
54+
55+
$fieldset = $form->addField(
56+
'frontend',
57+
[
58+
'type' => 'fieldset',
59+
'title' => 'Frontend',
60+
'collapsible' => true,
61+
'collapsed' => false,
62+
]
63+
);
64+
65+
if (in_array('url', $form_elements)) {
66+
$fieldset->addField(
67+
'url',
68+
[
69+
'type' => 'textfield',
70+
'title' => 'Url key',
71+
'default_value' => $object_url,
72+
'validate' => ['required'],
73+
]
74+
);
75+
}
76+
77+
if (in_array('website_id', $form_elements)) {
78+
$fieldset->addField(
79+
'website_id',
80+
[
81+
'type' => 'select',
82+
'title' => 'Website',
83+
'default_value' => $object_website,
84+
'options' => $websites,
85+
'validate' => ['required'],
86+
]
87+
);
88+
}
89+
90+
if (in_array('locale', $form_elements)) {
91+
$fieldset->addField(
92+
'locale',
93+
[
94+
'type' => 'select',
95+
'title' => 'Locale',
96+
'default_value' => $object_locale,
97+
'options' => $languages,
98+
'validate' => ['required'],
99+
]
100+
);
101+
}
102+
103+
return $form;
104+
}
105+
106+
protected function addSeoFormElements(FAPI\Form $form, &$form_state)
107+
{
108+
$object = $this->getObject();
109+
110+
$object_meta_description = $object_meta_keywords = $object_html_title = '';
111+
if ($object instanceof FrontendModel && $object->isLoaded()) {
112+
$object_meta_description = $object->meta_description;
113+
$object_meta_keywords = $object->meta_keywords;
114+
$object_html_title = $object->html_title;
115+
}
116+
117+
$fieldset = $form->addField(
118+
'seo',
119+
[
120+
'type' => 'fieldset',
121+
'title' => 'SEO',
122+
'collapsible' => true,
123+
'collapsed' => true,
124+
]
125+
);
126+
127+
$fieldset->addField(
128+
'meta_description',
129+
[
130+
'type' => 'textfield',
131+
'title' => 'Meta Description',
132+
'default_value' => $object_meta_description,
133+
]
134+
)
135+
->addField(
136+
'meta_keywords',
137+
[
138+
'type' => 'textfield',
139+
'title' => 'Meta Keywords',
140+
'default_value' => $object_meta_keywords,
141+
]
142+
)
143+
->addField(
144+
'html_title',
145+
[
146+
'type' => 'textfield',
147+
'title' => 'Html Title',
148+
'default_value' => $object_html_title,
149+
]
150+
);
151+
152+
153+
return $form;
154+
}
155+
}

composer.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/src/admin.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@
6666
});
6767

6868
$elem.appAdmin('checkLoggedStatus');
69+
70+
$('#search-btn').click(function(evt){
71+
evt.preventDefault();
72+
$elem.appAdmin('searchTableColumns', this);
73+
})
6974
});
7075
},
7176
showOverlay: function() {
@@ -172,6 +177,11 @@
172177
$(that).appAdmin('checkLoggedStatus');
173178
}, 60000);
174179
},
180+
searchTableColumns: function(btn) {
181+
var query = $('input', $(btn).data('target')).serialize();
182+
var href = $(btn).attr('href');
183+
document.location = href + (href.indexOf('?') != -1 ? '&' : '?') + query;
184+
},
175185
show : function( ) { },// IS
176186
hide : function( ) { },// GOOD
177187
update : function( content ) { }// !!!

scss/admin.scss

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,11 @@ body {
7777
}
7878
}
7979

80+
.sidebar-sticky {
81+
top: 0;
82+
height: calc(100vh - 25px);
83+
}
84+
8085
.nav {
8186
margin-top: 50px;
8287

@@ -147,7 +152,7 @@ body {
147152
& + main {
148153
min-width: 0px !important;
149154
padding-left: 1.5rem !important;
150-
}
155+
}
151156
}
152157

153158
.nav {
@@ -169,7 +174,7 @@ body {
169174
.open-arrow{
170175
display: inline;
171176
}
172-
}
177+
}
173178
}
174179
}
175180
}
@@ -303,7 +308,7 @@ body {
303308

304309
&:hover {
305310
background-color: #444;
306-
}
311+
}
307312
}
308313

309314
#overlay {
@@ -337,7 +342,7 @@ body {
337342
}
338343
}
339344
}
340-
}
345+
}
341346
}
342347

343348
.form-control.has-errors {
@@ -415,7 +420,7 @@ body {
415420
padding: 0;
416421
height: 20px;
417422
line-height: 19px;
418-
}
423+
}
419424
}
420425
}
421426

@@ -442,4 +447,4 @@ body {
442447

443448
.logo-image {
444449
max-height: 30px;
445-
}
450+
}

templates/frontend/contacts/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)