Calkiem spore zmiany

This commit is contained in:
Adrian Hinz 2018-01-20 01:44:06 +01:00
parent 5ab8aa99db
commit 7ca8d7fc02
73 changed files with 63460 additions and 26 deletions

View File

@ -9,7 +9,7 @@ end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.4'
# Use mysql as the database for Active Record
gem 'mysql2', '>= 0.3.18', '< 0.5'
gem 'mysql2', '0.4.9'
# Use Puma as the app server
gem 'friendly_id', '~> 5.1.0'
@ -20,7 +20,7 @@ gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
gem 'bcrypt', platforms: :ruby
gem 'devise'
# Use CoffeeScript for .coffee assets and views

View File

@ -41,7 +41,7 @@ GEM
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
arel (8.0.0)
bcrypt (3.1.11)
bcrypt (3.1.11-x64-mingw32)
bindex (0.5.0)
builder (3.2.3)
byebug (9.1.0)
@ -63,7 +63,7 @@ GEM
coffee-script-source (1.12.2)
concurrent-ruby (1.0.5)
crass (1.0.3)
devise (4.3.0)
devise (4.4.0)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0, < 5.2)
@ -71,7 +71,7 @@ GEM
warden (~> 1.2.3)
erubi (1.7.0)
execjs (2.7.0)
ffi (1.9.18)
ffi (1.9.18-x64-mingw32)
friendly_id (5.1.0)
activerecord (>= 4.0.0)
globalid (0.4.1)
@ -95,13 +95,13 @@ GEM
mini_portile2 (2.3.0)
minitest (5.11.1)
multi_json (1.13.1)
mysql2 (0.4.10)
mysql2 (0.4.9)
nio4r (2.2.0)
nokogiri (1.8.1)
nokogiri (1.8.1-x64-mingw32)
mini_portile2 (~> 2.3.0)
orm_adapter (0.5.0)
public_suffix (3.0.1)
puma (3.11.1)
puma (3.11.2)
rack (2.0.3)
rack-test (0.8.2)
rack (>= 1.0, < 3)
@ -171,6 +171,8 @@ GEM
turbolinks-source (5.1.0)
tzinfo (1.2.4)
thread_safe (~> 0.1)
tzinfo-data (1.2017.3)
tzinfo (>= 1.0.0)
uglifier (4.1.3)
execjs (>= 0.3.0, < 3)
warden (1.2.7)
@ -187,9 +189,10 @@ GEM
nokogiri (~> 1.8)
PLATFORMS
ruby
x64-mingw32
DEPENDENCIES
bcrypt
byebug
capybara (~> 2.13)
coffee-rails (~> 4.2)
@ -197,7 +200,7 @@ DEPENDENCIES
friendly_id (~> 5.1.0)
jbuilder (~> 2.5)
listen (>= 3.0.5, < 3.2)
mysql2 (>= 0.3.18, < 0.5)
mysql2 (= 0.4.9)
puma (~> 3.7)
rails (~> 5.1.4)
sass-rails (~> 5.0)
@ -210,4 +213,4 @@ DEPENDENCIES
web-console (>= 3.3.0)
BUNDLED WITH
1.16.0
1.15.4

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

File diff suppressed because it is too large Load Diff

View File

@ -12,4 +12,3 @@
//
//= require rails-ujs
//= require turbolinks
//= require_tree .

6287
app/assets/javascripts/bootstrap.bundle.js vendored Normal file

File diff suppressed because it is too large Load Diff

3850
app/assets/javascripts/bootstrap.js vendored Normal file

File diff suppressed because it is too large Load Diff

2377
app/assets/javascripts/bootstrap_lte.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,25 @@
(function($) {
"use strict"; // Start of use strict
// Smooth scrolling using jQuery easing
$('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length) {
$('html, body').animate({
scrollTop: (target.offset().top - 57)
}, 1000, "easeInOutExpo");
return false;
}
}
});
// Closes responsive menu when a scroll trigger link is clicked
$('.js-scroll-trigger').click(function() {
$('.navbar-collapse').collapse('hide');
});
// Activate scrollspy to add active class to navbar items on scroll
})(jQuery); // End of use strict

View File

@ -0,0 +1,166 @@
/*
* jQuery Easing v1.4.1 - http://gsgd.co.uk/sandbox/jquery/easing/
* Open source under the BSD License.
* Copyright © 2008 George McGinley Smith
* All rights reserved.
* https://raw.github.com/gdsmith/jquery-easing/master/LICENSE
*/
(function (factory) {
if (typeof define === "function" && define.amd) {
define(['jquery'], function ($) {
return factory($);
});
} else if (typeof module === "object" && typeof module.exports === "object") {
exports = factory(require('jquery'));
} else {
factory(jQuery);
}
})(function($){
// Preserve the original jQuery "swing" easing as "jswing"
$.easing.jswing = $.easing.swing;
var pow = Math.pow,
sqrt = Math.sqrt,
sin = Math.sin,
cos = Math.cos,
PI = Math.PI,
c1 = 1.70158,
c2 = c1 * 1.525,
c3 = c1 + 1,
c4 = ( 2 * PI ) / 3,
c5 = ( 2 * PI ) / 4.5;
// x is the fraction of animation progress, in the range 0..1
function bounceOut(x) {
var n1 = 7.5625,
d1 = 2.75;
if ( x < 1/d1 ) {
return n1*x*x;
} else if ( x < 2/d1 ) {
return n1*(x-=(1.5/d1))*x + 0.75;
} else if ( x < 2.5/d1 ) {
return n1*(x-=(2.25/d1))*x + 0.9375;
} else {
return n1*(x-=(2.625/d1))*x + 0.984375;
}
}
$.extend( $.easing,
{
def: 'easeOutQuad',
swing: function (x) {
return $.easing[$.easing.def](x);
},
easeInQuad: function (x) {
return x * x;
},
easeOutQuad: function (x) {
return 1 - ( 1 - x ) * ( 1 - x );
},
easeInOutQuad: function (x) {
return x < 0.5 ?
2 * x * x :
1 - pow( -2 * x + 2, 2 ) / 2;
},
easeInCubic: function (x) {
return x * x * x;
},
easeOutCubic: function (x) {
return 1 - pow( 1 - x, 3 );
},
easeInOutCubic: function (x) {
return x < 0.5 ?
4 * x * x * x :
1 - pow( -2 * x + 2, 3 ) / 2;
},
easeInQuart: function (x) {
return x * x * x * x;
},
easeOutQuart: function (x) {
return 1 - pow( 1 - x, 4 );
},
easeInOutQuart: function (x) {
return x < 0.5 ?
8 * x * x * x * x :
1 - pow( -2 * x + 2, 4 ) / 2;
},
easeInQuint: function (x) {
return x * x * x * x * x;
},
easeOutQuint: function (x) {
return 1 - pow( 1 - x, 5 );
},
easeInOutQuint: function (x) {
return x < 0.5 ?
16 * x * x * x * x * x :
1 - pow( -2 * x + 2, 5 ) / 2;
},
easeInSine: function (x) {
return 1 - cos( x * PI/2 );
},
easeOutSine: function (x) {
return sin( x * PI/2 );
},
easeInOutSine: function (x) {
return -( cos( PI * x ) - 1 ) / 2;
},
easeInExpo: function (x) {
return x === 0 ? 0 : pow( 2, 10 * x - 10 );
},
easeOutExpo: function (x) {
return x === 1 ? 1 : 1 - pow( 2, -10 * x );
},
easeInOutExpo: function (x) {
return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ?
pow( 2, 20 * x - 10 ) / 2 :
( 2 - pow( 2, -20 * x + 10 ) ) / 2;
},
easeInCirc: function (x) {
return 1 - sqrt( 1 - pow( x, 2 ) );
},
easeOutCirc: function (x) {
return sqrt( 1 - pow( x - 1, 2 ) );
},
easeInOutCirc: function (x) {
return x < 0.5 ?
( 1 - sqrt( 1 - pow( 2 * x, 2 ) ) ) / 2 :
( sqrt( 1 - pow( -2 * x + 2, 2 ) ) + 1 ) / 2;
},
easeInElastic: function (x) {
return x === 0 ? 0 : x === 1 ? 1 :
-pow( 2, 10 * x - 10 ) * sin( ( x * 10 - 10.75 ) * c4 );
},
easeOutElastic: function (x) {
return x === 0 ? 0 : x === 1 ? 1 :
pow( 2, -10 * x ) * sin( ( x * 10 - 0.75 ) * c4 ) + 1;
},
easeInOutElastic: function (x) {
return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ?
-( pow( 2, 20 * x - 10 ) * sin( ( 20 * x - 11.125 ) * c5 )) / 2 :
pow( 2, -20 * x + 10 ) * sin( ( 20 * x - 11.125 ) * c5 ) / 2 + 1;
},
easeInBack: function (x) {
return c3 * x * x * x - c1 * x * x;
},
easeOutBack: function (x) {
return 1 + c3 * pow( x - 1, 3 ) + c1 * pow( x - 1, 2 );
},
easeInOutBack: function (x) {
return x < 0.5 ?
( pow( 2 * x, 2 ) * ( ( c2 + 1 ) * 2 * x - c2 ) ) / 2 :
( pow( 2 * x - 2, 2 ) *( ( c2 + 1 ) * ( x * 2 - 2 ) + c2 ) + 2 ) / 2;
},
easeInBounce: function (x) {
return 1 - bounceOut( 1 - x );
},
easeOutBounce: bounceOut,
easeInOutBounce: function (x) {
return x < 0.5 ?
( 1 - bounceOut( 1 - 2 * x ) ) / 2 :
( 1 + bounceOut( 2 * x - 1 ) ) / 2;
}
});
});

10253
app/assets/javascripts/jquery.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,155 @@
(function($) {
$.extend($.summernote.lang, {
'pl-PL': {
font: {
bold: 'Pogrubienie',
italic: 'Pochylenie',
underline: 'Podkreślenie',
clear: 'Usuń formatowanie',
height: 'Interlinia',
name: 'Czcionka',
strikethrough: 'Przekreślenie',
subscript: 'Subscript',
superscript: 'Superscript',
size: 'Rozmiar'
},
image: {
image: 'Grafika',
insert: 'Wstaw grafikę',
resizeFull: 'Zmień rozmiar na 100%',
resizeHalf: 'Zmień rozmiar na 50%',
resizeQuarter: 'Zmień rozmiar na 25%',
floatLeft: 'Po lewej',
floatRight: 'Po prawej',
floatNone: 'Równo z tekstem',
shapeRounded: 'Kształt: zaokrąglone',
shapeCircle: 'Kształt: okrąg',
shapeThumbnail: 'Kształt: miniatura',
shapeNone: 'Kształt: brak',
dragImageHere: 'Przeciągnij grafikę lub tekst tutaj',
dropImage: 'Przeciągnij grafikę lub tekst',
selectFromFiles: 'Wybierz z dysku',
maximumFileSize: 'Limit wielkości pliku',
maximumFileSizeError: 'Przekroczono limit wielkości pliku.',
url: 'Adres URL grafiki',
remove: 'Usuń grafikę',
original: 'Original'
},
video: {
video: 'Wideo',
videoLink: 'Adres wideo',
insert: 'Wstaw wideo',
url: 'Adres wideo',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion lub Youku)'
},
link: {
link: 'Odnośnik',
insert: 'Wstaw odnośnik',
unlink: 'Usuń odnośnik',
edit: 'Edytuj',
textToDisplay: 'Tekst do wyświetlenia',
url: 'Na jaki adres URL powinien przenosić ten odnośnik?',
openInNewWindow: 'Otwórz w nowym oknie'
},
table: {
table: 'Tabela',
addRowAbove: 'Add row above',
addRowBelow: 'Add row below',
addColLeft: 'Add column left',
addColRight: 'Add column right',
delRow: 'Delete row',
delCol: 'Delete column',
delTable: 'Delete table'
},
hr: {
insert: 'Wstaw poziomą linię'
},
style: {
style: 'Style',
p: 'pny',
blockquote: 'Cytat',
pre: 'Kod',
h1: 'Nagłówek 1',
h2: 'Nagłówek 2',
h3: 'Nagłówek 3',
h4: 'Nagłówek 4',
h5: 'Nagłówek 5',
h6: 'Nagłówek 6'
},
lists: {
unordered: 'Lista wypunktowana',
ordered: 'Lista numerowana'
},
options: {
help: 'Pomoc',
fullscreen: 'Pełny ekran',
codeview: 'Źródło'
},
paragraph: {
paragraph: 'Akapit',
outdent: 'Zmniejsz wcięcie',
indent: 'Zwiększ wcięcie',
left: 'Wyrównaj do lewej',
center: 'Wyrównaj do środka',
right: 'Wyrównaj do prawej',
justify: 'Wyrównaj do lewej i prawej'
},
color: {
recent: 'Ostani kolor',
more: 'Więcej kolorów',
background: 'Tło',
foreground: 'Czcionka',
transparent: 'Przeźroczysty',
setTransparent: 'Przeźroczyste',
reset: 'Reset',
resetToDefault: 'Domyślne'
},
shortcut: {
shortcuts: 'Skróty klawiaturowe',
close: 'Zamknij',
textFormatting: 'Formatowanie tekstu',
action: 'Akcja',
paragraphFormatting: 'Formatowanie akapitu',
documentStyle: 'Styl dokumentu',
extraKeys: 'Dodatkowe klawisze'
},
help: {
'insertParagraph': 'Insert Paragraph',
'undo': 'Undoes the last command',
'redo': 'Redoes the last command',
'tab': 'Tab',
'untab': 'Untab',
'bold': 'Set a bold style',
'italic': 'Set a italic style',
'underline': 'Set a underline style',
'strikethrough': 'Set a strikethrough style',
'removeFormat': 'Clean a style',
'justifyLeft': 'Set left align',
'justifyCenter': 'Set center align',
'justifyRight': 'Set right align',
'justifyFull': 'Set full align',
'insertUnorderedList': 'Toggle unordered list',
'insertOrderedList': 'Toggle ordered list',
'outdent': 'Outdent on current paragraph',
'indent': 'Indent on current paragraph',
'formatPara': 'Change current block\'s format as a paragraph(P tag)',
'formatH1': 'Change current block\'s format as H1',
'formatH2': 'Change current block\'s format as H2',
'formatH3': 'Change current block\'s format as H3',
'formatH4': 'Change current block\'s format as H4',
'formatH5': 'Change current block\'s format as H5',
'formatH6': 'Change current block\'s format as H6',
'insertHorizontalRule': 'Insert horizontal rule',
'linkDialog.show': 'Show Link Dialog'
},
history: {
undo: 'Cofnij',
redo: 'Ponów'
},
specialChar: {
specialChar: 'SPECIAL CHARACTERS',
select: 'Select Special characters'
}
}
});
})(jQuery);

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

1579
app/assets/stylesheets/animate.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -10,6 +10,5 @@
* files in this directory. Styles in this file should be added after the last require_* statement.
* It is generally better to create a new file per style scope.
*
*= require_tree .
*= require_self
*= require_self
*/

1567
app/assets/stylesheets/bootstrap-grid.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,342 @@
/*!
* Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
@-ms-viewport {
width: device-width;
}
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff;
}
[tabindex="-1"]:focus {
outline: none !important;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 0.5rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: .5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
dfn {
font-style: italic;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 80%;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
a {
color: #007bff;
text-decoration: none;
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
a:hover {
color: #0056b3;
text-decoration: underline;
}
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
outline: 0;
}
pre,
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
-ms-overflow-style: scrollbar;
}
figure {
margin: 0 0 1rem;
}
img {
vertical-align: middle;
border-style: none;
}
svg:not(:root) {
overflow: hidden;
}
a,
area,
button,
[role="button"],
input:not([type="range"]),
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
table {
border-collapse: collapse;
}
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #868e96;
text-align: left;
caption-side: bottom;
}
th {
text-align: inherit;
}
label {
display: inline-block;
margin-bottom: .5rem;
}
button {
border-radius: 0;
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
input {
overflow: visible;
}
button,
select {
text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea {
overflow: auto;
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
display: block;
width: 100%;
max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
color: inherit;
white-space: normal;
}
progress {
vertical-align: baseline;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
outline-offset: -2px;
-webkit-appearance: none;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
summary {
display: list-item;
}
template {
display: none;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */

8374
app/assets/stylesheets/bootstrap.css vendored Normal file

File diff suppressed because it is too large Load Diff

6757
app/assets/stylesheets/bootstrap_lte.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,233 @@
/*!
* Start Bootstrap - Creative v4.0.0-beta.2 (https://startbootstrap.com/template-overviews/creative)
* Copyright 2013-2017 Start Bootstrap
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-creative/blob/master/LICENSE)
*/
body,
html {
width: 100%;
height: 100%; }
body {
font-family: 'Merriweather', 'Helvetica Neue', Arial, sans-serif;
}
hr {
max-width: 50px;
border-width: 3px;
border-color: #40a5f0; }
hr.light {
border-color: #fff; }
a {
color: #40a5f0;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
transition: all 0.2s; }
a:hover {
color: #40a5f0; }
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }
.bg-primary {
background-color: #40a5f0 !important; }
.bg-dark {
background-color: #212529 !important; }
.text-faded {
color: rgba(255, 255, 255, 0.7); }
section {
padding: 8rem 0; }
.section-heading {
margin-top: 0; }
::-moz-selection {
color: #fff;
background: #212529;
text-shadow: none; }
::selection {
color: #fff;
background: #212529;
text-shadow: none; }
img::selection {
color: #fff;
background: transparent; }
img::-moz-selection {
color: #fff;
background: transparent; }
body {
-webkit-tap-highlight-color: #212529; }
#mainNav {
border-bottom: 1px solid rgba(33, 37, 41, 0.1);
background-color: #fff;
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
transition: all 0.2s; }
#mainNav .navbar-brand {
font-weight: 700;
text-transform: uppercase;
color: #40a5f0;
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }
#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
color: #40a5f0; }
#mainNav .navbar-nav > li.nav-item > a.nav-link,
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus {
font-size: .9rem;
font-weight: 700;
text-transform: uppercase;
color: #212529; }
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover,
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover {
color: #40a5f0; }
#mainNav .navbar-nav > li.nav-item > a.nav-link.active,
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active {
color: #40a5f0 !important;
background-color: transparent; }
#mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover,
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active:hover {
background-color: transparent; }
@media (min-width: 992px) {
#mainNav {
border-color: transparent;
background-color: transparent; }
#mainNav .navbar-brand {
color: rgba(255, 255, 255, 0.7); }
#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
color: #fff; }
#mainNav .navbar-nav > li.nav-item > a.nav-link {
padding: 0.5rem 1rem; }
#mainNav .navbar-nav > li.nav-item > a.nav-link,
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus {
color: rgba(255, 255, 255, 0.7); }
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover,
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover {
color: #fff; }
#mainNav.navbar-shrink {
border-bottom: 1px solid rgba(33, 37, 41, 0.1);
background-color: #fff; }
#mainNav.navbar-shrink .navbar-brand {
color: #40a5f0; }
#mainNav.navbar-shrink .navbar-brand:focus, #mainNav.navbar-shrink .navbar-brand:hover {
color: #40a5f0; }
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link,
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:focus {
color: #212529; }
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:hover,
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:focus:hover {
color: #40a5f0; } }
header.masthead {
padding-top: 10rem;
padding-bottom: calc(10rem - 56px);
background-image: url("header.jpg");
background-position: center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover; }
header.masthead hr {
margin-top: 30px;
margin-bottom: 30px; }
header.masthead h1 {
font-size: 2rem; }
header.masthead p {
font-weight: 300; }
@media (min-width: 768px) {
header.masthead p {
font-size: 1.15rem; } }
@media (min-width: 992px) {
header.masthead {
height: 100vh;
min-height: 650px;
padding-top: 0;
padding-bottom: 0; }
header.masthead h1 {
font-size: 3rem; } }
@media (min-width: 1200px) {
header.masthead h1 {
font-size: 4rem; } }
.service-box {
max-width: 400px; }
.portfolio-box {
position: relative;
display: block;
max-width: 650px;
margin: 0 auto; }
.portfolio-box .portfolio-box-caption {
position: absolute;
bottom: 0;
display: block;
width: 100%;
height: 100%;
text-align: center;
opacity: 0;
color: #fff;
background: rgba(240, 95, 64, 0.9);
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
transition: all 0.2s; }
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content {
position: absolute;
top: 50%;
width: 100%;
transform: translateY(-50%);
text-align: center; }
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category,
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
padding: 0 15px;
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
font-size: 14px;
font-weight: 600;
text-transform: uppercase; }
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
font-size: 18px; }
.portfolio-box:hover .portfolio-box-caption {
opacity: 1; }
.portfolio-box:focus {
outline: none; }
@media (min-width: 768px) {
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
font-size: 16px; }
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
font-size: 22px; } }
.text-primary {
color: #40a5f0 !important; }
.btn {
font-weight: 700;
text-transform: uppercase;
border: none;
border-radius: 300px;
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }
.btn-xl {
padding: 1rem 2rem; }
.btn-primary {
background-color: #40a5f0;
border-color: #40a5f0; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
color: #fff;
background-color: #4080F0 !important; }
.btn-primary:active, .btn-primary:focus {
box-shadow: 0 0 0 0.2rem rgba(240, 95, 64, 0.5) !important; }

2337
app/assets/stylesheets/font-awesome.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,142 @@
/*
* Skin: Blue
* ----------
*/
.skin-blue .main-header .navbar {
background-color: #3c8dbc;
}
.skin-blue .main-header .navbar .nav > li > a {
color: #ffffff;
}
.skin-blue .main-header .navbar .nav > li > a:hover,
.skin-blue .main-header .navbar .nav > li > a:active,
.skin-blue .main-header .navbar .nav > li > a:focus,
.skin-blue .main-header .navbar .nav .open > a,
.skin-blue .main-header .navbar .nav .open > a:hover,
.skin-blue .main-header .navbar .nav .open > a:focus,
.skin-blue .main-header .navbar .nav > .active > a {
background: rgba(0, 0, 0, 0.1);
color: #f6f6f6;
}
.skin-blue .main-header .navbar .sidebar-toggle {
color: #ffffff;
}
.skin-blue .main-header .navbar .sidebar-toggle:hover {
color: #f6f6f6;
background: rgba(0, 0, 0, 0.1);
}
.skin-blue .main-header .navbar .sidebar-toggle {
color: #fff;
}
.skin-blue .main-header .navbar .sidebar-toggle:hover {
background-color: #367fa9;
}
@media (max-width: 767px) {
.skin-blue .main-header .navbar .dropdown-menu li.divider {
background-color: rgba(255, 255, 255, 0.1);
}
.skin-blue .main-header .navbar .dropdown-menu li a {
color: #fff;
}
.skin-blue .main-header .navbar .dropdown-menu li a:hover {
background: #367fa9;
}
}
.skin-blue .main-header .logo {
background-color: #367fa9;
color: #ffffff;
border-bottom: 0 solid transparent;
}
.skin-blue .main-header .logo:hover {
background-color: #357ca5;
}
.skin-blue .main-header li.user-header {
background-color: #3c8dbc;
}
.skin-blue .content-header {
background: transparent;
}
.skin-blue .wrapper,
.skin-blue .main-sidebar,
.skin-blue .left-side {
background-color: #222d32;
}
.skin-blue .user-panel > .info,
.skin-blue .user-panel > .info > a {
color: #fff;
}
.skin-blue .sidebar-menu > li.header {
color: #4b646f;
background: #1a2226;
}
.skin-blue .sidebar-menu > li > a {
border-left: 3px solid transparent;
}
.skin-blue .sidebar-menu > li:hover > a,
.skin-blue .sidebar-menu > li.active > a,
.skin-blue .sidebar-menu > li.menu-open > a {
color: #ffffff;
background: #1e282c;
}
.skin-blue .sidebar-menu > li.active > a {
border-left-color: #3c8dbc;
}
.skin-blue .sidebar-menu > li > .treeview-menu {
margin: 0 1px;
background: #2c3b41;
}
.skin-blue .sidebar a {
color: #b8c7ce;
}
.skin-blue .sidebar a:hover {
text-decoration: none;
}
.skin-blue .sidebar-menu .treeview-menu > li > a {
color: #8aa4af;
}
.skin-blue .sidebar-menu .treeview-menu > li.active > a,
.skin-blue .sidebar-menu .treeview-menu > li > a:hover {
color: #ffffff;
}
.skin-blue .sidebar-form {
border-radius: 3px;
border: 1px solid #374850;
margin: 10px 10px;
}
.skin-blue .sidebar-form input[type="text"],
.skin-blue .sidebar-form .btn {
box-shadow: none;
background-color: #374850;
border: 1px solid transparent;
height: 35px;
}
.skin-blue .sidebar-form input[type="text"] {
color: #666;
border-top-left-radius: 2px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 2px;
}
.skin-blue .sidebar-form input[type="text"]:focus,
.skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
background-color: #fff;
color: #666;
}
.skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
border-left-color: #fff;
}
.skin-blue .sidebar-form .btn {
color: #999;
border-top-left-radius: 0;
border-top-right-radius: 2px;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 0;
}
.skin-blue.layout-top-nav .main-header > .logo {
background-color: #3c8dbc;
color: #ffffff;
border-bottom: 0 solid transparent;
}
.skin-blue.layout-top-nav .main-header > .logo:hover {
background-color: #3b8ab8;
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,40 @@
class Admin::AllPageController < ApplicationController
before_action :authenticate_admin!
layout 'admin'
def index
@adm = AllPage.all
end
def show
end
def new
end
def create
end
def edit
end
def update
end
def destroy
end
def publish
end
def unpublish
end
end

View File

@ -0,0 +1,40 @@
class Admin::ArticleController < ApplicationController
before_action :authenticate_admin!
layout 'admin'
def index
@adm = Article.all
end
def show
end
def new
end
def create
end
def edit
end
def update
end
def destroy
end
def publish
end
def unpublish
end
end

View File

@ -0,0 +1,7 @@
class Admin::HomeController < ApplicationController
before_action :authenticate_admin!
layout 'admin'
def index
@adm = Admin.all
end
end

View File

@ -1,3 +1,13 @@
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
layout :layout_by_resource
protected
def layout_by_resource
if devise_controller?
'devise'
else
'application'
end
end
end

View File

@ -1,4 +0,0 @@
class HomeController < ApplicationController
def index
end
end

View File

@ -0,0 +1,14 @@
class SiteController < ApplicationController
def index
@pages = PublishedPage.all
@adm = Admin.all
end
def show
end
def preview
end
end

View File

@ -1,2 +1,17 @@
module ApplicationHelper
def menu_top(pages)
ret = '<nav class="navbar navbar-expand-lg navbar-light fixed-top navbar-shrink" id="mainNav">'
ret += '<div class="container">'
ret += '<a class="navbar-brand js-scroll-trigger" href="/">Ubezpieczenia-Należności</a>'
ret += '<ul class="navbar-nav ml-auto">'
for page in pages
ret += '<li class="nav-item">'
ret += '<a class="nav-link js-scroll-trigge ' + controller_path.to_s.include?(page.friendly_id) ? 'active' : '' + '" href="/site/' + page.friendly_id + '">' + page.name + '</a>'
ret += '</li>'
end
ret += '</ul></div></div></nav>'
end
end

4
app/models/all_page.rb Normal file
View File

@ -0,0 +1,4 @@
class AllPage < ApplicationRecord
belongs_to :article
end

5
app/models/article.rb Normal file
View File

@ -0,0 +1,5 @@
class PublishedPage < ApplicationRecord
has_many :all_pages
has_many :published_pages
end

View File

@ -0,0 +1,7 @@
class PublishedPage < ApplicationRecord
extend FriendlyId
friendly_id :name, :use => :slugged
belongs_to :all_page
belongs_to :article
end

View File

@ -0,0 +1,29 @@
<% if @all_pages.blank? %>
<div class="callout callout-warning">
<h4>Brak wpisów</h4>
<p>Dla kategorii Strony.</p>
</div>
<% else %>
<table class="table table-bordered">
<tbody>
<tr>
<th style="width: 10px">#</th>
<th>Nazwa</th>
<th>Tytuł</th>
<th>Rodzaj</th>
<th>Data utworzenia</th>
<th style="width: 80px">Akcje</th>
</tr>
<% for ap in @all_pages %>
<tr>
<td><%= ap.name %></td>
<td><%= ap.title %></td>
<td><%= ap.type_of %></td>
<td><%= ap.updated_at %></td>
<td></td>
</tr>
<% end %>
</tbody>
</table>
<% end %>

View File

@ -0,0 +1,13 @@
<div class="row">
<div class="col-md-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">Strony</h3>
<div class="box-tools"><%= link_to 'Dodaj', '/admin/all_page/new', class: 'btn btn-block btn-primary btn-sm' %>
</div>
<!-- /.box-header -->
<div class="box-body">
<%= render 'all_pages' %>
</div>
</div>
</div>

View File

@ -0,0 +1,24 @@
<div class="row">
<div class="col-md-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">Strony</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="summernote"><p>Hello World</p></div>
</div>
</div>
</div>
<% content_for :footer_scripts do %>
<script type="text/javascript">
$(document).ready(function() {
$('.summernote').summernote({
height: 300,
tabsize: 2,
lang: 'pl-PL'
});
});
</script>
<% end %>

View File

@ -0,0 +1,3 @@
<h1>Home#index in admin</h1>
<%= current_admin.email %>
<p>Find me in app/views/home/index.html.erb</p>

View File

@ -0,0 +1,16 @@
<h2>Resend confirmation instructions</h2>
<%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %>
<%= devise_error_messages! %>
<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, autocomplete: "email", value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) %>
</div>
<div class="actions">
<%= f.submit "Resend confirmation instructions" %>
</div>
<% end %>
<%= render "devise/shared/links" %>

View File

@ -0,0 +1,5 @@
<p>Welcome <%= @email %>!</p>
<p>You can confirm your account email through the link below:</p>
<p><%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %></p>

View File

@ -0,0 +1,7 @@
<p>Hello <%= @email %>!</p>
<% if @resource.try(:unconfirmed_email?) %>
<p>We're contacting you to notify you that your email is being changed to <%= @resource.unconfirmed_email %>.</p>
<% else %>
<p>We're contacting you to notify you that your email has been changed to <%= @resource.email %>.</p>
<% end %>

View File

@ -0,0 +1,3 @@
<p>Hello <%= @resource.email %>!</p>
<p>We're contacting you to notify you that your password has been changed.</p>

View File

@ -0,0 +1,8 @@
<p>Hello <%= @resource.email %>!</p>
<p>Someone has requested a link to change your password. You can do this through the link below.</p>
<p><%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %></p>
<p>If you didn't request this, please ignore this email.</p>
<p>Your password won't change until you access the link above and create a new one.</p>

View File

@ -0,0 +1,7 @@
<p>Hello <%= @resource.email %>!</p>
<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
<p>Click the link below to unlock your account:</p>
<p><%= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @token) %></p>

View File

@ -0,0 +1,25 @@
<h2>Change your password</h2>
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %>
<%= devise_error_messages! %>
<%= f.hidden_field :reset_password_token %>
<div class="field">
<%= f.label :password, "New password" %><br />
<% if @minimum_password_length %>
<em>(<%= @minimum_password_length %> characters minimum)</em><br />
<% end %>
<%= f.password_field :password, autofocus: true, autocomplete: "off" %>
</div>
<div class="field">
<%= f.label :password_confirmation, "Confirm new password" %><br />
<%= f.password_field :password_confirmation, autocomplete: "off" %>
</div>
<div class="actions">
<%= f.submit "Change my password" %>
</div>
<% end %>
<%= render "devise/shared/links" %>

View File

@ -0,0 +1,16 @@
<h2>Forgot your password?</h2>
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %>
<%= devise_error_messages! %>
<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
</div>
<div class="actions">
<%= f.submit "Send me reset password instructions" %>
</div>
<% end %>
<%= render "devise/shared/links" %>

View File

@ -0,0 +1,43 @@
<h2>Edit <%= resource_name.to_s.humanize %></h2>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
<%= devise_error_messages! %>
<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
</div>
<% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
<div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
<% end %>
<div class="field">
<%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
<%= f.password_field :password, autocomplete: "off" %>
<% if @minimum_password_length %>
<br />
<em><%= @minimum_password_length %> characters minimum</em>
<% end %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation, autocomplete: "off" %>
</div>
<div class="field">
<%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
<%= f.password_field :current_password, autocomplete: "off" %>
</div>
<div class="actions">
<%= f.submit "Update" %>
</div>
<% end %>
<h3>Cancel my account</h3>
<p>Unhappy? <%= button_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete %></p>
<%= link_to "Back", :back %>

View File

@ -0,0 +1,29 @@
<h2>Sign up</h2>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
</div>
<div class="field">
<%= f.label :password %>
<% if @minimum_password_length %>
<em>(<%= @minimum_password_length %> characters minimum)</em>
<% end %><br />
<%= f.password_field :password, autocomplete: "off" %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation, autocomplete: "off" %>
</div>
<div class="actions">
<%= f.submit "Sign up" %>
</div>
<% end %>
<%= render "devise/shared/links" %>

View File

@ -0,0 +1,32 @@
<div class="login-box">
<div class="login-logo">
<a href="/admin"><b>Admin</b>U-N</a>
</div>
<!-- /.login-logo -->
<div class="login-box-body">
<p class="login-box-msg">Zaloguj się by rozpocząć</p>
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div class="input-group has-feedback">
<span class="input-group-addon"><i class="fa fa-envelope"></i></span>
<%= f.email_field :email, autofocus: true, autocomplete: "email", class: 'form-control', placeholder: 'Email' %>
</div>
<div class="input-group has-feedback">
<span class="input-group-addon"><i class="fa fa-key"></i></span>
<%= f.password_field :password, autocomplete: "off", class: 'form-control', placeholder: 'Hasło' %>
</div>
<div class="row">
<div class="col-xs-8">
</div>
<!-- /.col -->
<div class="col-xs-4">
<%= f.submit "Zaloguj", class: 'btn btn-primary btn-block btn-flat' %>
</div>
<!-- /.col -->
</div>
<% end %>
</div>
<!-- /.login-box-body -->
</div>

View File

@ -0,0 +1,25 @@
<%- if controller_name != 'sessions' %>
<%= link_to "Log in", new_session_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
<%= link_to "Sign up", new_registration_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
<%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
<%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
<%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.omniauthable? %>
<%- resource_class.omniauth_providers.each do |provider| %>
<%= link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider) %><br />
<% end -%>
<% end -%>

View File

@ -0,0 +1,16 @@
<h2>Resend unlock instructions</h2>
<%= form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %>
<%= devise_error_messages! %>
<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
</div>
<div class="actions">
<%= f.submit "Resend unlock instructions" %>
</div>
<% end %>
<%= render "devise/shared/links" %>

View File

@ -1,2 +0,0 @@
<h1>Home#index</h1>
<p>Find me in app/views/home/index.html.erb</p>

View File

@ -0,0 +1,103 @@
<!DOCTYPE html>
<html>
<head>
<title>Ubezpieczenia - Należności - Panel Administracyjny</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application','bootstrap_lte' , 'font-awesome' , media: 'all', 'data-turbolinks-track': 'reload' %>
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic" rel='stylesheet' type='text/css'>
<%= stylesheet_link_tag 'AdminLTE', 'skin-blue', 'summernote' %>
<%= javascript_include_tag 'application', 'jquery', 'data-turbolinks-track': 'reload' %>
</head>
<body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper">
<header class="main-header">
<!-- Logo -->
<a href="/admin" class="logo">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><b>A</b>UN</span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><b>Admin</b>U-N</span>
</a>
<!-- Header Navbar -->
<nav class="navbar navbar-static-top" role="navigation">
<!-- Sidebar toggle button-->
<a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
<span class="sr-only">Toggle navigation</span>
</a>
<!-- Navbar Right Menu -->
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
<!-- User Account Menu -->
<li class="dropdown user user-menu">
<!-- Menu Toggle Button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<!-- The user image in the navbar-->
<!-- hidden-xs hides the username on small devices so only the image appears. -->
<span><%= current_admin.email %></span>
</a>
<ul class="dropdown-menu">
<li class="user-footer">
<div class="pull-right">
<a href="#" class="btn btn-default btn-flat">Profil</a>
</div>
</li>
<li class="user-footer">
<div class="pull-right">
<% if admin_signed_in? %>
<%= link_to('Wyloguj', destroy_admin_session_path, method: :delete, class: 'btn btn-default btn-flat') %>
<% end %>
</div>
</li>
</ul>
</li>
</ul>
</div>
</nav>
</header>
<!-- Left side column. contains the logo and sidebar -->
<aside class="main-sidebar">
<!-- sidebar: style can be found in sidebar.less -->
<section class="sidebar">
<!-- Sidebar Menu -->
<ul class="sidebar-menu" data-widget="tree">
<li class="header">MENU</li>
<!-- Optionally, you can add icons to the links -->
<li class="active"><a href="/admin"><i class="fa fa-home"></i> <span>Home</span></a></li>
<li><a href="/admin/all_page"><i class="fa fa-sitemap"></i> <span>Strony</span></a></li>
<li><a href="/admin"><i class="fa fa-picture-o"></i> <span>Zdjęcia</span></a></li>
<li><a href="/admin/article"><i class="fa fa-picture-o"></i> <span>Artykuły</span></a></li>
</ul>
<!-- /.sidebar-menu -->
</section>
<!-- /.sidebar -->
</aside>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Main content -->
<section class="content container-fluid">
<%= yield %>
</section>
<!-- /.content -->
</div>
<footer class="main-footer">
<!-- To the right -->
<div class="pull-right hidden-xs">
<%= Date.today %>
</div>
<!-- Default to the left -->
<strong>Copyright &copy; <%= Date.today.year %> <a href="http://firestorm.pl" target="__blank">FireStorm</a>.</strong> Wszystkie prawa zastrzeżone
</footer>
<div class="control-sidebar-bg"></div>
</div>
<%= javascript_include_tag 'bootstrap_lte', 'adminlte', 'summernote', 'summernote-pl-PL' %>
<%= yield :footer_scripts %>
</body>
</html>

View File

@ -1,14 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<title>SimpleCrm</title>
<title><%= @page.blank? ? 'Ubezpieczenia - Należności' : @page.title %></title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_link_tag 'application','bootstrap' , 'font-awesome' , media: 'all', 'data-turbolinks-track': 'reload' %>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Merriweather:400,300,300italic,400italic,700,700italic,900,900italic' rel='stylesheet' type='text/css'>
<%= stylesheet_link_tag 'creative' %>
<%= javascript_include_tag 'application', 'jquery', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= raw menu_top(@pages) %>
<%= yield %>
<%= javascript_include_tag 'bootstrap.bundle', 'jquery.easing', 'creative' %>
</body>
</html>

View File

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<title>Ubezpieczenia - Należności - Panel Administracyjny</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application','bootstrap_lte' , 'font-awesome' , media: 'all', 'data-turbolinks-track': 'reload' %>
<link href='href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic"' rel='stylesheet' type='text/css'>
<%= stylesheet_link_tag 'AdminLTE' %>
<%= javascript_include_tag 'application', 'jquery', 'data-turbolinks-track': 'reload' %>
</head>
<body class="hold-transition login-page">
<%= yield %>
<%= javascript_include_tag 'bootstrap_lte', 'adminlte' %>
</body>
</html>

View File

@ -0,0 +1,28 @@
<header class="masthead text-center text-white d-flex">
<div class="container my-auto">
<div class="row">
<div class="col-lg-11 mx-auto">
<h1 class="text-uppercase">
&nbsp;<strong style="display:none" id="line1">Pieniądze nie są ważne</strong>
</h1>
<h1 class="text-uppercase">
&nbsp;<strong style="display:none" id="line2">Pieniądze są najważniejsze</strong>
</h1>
&nbsp;<hr style="visibility:hidden" id="line3">
</div>
<div class="col-lg-8 mx-auto" >
&nbsp;<p class="text-faded mb-5" style="visibility:hidden" id="line4">czyli dlaczego warto ubezpieczać należności</p>
</div>
</div>
</div>
</header>
<script type="text/javascript">
$( document ).ready(function() {
$('#line1').fadeIn(2000, function() {
$('#line2').fadeIn(2000, function() {
$('#line3').css("visibility","visible");
$('#line4').css("visibility","visible");
});
});
});
</script>

View File

@ -11,6 +11,8 @@ module SimpleCms
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 5.1
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
config.assets.precompile += %w( .svg .eot .woff .ttf .otf .woff2 )
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.

View File

@ -40,11 +40,13 @@ Rails.application.configure do
# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = true
config.assets.debug = false
# Suppress logger output for asset requests.
config.assets.quiet = true
config.assets.precompile += ['*.js', '*.css']
# Raises error for missing translations
# config.action_view.raise_on_missing_translations = true

View File

@ -88,4 +88,19 @@ Rails.application.configure do
# Do not dump schema after migrations.
config.active_record.dump_schema_after_migration = false
config.assets.precompile << Proc.new { |path|
if path =~ /\.(css|js)\z/
full_path = Rails.application.assets.resolve(path).to_path
app_assets_path = Rails.root.join('app', 'assets').to_path
if full_path.starts_with? app_assets_path
puts "including asset: " + full_path
true
else
puts "excluding asset: " + full_path
false
end
else
false
end
}
end

View File

@ -1,7 +1,15 @@
Rails.application.routes.draw do
namespace :admin do
root 'home#index'
resources :home
get 'all_page/publish'
get 'all_page/unpublish'
resources :all_page
resources :article
end
devise_for :admins
root 'home#index'
get 'home/index'
root 'site#index'
resources :site
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end