Added custom stylesheets
BIN
app/images/bs/8962691008_7f489395c9_m.jpg
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
app/images/bs/8985207189_01ea27882d_m.jpg
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
app/images/bs/9036958611_fa1bb7f827_m.jpg
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
app/images/bs/9041440555_2175b32078_m.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
app/images/bs/avatar.jpg
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
app/images/bs/chevron-left.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
app/images/bs/chevron-right.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
app/images/bs/devoops_getdata.gif
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
app/images/bs/devoops_pattern_b10.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
app/images/bs/logo-200.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
app/images/bs/logo.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
app/images/bs/sort-asc.png
Normal file
|
After Width: | Height: | Size: 1022 B |
BIN
app/images/bs/sort-desc.png
Normal file
|
After Width: | Height: | Size: 1017 B |
BIN
app/images/bs/sort.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
app/images/bs/times.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
app/images/bs/ui-accordion-down.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
app/images/bs/ui-accordion-right.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
app/images/bs/ui-left.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
app/images/bs/ui-right.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
2530
app/scripts/bs/bs.js
Normal file
26
app/scripts/controllers/header.js
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
angular.module('robotoPromotoApp')
|
||||||
|
.controller('HeaderCtrl', function ($scope, $location, Auth) {
|
||||||
|
$scope.menu = [
|
||||||
|
{
|
||||||
|
'title': 'Home',
|
||||||
|
'link': '/'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'title': 'Settings',
|
||||||
|
'link': '/settings'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
$scope.logout = function () {
|
||||||
|
Auth.logout()
|
||||||
|
.then(function () {
|
||||||
|
$location.path('/login');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.isActive = function (route) {
|
||||||
|
return route === $location.path();
|
||||||
|
};
|
||||||
|
});
|
||||||
@@ -1,23 +1,10 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('robotoPromotoApp')
|
angular.module('robotoPromotoApp')
|
||||||
.controller('NavbarCtrl', function ($scope, $location, Auth) {
|
.controller('NavbarCtrl', function ($scope) {
|
||||||
$scope.menu = [{
|
$scope.awesomeThings = [
|
||||||
'title': 'Home',
|
'HTML5 Boilerplate',
|
||||||
'link': '/'
|
'AngularJS',
|
||||||
}, {
|
'Karma'
|
||||||
'title': 'Settings',
|
];
|
||||||
'link': '/settings'
|
|
||||||
}];
|
|
||||||
|
|
||||||
$scope.logout = function() {
|
|
||||||
Auth.logout()
|
|
||||||
.then(function() {
|
|
||||||
$location.path('/login');
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.isActive = function(route) {
|
|
||||||
return route === $location.path();
|
|
||||||
};
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -11,12 +11,11 @@ angular.module('robotoPromotoApp')
|
|||||||
pageSizes: [5, 10, 20],
|
pageSizes: [5, 10, 20],
|
||||||
pageSize: 5,
|
pageSize: 5,
|
||||||
currentPage: 1
|
currentPage: 1
|
||||||
}
|
};
|
||||||
|
|
||||||
$scope.setPagingData = function(data, page, pageSize){
|
$scope.setPagingData = function(data, total){
|
||||||
var pagedData = data.slice((page-1) * pageSize, page * pageSize);
|
$scope.promotionData = data;
|
||||||
$scope.promotionData = pagedData;
|
$scope.totalServerItems = total;
|
||||||
$scope.totalServerItems = data.length;
|
|
||||||
if (!$scope.$$phase){
|
if (!$scope.$$phase){
|
||||||
$scope.$apply();
|
$scope.$apply();
|
||||||
}
|
}
|
||||||
@@ -27,10 +26,10 @@ angular.module('robotoPromotoApp')
|
|||||||
if (searchText){
|
if (searchText){
|
||||||
var ft = searchText.toLowerCase();
|
var ft = searchText.toLowerCase();
|
||||||
}else{
|
}else{
|
||||||
$http.get('api/promotions')
|
$http.get('api/promotion?sort=created&limit=' + pageSize + '&skip=' + pageSize * (page-1))
|
||||||
.success(function (promotions) {
|
.success(function (promotions) {
|
||||||
$scope.setPagingData(promotions, page, pageSize);
|
$scope.setPagingData(promotions.payload, promotions.total);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, 3000);
|
}, 3000);
|
||||||
};
|
};
|
||||||
|
|||||||
5824
app/styles/bs/base.css
Normal file
2802
app/styles/bs/style.css
Normal file
1
app/styles/bs/style.min.css
vendored
Normal file
@@ -1,98 +1,4 @@
|
|||||||
$icon-font-path: "/bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/";
|
$icon-font-path: "/bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/";
|
||||||
|
|
||||||
@import 'bootstrap-sass-official/vendor/assets/stylesheets/bootstrap';
|
@import 'bs/base.css';
|
||||||
|
@import '../styles/bs/style.css';
|
||||||
.browsehappy {
|
|
||||||
margin: 0.2em 0;
|
|
||||||
background: #ccc;
|
|
||||||
color: #000;
|
|
||||||
padding: 0.2em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Space out content a bit */
|
|
||||||
body {
|
|
||||||
padding-top: 20px;
|
|
||||||
padding-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Everything but the jumbotron gets side spacing for mobile first views */
|
|
||||||
.header,
|
|
||||||
.marketing,
|
|
||||||
.footer {
|
|
||||||
padding-left: 15px;
|
|
||||||
padding-right: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Custom page header */
|
|
||||||
.header {
|
|
||||||
border-bottom: 1px solid #e5e5e5;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Make the masthead heading the same height as the navigation */
|
|
||||||
.header h3 {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
line-height: 40px;
|
|
||||||
padding-bottom: 19px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Custom page footer */
|
|
||||||
.footer {
|
|
||||||
padding-top: 19px;
|
|
||||||
color: #777;
|
|
||||||
border-top: 1px solid #e5e5e5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container-narrow > hr {
|
|
||||||
margin: 30px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Main marketing message and sign up button */
|
|
||||||
.jumbotron {
|
|
||||||
text-align: center;
|
|
||||||
border-bottom: 1px solid #e5e5e5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.jumbotron .btn {
|
|
||||||
font-size: 21px;
|
|
||||||
padding: 14px 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Supporting marketing content */
|
|
||||||
.marketing {
|
|
||||||
margin: 40px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.marketing p + h4 {
|
|
||||||
margin-top: 28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Responsive: Portrait tablets and up */
|
|
||||||
@media screen and (min-width: 768px) {
|
|
||||||
.container {
|
|
||||||
max-width: 730px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Remove the padding we set earlier */
|
|
||||||
.header,
|
|
||||||
.marketing,
|
|
||||||
.footer {
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
/* Space out the masthead */
|
|
||||||
.header {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
/* Remove the bottom border on the jumbotron for visual effect */
|
|
||||||
.jumbotron {
|
|
||||||
border-bottom: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Grids */
|
|
||||||
.roboto-grid {
|
|
||||||
border: 1px solid rgb(212,212,212);
|
|
||||||
width: 600px;
|
|
||||||
height: 300px;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
<!-- endbower -->
|
<!-- endbower -->
|
||||||
<!-- endbuild -->
|
<!-- endbuild -->
|
||||||
<!-- build:css({.tmp,app}) styles/main.css -->
|
<!-- build:css({.tmp,app}) styles/main.css -->
|
||||||
|
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
|
||||||
<link rel="stylesheet" href="styles/main.css">
|
<link rel="stylesheet" href="styles/main.css">
|
||||||
<link rel="stylesheet" href="bower_components/ui-grid/ng-grid.css">
|
<link rel="stylesheet" href="bower_components/ui-grid/ng-grid.css">
|
||||||
<!-- endbuild -->
|
<!-- endbuild -->
|
||||||
@@ -29,25 +30,184 @@
|
|||||||
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade
|
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade
|
||||||
your browser</a> to improve your experience.</p>
|
your browser</a> to improve your experience.</p>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
|
<div ng-include="'partials/header.html'"></div>
|
||||||
|
|
||||||
|
<div id="main" class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div id="sidebar-left" ng-controller="NavbarCtrl" class="col-xs-2 col-sm-2">
|
||||||
|
<ul class="nav main-menu">
|
||||||
|
<li>
|
||||||
|
<a href="ajax/dashboard.html" class="ajax-link">
|
||||||
|
<i class="fa fa-dashboard"></i>
|
||||||
|
<span class="hidden-xs">Dashboard</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle active-parent active">
|
||||||
|
<i class="fa fa-bar-chart-o"></i>
|
||||||
|
<span class="hidden-xs">Charts</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="display: block;">
|
||||||
|
<li><a class="ajax-link active-parent active" href="ajax/charts_xcharts.html">xCharts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/charts_flot.html">Flot Charts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/charts_google.html">Google Charts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/charts_morris.html">Morris Charts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/charts_coindesk.html">CoinDesk realtime</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-table"></i>
|
||||||
|
<span class="hidden-xs">Tables</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a class="ajax-link" href="ajax/tables_simple.html">Simple Tables</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/tables_datatables.html">Data Tables</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/tables_beauty.html">Beauty Tables</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-pencil-square-o"></i>
|
||||||
|
<span class="hidden-xs">Forms</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a class="ajax-link" href="ajax/forms_elements.html">Elements</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/forms_layouts.html">Layouts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/forms_file_uploader.html">File Uploader</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-desktop"></i>
|
||||||
|
<span class="hidden-xs">UI Elements</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a class="ajax-link" href="ajax/ui_grid.html">Grid</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/ui_buttons.html">Buttons</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/ui_progressbars.html">Progress Bars</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/ui_jquery-ui.html">Jquery UI</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/ui_icons.html">Icons</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-list"></i>
|
||||||
|
<span class="hidden-xs">Pages</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="ajax/page_login.html">Login</a></li>
|
||||||
|
<li><a href="ajax/page_register.html">Register</a></li>
|
||||||
|
<li><a id="locked-screen" class="submenu" href="ajax/page_locked.html">Locked Screen</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_contacts.html">Contacts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_feed.html">Feed</a></li>
|
||||||
|
<li><a class="ajax-link add-full" href="ajax/page_messages.html">Messages</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_pricing.html">Pricing</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_invoice.html">Invoice</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_search.html">Search Results</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_404.html">Error 404</a></li>
|
||||||
|
<li><a href="ajax/page_500.html">Error 500</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-map-marker"></i>
|
||||||
|
<span class="hidden-xs">Maps</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a class="ajax-link" href="ajax/maps.html">OpenStreetMap</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/map_fullscreen.html">Fullscreen map</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-picture-o"></i>
|
||||||
|
<span class="hidden-xs">Gallery</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a class="ajax-link" href="ajax/gallery_simple.html">Simple Gallery</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/gallery_flickr.html">Flickr Gallery</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="ajax-link" href="ajax/typography.html">
|
||||||
|
<i class="fa fa-font"></i>
|
||||||
|
<span class="hidden-xs">Typography</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="ajax-link" href="ajax/calendar.html">
|
||||||
|
<i class="fa fa-calendar"></i>
|
||||||
|
<span class="hidden-xs">Calendar</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-picture-o"></i>
|
||||||
|
<span class="hidden-xs">Multilevel menu</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">First level menu</a></li>
|
||||||
|
<li><a href="#">First level menu</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-plus-square"></i>
|
||||||
|
<span class="hidden-xs">Second level menu group</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">Second level menu</a></li>
|
||||||
|
<li><a href="#">Second level menu</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-plus-square"></i>
|
||||||
|
<span class="hidden-xs">Three level menu group</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">Three level menu</a></li>
|
||||||
|
<li><a href="#">Three level menu</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-plus-square"></i>
|
||||||
|
<span class="hidden-xs">Four level menu group</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">Four level menu</a></li>
|
||||||
|
<li><a href="#">Four level menu</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-plus-square"></i>
|
||||||
|
<span class="hidden-xs">Five level menu group</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">Five level menu</a></li>
|
||||||
|
<li><a href="#">Five level menu</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-plus-square"></i>
|
||||||
|
<span class="hidden-xs">Six level menu group</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">Six level menu</a></li>
|
||||||
|
<li><a href="#">Six level menu</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#">Three level menu</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="content" ng-view="" class="col-xs-12 col-sm-10"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Add your site or application content here -->
|
|
||||||
<div class="container" ng-view=""></div>
|
|
||||||
<!-- Google Analytics: change UA-XXXXX-X to be your site's ID -->
|
|
||||||
<script>
|
|
||||||
(function (i, s, o, g, r, a, m) {
|
|
||||||
i['GoogleAnalyticsObject'] = r;
|
|
||||||
i[r] = i[r] || function () {
|
|
||||||
(i[r].q = i[r].q || []).push(arguments)
|
|
||||||
}, i[r].l = 1 * new Date();
|
|
||||||
a = s.createElement(o),
|
|
||||||
m = s.getElementsByTagName(o)[0];
|
|
||||||
a.async = 1;
|
|
||||||
a.src = g;
|
|
||||||
m.parentNode.insertBefore(a, m)
|
|
||||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
|
||||||
ga('create', 'UA-XXXXX-X');
|
|
||||||
ga('send', 'pageview');
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="bower_components/es5-shim/es5-shim.js"></script>
|
<script src="bower_components/es5-shim/es5-shim.js"></script>
|
||||||
@@ -67,8 +227,10 @@
|
|||||||
<script src="bower_components/ui-grid/ng-grid.js"></script>
|
<script src="bower_components/ui-grid/ng-grid.js"></script>
|
||||||
|
|
||||||
<!-- build:js({.tmp,app}) scripts/scripts.js -->
|
<!-- build:js({.tmp,app}) scripts/scripts.js -->
|
||||||
|
<script src="scripts/bs/bs.js"></script>
|
||||||
<script src="scripts/app.js"></script>
|
<script src="scripts/app.js"></script>
|
||||||
<script src="scripts/controllers/main.js"></script>
|
<script src="scripts/controllers/main.js"></script>
|
||||||
|
<script src="scripts/controllers/header.js"></script>
|
||||||
<script src="scripts/controllers/navbar.js"></script>
|
<script src="scripts/controllers/navbar.js"></script>
|
||||||
<script src="scripts/controllers/promotions.js"></script>
|
<script src="scripts/controllers/promotions.js"></script>
|
||||||
<script src="scripts/controllers/login.js"></script>
|
<script src="scripts/controllers/login.js"></script>
|
||||||
|
|||||||
96
app/views/partials/header.html
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
<header class="navbar">
|
||||||
|
<div class="container-fluid expanded-panel">
|
||||||
|
<div class="row">
|
||||||
|
<div id="logo" class="col-xs-12 col-sm-2">
|
||||||
|
<a href="/">Roboto Promoto</a>
|
||||||
|
</div>
|
||||||
|
<div id="top-panel" class="col-xs-12 col-sm-10">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-8 col-sm-4">
|
||||||
|
<a href="#" class="show-sidebar">
|
||||||
|
<i class="fa fa-bars"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<div id="search">
|
||||||
|
<input type="text" placeholder="search">
|
||||||
|
<i class="fa fa-search"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-4 col-sm-8 top-panel-right">
|
||||||
|
<ul class="nav navbar-nav pull-right panel-menu">
|
||||||
|
<li class="hidden-xs">
|
||||||
|
<a href="index.html" class="modal-link">
|
||||||
|
<i class="fa fa-bell"></i>
|
||||||
|
<span class="badge">7</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="hidden-xs">
|
||||||
|
<a class="ajax-link" href="ajax/calendar.html">
|
||||||
|
<i class="fa fa-calendar"></i>
|
||||||
|
<span class="badge">7</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="hidden-xs">
|
||||||
|
<a href="ajax/page_messages.html" class="ajax-link">
|
||||||
|
<i class="fa fa-envelope"></i>
|
||||||
|
<span class="badge">7</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle account" data-toggle="dropdown">
|
||||||
|
<div class="avatar">
|
||||||
|
<img src="images/bs/avatar.jpg" class="img-rounded" alt="avatar">
|
||||||
|
</div>
|
||||||
|
<i class="fa fa-angle-down pull-right"></i>
|
||||||
|
|
||||||
|
<div class="user-mini pull-right">
|
||||||
|
<span class="welcome">Welcome,</span>
|
||||||
|
<span>Jane Devoops</span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
<span class="hidden-sm text">Profile</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="ajax/page_messages.html" class="ajax-link">
|
||||||
|
<i class="fa fa-envelope"></i>
|
||||||
|
<span class="hidden-sm text">Messages</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="ajax/gallery_simple.html" class="ajax-link">
|
||||||
|
<i class="fa fa-picture-o"></i>
|
||||||
|
<span class="hidden-sm text">Albums</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="ajax/calendar.html" class="ajax-link">
|
||||||
|
<i class="fa fa-tasks"></i>
|
||||||
|
<span class="hidden-sm text">Tasks</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
<i class="fa fa-cog"></i>
|
||||||
|
<span class="hidden-sm text">Settings</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
<i class="fa fa-power-off"></i>
|
||||||
|
<span class="hidden-sm text">Logout</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
@@ -1,40 +1,42 @@
|
|||||||
<div ng-include="'partials/navbar.html'"></div>
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<h1>Login</h1>
|
<h1>Login</h1>
|
||||||
<p>Accounts are reset on server restart from <code>dummydata.js</code>. Default account is <code>test@test.com</code> / <code>test</code></p>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-12">
|
|
||||||
<form class="form" name="form" ng-submit="login(form)" novalidate>
|
|
||||||
|
|
||||||
<div class="form-group">
|
<p>Accounts are reset on server restart from <code>dummydata.js</code>. Default account is
|
||||||
<label>Email</label>
|
<code>test@test.com</code> / <code>test</code></p>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<form class="form" name="form" ng-submit="login(form)" novalidate>
|
||||||
|
|
||||||
<input type="text" name="email" class="form-control" ng-model="user.email">
|
<div class="form-group">
|
||||||
</div>
|
<label>Email</label>
|
||||||
|
|
||||||
<div class="form-group">
|
<input type="text" name="email" class="form-control" ng-model="user.email">
|
||||||
<label>Password</label>
|
</div>
|
||||||
|
|
||||||
<input type="password" name="password" class="form-control" ng-model="user.password">
|
<div class="form-group">
|
||||||
</div>
|
<label>Password</label>
|
||||||
|
|
||||||
<div class="form-group has-error">
|
<input type="password" name="password" class="form-control" ng-model="user.password">
|
||||||
<p class="help-block" ng-show="form.email.$error.required && form.password.$error.required && submitted">
|
</div>
|
||||||
Please enter your email and password.
|
|
||||||
</p>
|
|
||||||
<p class="help-block">{{ errors.other }}</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<button type="submit" class="btn btn-lg btn-primary"> Sign in </button>
|
<div class="form-group has-error">
|
||||||
</form>
|
<p class="help-block"
|
||||||
</div>
|
ng-show="form.email.$error.required && form.password.$error.required && submitted">
|
||||||
|
Please enter your email and password.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="help-block">{{ errors.other }}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button type="submit" class="btn btn-lg btn-primary"> Sign in</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<hr>
|
<hr>
|
||||||
Not registered? <a href="/signup" class="text-center new-account">Create an account.</a>
|
Not registered? <a href="/signup" class="text-center new-account">Create an account.</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1,12 +1,355 @@
|
|||||||
<div ng-include="'partials/navbar'"></div>
|
<!--Start Breadcrumb-->
|
||||||
|
<div class="row">
|
||||||
<div class="jumbotron">
|
<div id="breadcrumb" class="col-xs-12">
|
||||||
<p class="lead">
|
<ol class="breadcrumb">
|
||||||
<img src="images/roboto-small.png" alt="I'm Roboto"><br>
|
<li><a href="index.html">Home</a></li>
|
||||||
Intelligent Promotion Distribution for Humans
|
<li><a href="#">Dashboard</a></li>
|
||||||
</p>
|
</ol>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--End Breadcrumb-->
|
||||||
<div class="footer">
|
<!--Start Dashboard 1-->
|
||||||
<p>♥ from the PodNoms team</p>
|
<div id="dashboard-header" class="row">
|
||||||
|
<div class="col-xs-10 col-sm-12">
|
||||||
|
<h3>This is how your promotions should look!</h3>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--End Dashboard 1-->
|
||||||
|
<!--Start Dashboard 2-->
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div id="dashboard_links" class="col-xs-12 col-sm-2 pull-right">
|
||||||
|
<ul class="nav nav-pills nav-stacked">
|
||||||
|
<li class="active"><a href="#" class="tab-link" id="overview">Promotions</a></li>
|
||||||
|
<li class=""><a href="#" class="tab-link" id="clients">Recipients</a></li>
|
||||||
|
<li class=""><a href="#" class="tab-link" id="graph">Positive</a></li>
|
||||||
|
<li class=""><a href="#" class="tab-link" id="servers">Negative</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="dashboard_tabs" class="col-xs-12 col-sm-10">
|
||||||
|
<!--Start Dashboard Tab 1-->
|
||||||
|
<div id="dashboard-overview" class="row" style="visibility: visible; position: relative;">
|
||||||
|
<div id="ow-marketplace" class="col-sm-12 col-md-6">
|
||||||
|
<div id="ow-setting">
|
||||||
|
<a href="#"><i class="fa fa-folder-open"></i></a>
|
||||||
|
<a href="#"><i class="fa fa-credit-card"></i></a>
|
||||||
|
<a href="#"><i class="fa fa-ticket"></i></a>
|
||||||
|
<a href="#"><i class="fa fa-bookmark-o"></i></a>
|
||||||
|
<a href="#"><i class="fa fa-globe"></i></a>
|
||||||
|
</div>
|
||||||
|
<h4 class="page-header">ACTIVE PROMOTIONS</h4>
|
||||||
|
<table id="ticker-table" class="table m-table table-bordered table-hover table-heading">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Promotion</th>
|
||||||
|
<th>Recipients</th>
|
||||||
|
<th>Listened</th>
|
||||||
|
<th>Downloaded</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="m-ticker"><b>RP001</b><span>Robo Vibes 1.</span></td>
|
||||||
|
<td class="m-price">65</td>
|
||||||
|
<td class="m-change"><i class="fa fa-angle-up"></i> 48</td>
|
||||||
|
<td class="m-change"><i class="fa fa-angle-up"></i> 37</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="m-ticker"><b>RP002</b><span>Robo Vibes 2.</span></td>
|
||||||
|
<td class="m-price">65</td>
|
||||||
|
<td class="m-change"><i class="fa fa-angle-up"></i> 36</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="m-ticker"><b>RP003</b><span>Robo Vibes 3.</span></td>
|
||||||
|
<td class="m-price">65</td>
|
||||||
|
<td class="m-change"><i class="fa fa-angle-down"></i> 22</td>
|
||||||
|
<td class="m-change"><i class="fa fa-angle-down"></i> 9</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-md-6">
|
||||||
|
<div id="ow-donut" class="row">
|
||||||
|
<div class="col-xs-4">
|
||||||
|
<div id="morris_donut_1" style="width:120px;height:120px;"></div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-4">
|
||||||
|
<div id="morris_donut_2" style="width:120px;height:120px;"></div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-4">
|
||||||
|
<div id="morris_donut_3" style="width:120px;height:120px;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="ow-activity" class="row">
|
||||||
|
<div class="col-xs-2 col-sm-1 col-md-2">
|
||||||
|
<div class="v-txt">ACTIVITY</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-7 col-sm-5 col-md-6">
|
||||||
|
<div class="row"><i class="fa fa-code"></i> Release published <span class="label label-default pull-right">01:17:34</span></div>
|
||||||
|
<div class="row"><i class="fa fa-cloud-upload"></i> Backup created <span class="label label-default pull-right">03:23:34</span></div>
|
||||||
|
<div class="row"><i class="fa fa-camera"></i> Snapshot created <span class="label label-default pull-right">04:22:11</span></div>
|
||||||
|
<div class="row"><i class="fa fa fa-money"></i> Invoice pay <span class="label label-default pull-right">05:11:51</span></div>
|
||||||
|
<div class="row"><i class="fa fa-briefcase"></i> Project edited <span class="label label-default pull-right">04:52:23</span></div>
|
||||||
|
<div class="row"><i class="fa fa-floppy-o"></i> Project saved <span class="label label-default pull-right">07:11:01</span></div>
|
||||||
|
<div class="row"><i class="fa fa-bug"></i> Bug fixed <span class="label label-default pull-right">09:10:31</span></div>
|
||||||
|
</div>
|
||||||
|
<div id="ow-stat" class="col-xs-3 col-sm-4 col-md-4 pull-right">
|
||||||
|
<div class="row"><small><b>Ow Stat.:</b></small></div>
|
||||||
|
<div class="row">%user <sup>20,43</sup></div>
|
||||||
|
<div class="row">%nice <sup>1,01</sup></div>
|
||||||
|
<div class="row">%system <sup>27,34</sup></div>
|
||||||
|
<div class="row">%iowait <sup>2,02</sup></div>
|
||||||
|
<div class="row">%steal <sup>1,22</sup></div>
|
||||||
|
<div class="row">%idle <sup>47,98</sup></div>
|
||||||
|
<div class="row">tps <sup>296546</sup></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="ow-summary" class="row">
|
||||||
|
<div class="col-xs-12">
|
||||||
|
<h4 class="page-header">Σ SUMMARY</h4>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-6">Total commits<b>1245634</b></div>
|
||||||
|
<div class="col-xs-6">Release count<b>227</b></div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-6">Tests passed<b>5222345</b></div>
|
||||||
|
<div class="col-xs-6">Tickets solved<b>324322</b></div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-6">Active clients<b>52145</b></div>
|
||||||
|
<div class="col-xs-6">Support team<b>288</b></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--End Dashboard Tab 1-->
|
||||||
|
<!--Start Dashboard Tab 2-->
|
||||||
|
<div id="dashboard-clients" class="row" style="visibility: hidden; position: absolute;">
|
||||||
|
<div class="row one-list-message">
|
||||||
|
<div class="col-xs-1"><i class="fa fa-users"></i></div>
|
||||||
|
<div class="col-xs-2"><b>Country</b></div>
|
||||||
|
<div class="col-xs-2">Visitors</div>
|
||||||
|
<div class="col-xs-2">Page hits</div>
|
||||||
|
<div class="col-xs-2">Revenue</div>
|
||||||
|
<div class="col-xs-1">Activity</div>
|
||||||
|
<div class="col-xs-2">Date</div>
|
||||||
|
</div>
|
||||||
|
<div class="row one-list-message">
|
||||||
|
<div class="col-xs-1"><i class="fa fa-user"></i></div>
|
||||||
|
<div class="col-xs-2"><b>USA</b></div>
|
||||||
|
<div class="col-xs-2">109455</div>
|
||||||
|
<div class="col-xs-2">54322344</div>
|
||||||
|
<div class="col-xs-2"><i class="fa fa-usd"></i> 354563</div>
|
||||||
|
<div class="col-xs-1"><span class="bar"></span></div>
|
||||||
|
<div class="col-xs-2 message-date">12/31/13</div>
|
||||||
|
</div>
|
||||||
|
<div class="row one-list-message">
|
||||||
|
<div class="col-xs-1"><i class="fa fa-user"></i></div>
|
||||||
|
<div class="col-xs-2"><b>U.K.</b></div>
|
||||||
|
<div class="col-xs-2">86549</div>
|
||||||
|
<div class="col-xs-2">43242344</div>
|
||||||
|
<div class="col-xs-2"><i class="fa fa-usd"></i> 265563</div>
|
||||||
|
<div class="col-xs-1"><span class="bar"></span></div>
|
||||||
|
<div class="col-xs-2 message-date">12/25/13</div>
|
||||||
|
</div>
|
||||||
|
<div class="row one-list-message">
|
||||||
|
<div class="col-xs-1"><i class="fa fa-user"></i></div>
|
||||||
|
<div class="col-xs-2"><b>FRANCE</b></div>
|
||||||
|
<div class="col-xs-2">79399</div>
|
||||||
|
<div class="col-xs-2">45376844</div>
|
||||||
|
<div class="col-xs-2"><i class="fa fa-usd"></i> 309456</div>
|
||||||
|
<div class="col-xs-1"><span class="bar"></span></div>
|
||||||
|
<div class="col-xs-2 message-date">12/30/13</div>
|
||||||
|
</div>
|
||||||
|
<div class="row one-list-message">
|
||||||
|
<div class="col-xs-1"><i class="fa fa-user"></i></div>
|
||||||
|
<div class="col-xs-2"><b>GERMANY</b></div>
|
||||||
|
<div class="col-xs-2">94567</div>
|
||||||
|
<div class="col-xs-2">35322344</div>
|
||||||
|
<div class="col-xs-2"><i class="fa fa-usd"></i> 301040</div>
|
||||||
|
<div class="col-xs-1"><span class="bar"></span></div>
|
||||||
|
<div class="col-xs-2 message-date">12/26/13</div>
|
||||||
|
</div>
|
||||||
|
<div class="row one-list-message">
|
||||||
|
<div class="col-xs-1"><i class="fa fa-user"></i></div>
|
||||||
|
<div class="col-xs-2"><b>CANADA</b></div>
|
||||||
|
<div class="col-xs-2">89525</div>
|
||||||
|
<div class="col-xs-2">1342344</div>
|
||||||
|
<div class="col-xs-2"><i class="fa fa-usd"></i> 298764</div>
|
||||||
|
<div class="col-xs-1"><span class="bar"></span></div>
|
||||||
|
<div class="col-xs-2 message-date">12/30/13</div>
|
||||||
|
</div>
|
||||||
|
<div class="row one-list-message">
|
||||||
|
<div class="col-xs-1"><i class="fa fa-user"></i></div>
|
||||||
|
<div class="col-xs-2"><b>CHINA</b></div>
|
||||||
|
<div class="col-xs-2">120865</div>
|
||||||
|
<div class="col-xs-2">43522344</div>
|
||||||
|
<div class="col-xs-2"><i class="fa fa-usd"></i> 776563</div>
|
||||||
|
<div class="col-xs-1"><span class="bar"></span></div>
|
||||||
|
<div class="col-xs-2 message-date">12/29/13</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--End Dashboard Tab 2-->
|
||||||
|
<!--Start Dashboard Tab 3-->
|
||||||
|
<div id="dashboard-graph" class="row" style="width:100%; visibility: hidden; position: absolute;" >
|
||||||
|
<div class="col-xs-12">
|
||||||
|
<h4 class="page-header">OS Platform Statistics</h4>
|
||||||
|
<div id="stat-graph" style="height: 300px;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--End Dashboard Tab 3-->
|
||||||
|
<!--Start Dashboard Tab 4-->
|
||||||
|
<div id="dashboard-servers" class="row" style="visibility: hidden; position: absolute;">
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-4 ow-server">
|
||||||
|
<h4 class="page-header text-right"><i class="fa fa-windows"></i>#SRV-APP</h4>
|
||||||
|
<small>Application server</small>
|
||||||
|
<div class="ow-settings">
|
||||||
|
<a href="#"><i class="fa fa-gears"></i></a>
|
||||||
|
</div>
|
||||||
|
<div class="row ow-server-bottom">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="knob-slider">
|
||||||
|
<input id="knob-srv-1" class="knob" data-width="60" data-height="60" data-angleOffset="180" data-fgColor="#6AA6D6" data-skin="tron" data-thickness=".2" value="">CPU Load
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="row"><i class="fa fa-windows"></i> Windows 2008</div>
|
||||||
|
<div class="row"><i class="fa fa-user"></i> Active users - 49</div>
|
||||||
|
<div class="row"><i class="fa fa-bolt"></i> Uptime - 10 days</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-4 ow-server">
|
||||||
|
<h4 class="page-header text-right"><i class="fa fa-windows"></i>#DB-MASTER</h4>
|
||||||
|
<small>SQL server</small>
|
||||||
|
<div class="ow-settings">
|
||||||
|
<a href="#"><i class="fa fa-gears"></i></a>
|
||||||
|
</div>
|
||||||
|
<div class="row ow-server-bottom">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="knob-slider">
|
||||||
|
<input id="knob-srv-2" class="knob" data-width="60" data-height="60" data-angleOffset="180" data-fgColor="#6AA6D6" data-skin="tron" data-thickness=".2" value="">CPU Load
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="row"><i class="fa fa-windows"></i> Windows 2013</div>
|
||||||
|
<div class="row"><i class="fa fa-user"></i> Active users - 39</div>
|
||||||
|
<div class="row"><i class="fa fa-bolt"></i> Uptime - 2 month 1 day</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-4 ow-server">
|
||||||
|
<h4 class="page-header text-right"><i class="fa fa-linux"></i>#DB-WEB</h4>
|
||||||
|
<small>MySQL server</small>
|
||||||
|
<div class="ow-settings">
|
||||||
|
<a href="#"><i class="fa fa-gears"></i></a>
|
||||||
|
</div>
|
||||||
|
<div class="row ow-server-bottom">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="knob-slider">
|
||||||
|
<input id="knob-srv-3" class="knob" data-width="60" data-height="60" data-angleOffset="180" data-fgColor="#6AA6D6" data-skin="tron" data-thickness=".2" value="">CPU Load
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="row"><i class="fa fa-linux"></i> CentOS 6.5</div>
|
||||||
|
<div class="row"><i class="fa fa-user"></i> Active users - 298</div>
|
||||||
|
<div class="row"><i class="fa fa-bolt"></i> Uptime - 9 month 17 day</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-4 ow-server">
|
||||||
|
<h4 class="page-header text-right"><i class="fa fa-linux"></i>#WWW-SRV</h4>
|
||||||
|
<small>Web-server</small>
|
||||||
|
<div class="ow-settings">
|
||||||
|
<a href="#"><i class="fa fa-gears"></i></a>
|
||||||
|
</div>
|
||||||
|
<div class="row ow-server-bottom">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="knob-slider">
|
||||||
|
<input id="knob-srv-4" class="knob" data-width="60" data-height="60" data-angleOffset="180" data-fgColor="#6AA6D6" data-skin="tron" data-thickness=".2" value="">CPU Load
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="row"><i class="fa fa-linux"></i> Centos 6.5</div>
|
||||||
|
<div class="row"><i class="fa fa-user"></i> Active users - 1989</div>
|
||||||
|
<div class="row"><i class="fa fa-bolt"></i> Uptime - 2 years 3 month</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-4 ow-server">
|
||||||
|
<h4 class="page-header text-right"><i class="fa fa-linux"></i>#PHONE-OFFICE</h4>
|
||||||
|
<small>Asterisk</small>
|
||||||
|
<div class="ow-settings">
|
||||||
|
<a href="#"><i class="fa fa-gears"></i></a>
|
||||||
|
</div>
|
||||||
|
<div class="row ow-server-bottom">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="knob-slider">
|
||||||
|
<input id="knob-srv-5" class="knob" data-width="60" data-height="60" data-angleOffset="180" data-fgColor="#6AA6D6" data-skin="tron" data-thickness=".2" value="">CPU Load
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="row"><i class="fa fa-linux"></i> Debian 6.4</div>
|
||||||
|
<div class="row"><i class="fa fa-phone"></i> Active calls - 86</div>
|
||||||
|
<div class="row"><i class="fa fa-bolt"></i> Uptime - 3 month 19 day</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-4 ow-server">
|
||||||
|
<h4 class="page-header text-right"><i class="fa fa-linux"></i>#DEVEL</h4>
|
||||||
|
<small>DEV server</small>
|
||||||
|
<div class="ow-settings">
|
||||||
|
<a href="#"><i class="fa fa-gears"></i></a>
|
||||||
|
</div>
|
||||||
|
<div class="row ow-server-bottom">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="knob-slider">
|
||||||
|
<input id="knob-srv-6" class="knob" data-width="60" data-height="60" data-angleOffset="180" data-fgColor="#6AA6D6" data-skin="tron" data-thickness=".2" value="">CPU Load
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="row"><i class="fa fa-linux"></i> CentOS 6.5</div>
|
||||||
|
<div class="row"><i class="fa fa-archive"></i> Repositories - 17</div>
|
||||||
|
<div class="row"><i class="fa fa-bolt"></i> Uptime - 4 month 21 day</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
<div id="ow-server-footer">
|
||||||
|
<a href="#" class="col-xs-4 col-sm-2 btn-default text-center"><i class="fa fa-sun-o"></i> <b>287</b> <span>Hosts</span></a>
|
||||||
|
<a href="#" class="col-xs-4 col-sm-2 btn-default text-center"><i class="fa fa-envelope-o"></i> <b>56</b> <span>Messages</span></a>
|
||||||
|
<a href="#" class="col-xs-4 col-sm-2 btn-default text-center"><i class="fa fa-desktop"></i> <b>85</b> <span>Stations</span></a>
|
||||||
|
<a href="#" class="col-xs-4 col-sm-2 btn-default text-center"><i class="fa fa-info-circle"></i> <b>33</b> <span>Errors</span></a>
|
||||||
|
<a href="#" class="col-xs-4 col-sm-2 btn-default text-center"><i class="fa fa-comments-o"></i> <b>1386</b> <span>Comments</span></a>
|
||||||
|
<a href="#" class="col-xs-4 col-sm-2 btn-default text-center"><i class="fa fa-user"></i> <b>19985</b> <span>Clients</span></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--End Dashboard Tab 4-->
|
||||||
|
</div>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
<!--End Dashboard 2 -->
|
||||||
|
<div style="height: 40px;"></div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
// Array for random data for Sparkline
|
||||||
|
var sparkline_arr_1 = SparklineTestData();
|
||||||
|
var sparkline_arr_2 = SparklineTestData();
|
||||||
|
var sparkline_arr_3 = SparklineTestData();
|
||||||
|
$(document).ready(function() {
|
||||||
|
// Make all JS-activity for dashboard
|
||||||
|
DashboardTabChecker();
|
||||||
|
// Load Knob plugin and run callback for draw Knob charts for dashboard(tab-servers)
|
||||||
|
LoadKnobScripts(DrawKnobDashboard);
|
||||||
|
// Load Sparkline plugin and run callback for draw Sparkline charts for dashboard(top of dashboard + plot in tables)
|
||||||
|
LoadSparkLineScript(DrawSparklineDashboard);
|
||||||
|
// Load Morris plugin and run callback for draw Morris charts for dashboard
|
||||||
|
LoadMorrisScripts(MorrisDashboard);
|
||||||
|
// Make beauty hover in table
|
||||||
|
$("#ticker-table").beautyHover();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|||||||
@@ -1,12 +1,180 @@
|
|||||||
<div class="header" ng-controller="NavbarCtrl">
|
<!--
|
||||||
<ul class="nav nav-pills pull-right">
|
<ul class="nav nav-pills pull-right">
|
||||||
<li ng-repeat="item in menu" ng-class="{active: isActive(item.link)}">
|
<li ng-repeat="item in menu" ng-class="{active: isActive(item.link)}">
|
||||||
<a ng-href="{{item.link}}">{{item.title}}</a>
|
<a ng-href="{{item.link}}">{{item.title}}</a>
|
||||||
|
</li>
|
||||||
|
<li ng-hide="currentUser" ng-class="{active: isActive('/promotions')}"><a href="/promotions">Promotions</a></li>
|
||||||
|
<li ng-hide="currentUser" ng-class="{active: isActive('/login')}"><a href="/login">Login</a></li>
|
||||||
|
<li ng-hide="currentUser" ng-class="{active: isActive('/signup')}"><a href="/signup">Sign up</a></li>
|
||||||
|
<li ng-show="currentUser" ng-class="{active: isActive('/logout')}"><a href="" ng-click="logout()">Logout</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
-->
|
||||||
|
<ul class="nav main-menu">
|
||||||
|
<li>
|
||||||
|
<a href="ajax/dashboard.html" class="ajax-link">
|
||||||
|
<i class="fa fa-dashboard"></i>
|
||||||
|
<span class="hidden-xs">Dashboard</span>
|
||||||
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li ng-hide="currentUser" ng-class="{active: isActive('/promotions')}"><a href="/promotions">Promotions</a></li>
|
<li class="dropdown">
|
||||||
<li ng-hide="currentUser" ng-class="{active: isActive('/login')}"><a href="/login">Login</a></li>
|
<a href="#" class="dropdown-toggle active-parent active">
|
||||||
<li ng-hide="currentUser" ng-class="{active: isActive('/signup')}"><a href="/signup">Sign up</a></li>
|
<i class="fa fa-bar-chart-o"></i>
|
||||||
<li ng-show="currentUser" ng-class="{active: isActive('/logout')}"><a href="" ng-click="logout()">Logout</a></li>
|
<span class="hidden-xs">Charts</span>
|
||||||
</ul>
|
</a>
|
||||||
<h3 class="text-muted">Roboto Promoto</h3>
|
<ul class="dropdown-menu" style="display: block;">
|
||||||
</div>
|
<li><a class="ajax-link active-parent active" href="ajax/charts_xcharts.html">xCharts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/charts_flot.html">Flot Charts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/charts_google.html">Google Charts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/charts_morris.html">Morris Charts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/charts_coindesk.html">CoinDesk realtime</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-table"></i>
|
||||||
|
<span class="hidden-xs">Tables</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a class="ajax-link" href="ajax/tables_simple.html">Simple Tables</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/tables_datatables.html">Data Tables</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/tables_beauty.html">Beauty Tables</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-pencil-square-o"></i>
|
||||||
|
<span class="hidden-xs">Forms</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a class="ajax-link" href="ajax/forms_elements.html">Elements</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/forms_layouts.html">Layouts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/forms_file_uploader.html">File Uploader</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-desktop"></i>
|
||||||
|
<span class="hidden-xs">UI Elements</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a class="ajax-link" href="ajax/ui_grid.html">Grid</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/ui_buttons.html">Buttons</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/ui_progressbars.html">Progress Bars</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/ui_jquery-ui.html">Jquery UI</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/ui_icons.html">Icons</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-list"></i>
|
||||||
|
<span class="hidden-xs">Pages</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="ajax/page_login.html">Login</a></li>
|
||||||
|
<li><a href="ajax/page_register.html">Register</a></li>
|
||||||
|
<li><a id="locked-screen" class="submenu" href="ajax/page_locked.html">Locked Screen</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_contacts.html">Contacts</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_feed.html">Feed</a></li>
|
||||||
|
<li><a class="ajax-link add-full" href="ajax/page_messages.html">Messages</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_pricing.html">Pricing</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_invoice.html">Invoice</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_search.html">Search Results</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/page_404.html">Error 404</a></li>
|
||||||
|
<li><a href="ajax/page_500.html">Error 500</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-map-marker"></i>
|
||||||
|
<span class="hidden-xs">Maps</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a class="ajax-link" href="ajax/maps.html">OpenStreetMap</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/map_fullscreen.html">Fullscreen map</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-picture-o"></i>
|
||||||
|
<span class="hidden-xs">Gallery</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a class="ajax-link" href="ajax/gallery_simple.html">Simple Gallery</a></li>
|
||||||
|
<li><a class="ajax-link" href="ajax/gallery_flickr.html">Flickr Gallery</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="ajax-link" href="ajax/typography.html">
|
||||||
|
<i class="fa fa-font"></i>
|
||||||
|
<span class="hidden-xs">Typography</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="ajax-link" href="ajax/calendar.html">
|
||||||
|
<i class="fa fa-calendar"></i>
|
||||||
|
<span class="hidden-xs">Calendar</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-picture-o"></i>
|
||||||
|
<span class="hidden-xs">Multilevel menu</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">First level menu</a></li>
|
||||||
|
<li><a href="#">First level menu</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-plus-square"></i>
|
||||||
|
<span class="hidden-xs">Second level menu group</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">Second level menu</a></li>
|
||||||
|
<li><a href="#">Second level menu</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-plus-square"></i>
|
||||||
|
<span class="hidden-xs">Three level menu group</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">Three level menu</a></li>
|
||||||
|
<li><a href="#">Three level menu</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-plus-square"></i>
|
||||||
|
<span class="hidden-xs">Four level menu group</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">Four level menu</a></li>
|
||||||
|
<li><a href="#">Four level menu</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-plus-square"></i>
|
||||||
|
<span class="hidden-xs">Five level menu group</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">Five level menu</a></li>
|
||||||
|
<li><a href="#">Five level menu</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle">
|
||||||
|
<i class="fa fa-plus-square"></i>
|
||||||
|
<span class="hidden-xs">Six level menu group</span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" style="">
|
||||||
|
<li><a href="#">Six level menu</a></li>
|
||||||
|
<li><a href="#">Six level menu</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#">Three level menu</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|||||||
@@ -1,4 +1,2 @@
|
|||||||
<div ng-include="'partials/navbar'"></div>
|
|
||||||
|
|
||||||
<p><strong>Filter: </strong><input type="text" ng-model="filterOptions.filterText"/></p>
|
<p><strong>Filter: </strong><input type="text" ng-model="filterOptions.filterText"/></p>
|
||||||
<div class="roboto-grid" ng-grid="gridPromotions"></div>
|
<div class="roboto-grid" ng-grid="gridPromotions"></div>
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
<div ng-include="'partials/navbar.html'"></div>
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<h1>Change Password</h1>
|
<h1>Change Password</h1>
|
||||||
|
|||||||
@@ -1,66 +1,70 @@
|
|||||||
<div ng-include="'partials/navbar.html'"></div>
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<h1>Sign up</h1>
|
<h1>Sign up</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<form class="form" name="form" ng-submit="register(form)" novalidate>
|
<form class="form" name="form" ng-submit="register(form)" novalidate>
|
||||||
|
|
||||||
<div class="form-group" ng-class="{ 'has-success': form.name.$valid && submitted,
|
<div class="form-group" ng-class="{ 'has-success': form.name.$valid && submitted,
|
||||||
'has-error': form.name.$invalid && submitted }">
|
'has-error': form.name.$invalid && submitted }">
|
||||||
<label>Name</label>
|
<label>Name</label>
|
||||||
|
|
||||||
<input type="text" name="name" class="form-control" ng-model="user.name"
|
<input type="text" name="name" class="form-control" ng-model="user.name"
|
||||||
required/>
|
required/>
|
||||||
<p class="help-block" ng-show="form.name.$error.required && submitted">
|
|
||||||
A name is required
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group" ng-class="{ 'has-success': form.email.$valid && submitted,
|
<p class="help-block" ng-show="form.name.$error.required && submitted">
|
||||||
|
A name is required
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" ng-class="{ 'has-success': form.email.$valid && submitted,
|
||||||
'has-error': form.email.$invalid && submitted }">
|
'has-error': form.email.$invalid && submitted }">
|
||||||
<label>Email</label>
|
<label>Email</label>
|
||||||
|
|
||||||
<input type="email" name="email" class="form-control" ng-model="user.email"
|
<input type="email" name="email" class="form-control" ng-model="user.email"
|
||||||
required
|
required
|
||||||
mongoose-error/>
|
mongoose-error/>
|
||||||
<p class="help-block" ng-show="form.email.$error.email && submitted">
|
|
||||||
Doesn't look like a valid email.
|
|
||||||
</p>
|
|
||||||
<p class="help-block" ng-show="form.email.$error.required && submitted">
|
|
||||||
What's your email address?
|
|
||||||
</p>
|
|
||||||
<p class="help-block" ng-show="form.email.$error.mongoose">
|
|
||||||
{{ errors.email }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group" ng-class="{ 'has-success': form.password.$valid && submitted,
|
<p class="help-block" ng-show="form.email.$error.email && submitted">
|
||||||
|
Doesn't look like a valid email.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="help-block" ng-show="form.email.$error.required && submitted">
|
||||||
|
What's your email address?
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="help-block" ng-show="form.email.$error.mongoose">
|
||||||
|
{{ errors.email }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" ng-class="{ 'has-success': form.password.$valid && submitted,
|
||||||
'has-error': form.password.$invalid && submitted }">
|
'has-error': form.password.$invalid && submitted }">
|
||||||
<label>Password</label>
|
<label>Password</label>
|
||||||
|
|
||||||
<input type="password" name="password" class="form-control" ng-model="user.password"
|
<input type="password" name="password" class="form-control" ng-model="user.password"
|
||||||
ng-minlength="3"
|
ng-minlength="3"
|
||||||
required
|
required
|
||||||
mongoose-error/>
|
mongoose-error/>
|
||||||
<p class="help-block"
|
|
||||||
ng-show="(form.password.$error.minlength || form.password.$error.required) && submitted">
|
|
||||||
Password must be at least 3 characters.
|
|
||||||
</p>
|
|
||||||
<p class="help-block" ng-show="form.password.$error.mongoose">
|
|
||||||
{{ errors.password }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<button class="btn btn-lg btn-primary" type="submit">Sign up</button>
|
<p class="help-block"
|
||||||
</form>
|
ng-show="(form.password.$error.minlength || form.password.$error.required) && submitted">
|
||||||
</div>
|
Password must be at least 3 characters.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="help-block" ng-show="form.password.$error.mongoose">
|
||||||
|
{{ errors.password }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-lg btn-primary" type="submit">Sign up</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<hr>
|
<hr>
|
||||||
Have an account? <a href="/login" class="text-center new-account">Log in.</a>
|
Have an account? <a href="/login" class="text-center new-account">Log in.</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -15,11 +15,21 @@ var user = new User({
|
|||||||
email: 'test@test.com',
|
email: 'test@test.com',
|
||||||
password: 'password'
|
password: 'password'
|
||||||
});
|
});
|
||||||
user.save(function(err){ if (err) console.dir(err);});
|
user.save(function (err) {
|
||||||
|
if (err) console.dir(err);
|
||||||
|
});
|
||||||
|
|
||||||
for (var i=0;i<=100;i++){
|
var date = new Date(2013, 0, 1);
|
||||||
var promotion = new Promotion({ title: 'Test Prom ' + i, user: user }).save(function(err){ if (err) console.dir(err);});
|
for (var i = 0; i <= 100; i++) {
|
||||||
console.log("Bootstrapping promotion: " + i);
|
new Promotion({
|
||||||
|
title: 'Test Prom ' + i,
|
||||||
|
user: user,
|
||||||
|
created: date.getTime()
|
||||||
|
}).save(function (err) {
|
||||||
|
if (err) console.dir(err);
|
||||||
|
});
|
||||||
|
console.log("Bootstrapping promotion: " + (date + (i * 86400000)));
|
||||||
|
date.setTime(date.getTime() + (1 * 24 * 60 * 60 * 1000))
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("Bootstrap complete");
|
console.log("Bootstrap complete");
|
||||||
|
|||||||
@@ -5,23 +5,23 @@ var path = require('path');
|
|||||||
/**
|
/**
|
||||||
* Send partial, or 404 if it doesn't exist
|
* Send partial, or 404 if it doesn't exist
|
||||||
*/
|
*/
|
||||||
exports.partials = function(req, res) {
|
exports.partials = function (req, res) {
|
||||||
var stripped = req.url.split('.')[0];
|
var stripped = req.url.split('.')[0];
|
||||||
var requestedView = path.join('./', stripped);
|
var requestedView = path.join('./', stripped);
|
||||||
res.render(requestedView, function(err, html) {
|
res.render(requestedView, function (err, html) {
|
||||||
if(err) {
|
if (err) {
|
||||||
console.log("Error rendering partial '" + requestedView + "'\n", err);
|
console.log("Error rendering partial '" + requestedView + "'\n", err);
|
||||||
res.status(404);
|
res.status(404);
|
||||||
res.send(404);
|
res.send(404);
|
||||||
} else {
|
} else {
|
||||||
res.send(html);
|
res.send(html);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send our single page app
|
* Send our single page app
|
||||||
*/
|
*/
|
||||||
exports.index = function(req, res) {
|
exports.index = function (req, res) {
|
||||||
res.render('index');
|
res.render('index');
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3,15 +3,16 @@
|
|||||||
var index = require('./controllers'),
|
var index = require('./controllers'),
|
||||||
users = require('./controllers/users'),
|
users = require('./controllers/users'),
|
||||||
promotions = require('./controllers/promotions'),
|
promotions = require('./controllers/promotions'),
|
||||||
session = require('./controllers/session');
|
session = require('./controllers/session'),
|
||||||
|
mongoose = require('mongoose'),
|
||||||
|
middleware = require('./middleware'),
|
||||||
|
mers = require('mers');
|
||||||
|
|
||||||
var middleware = require('./middleware');
|
module.exports = function (app) {
|
||||||
|
|
||||||
/**
|
app.use('/api', mers({mongoose: mongoose}).rest());
|
||||||
* Application routes
|
|
||||||
*/
|
|
||||||
module.exports = function(app) {
|
|
||||||
|
|
||||||
|
/*
|
||||||
// Server API Routes
|
// Server API Routes
|
||||||
app.get('/api/promotions', promotions.list);
|
app.get('/api/promotions', promotions.list);
|
||||||
app.post('/api/promotions', promotions.create);
|
app.post('/api/promotions', promotions.create);
|
||||||
@@ -26,9 +27,10 @@ module.exports = function(app) {
|
|||||||
app.del('/api/session', session.logout);
|
app.del('/api/session', session.logout);
|
||||||
|
|
||||||
// All undefined api routes should return a 404
|
// All undefined api routes should return a 404
|
||||||
app.get('/api/*', function(req, res) {
|
app.get('/api/*', function (req, res) {
|
||||||
res.send(404);
|
res.send(404);
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
// All other routes to use Angular routing in app/scripts/app.js
|
// All other routes to use Angular routing in app/scripts/app.js
|
||||||
app.get('/partials/*', index.partials);
|
app.get('/partials/*', index.partials);
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
"name": "roboto-promoto",
|
"name": "roboto-promoto",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"connect-mongo": "~0.4.0",
|
||||||
|
"ejs": "~0.8.4",
|
||||||
"express": "~3.4.3",
|
"express": "~3.4.3",
|
||||||
"lodash": "~2.4.1",
|
"lodash": "~2.4.1",
|
||||||
"mongoose": "~3.8.8",
|
"mongoose": "~3.8.8",
|
||||||
"connect-mongo": "~0.4.0",
|
"ng-grid": "~2.0.1",
|
||||||
"passport": "~0.2.0",
|
"passport": "~0.2.0",
|
||||||
"passport-local": "~0.1.6",
|
"passport-local": "~0.1.6"
|
||||||
"ejs": "~0.8.4",
|
|
||||||
"ng-grid": "~2.0.1"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"grunt": "~0.4.1",
|
"grunt": "~0.4.1",
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ fs.readdirSync(modelsPath).forEach(function (file) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Populate empty DB with sample data
|
// Populate empty DB with sample data
|
||||||
require('./lib/config/dummydata');
|
//require('./lib/config/dummydata');
|
||||||
|
|
||||||
// Passport Configuration
|
// Passport Configuration
|
||||||
var passport = require('./lib/config/passport');
|
var passport = require('./lib/config/passport');
|
||||||
@@ -40,6 +40,7 @@ require('./lib/config/express')(app);
|
|||||||
// Routing
|
// Routing
|
||||||
require('./lib/routes')(app);
|
require('./lib/routes')(app);
|
||||||
|
|
||||||
|
|
||||||
// Start server
|
// Start server
|
||||||
app.listen(config.port, function () {
|
app.listen(config.port, function () {
|
||||||
console.log('Express server listening on port %d in %s mode', config.port, app.get('env'));
|
console.log('Express server listening on port %d in %s mode', config.port, app.get('env'));
|
||||||
|
|||||||
22
test/client/spec/controllers/header.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
describe('Controller: HeaderCtrl', function () {
|
||||||
|
|
||||||
|
// load the controller's module
|
||||||
|
beforeEach(module('robotoPromotoApp'));
|
||||||
|
|
||||||
|
var HeaderCtrl,
|
||||||
|
scope;
|
||||||
|
|
||||||
|
// Initialize the controller and a mock scope
|
||||||
|
beforeEach(inject(function ($controller, $rootScope) {
|
||||||
|
scope = $rootScope.$new();
|
||||||
|
HeaderCtrl = $controller('HeaderCtrl', {
|
||||||
|
$scope: scope
|
||||||
|
});
|
||||||
|
}));
|
||||||
|
|
||||||
|
it('should attach a list of awesomeThings to the scope', function () {
|
||||||
|
expect(scope.awesomeThings.length).toBe(3);
|
||||||
|
});
|
||||||
|
});
|
||||||
22
test/client/spec/controllers/navbar.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
describe('Controller: NavbarCtrl', function () {
|
||||||
|
|
||||||
|
// load the controller's module
|
||||||
|
beforeEach(module('robotoPromotoApp'));
|
||||||
|
|
||||||
|
var NavbarCtrl,
|
||||||
|
scope;
|
||||||
|
|
||||||
|
// Initialize the controller and a mock scope
|
||||||
|
beforeEach(inject(function ($controller, $rootScope) {
|
||||||
|
scope = $rootScope.$new();
|
||||||
|
NavbarCtrl = $controller('NavbarCtrl', {
|
||||||
|
$scope: scope
|
||||||
|
});
|
||||||
|
}));
|
||||||
|
|
||||||
|
it('should attach a list of awesomeThings to the scope', function () {
|
||||||
|
expect(scope.awesomeThings.length).toBe(3);
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -33,23 +33,23 @@ describe('Promotions Api', function(){
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe('GET /api/promotions', function () {
|
describe('GET /api/promotion', function () {
|
||||||
it('should respond with JSON array', function (done) {
|
it('should respond with JSON array', function (done) {
|
||||||
request(app)
|
request(app)
|
||||||
.get('/api/promotions')
|
.get('/api/promotion')
|
||||||
.expect(200)
|
.expect(200)
|
||||||
.expect('Content-Type', /json/)
|
.expect('Content-Type', /json/)
|
||||||
.end(function (err, res) {
|
.end(function (err, res) {
|
||||||
if (err) return done(err);
|
if (err) return done(err);
|
||||||
res.body.should.be.instanceof(Array);
|
res.body.payload.should.be.instanceof(Array);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe('POST /api/promotions', function () {
|
describe('POST /api/promotion', function () {
|
||||||
it('should respond with the item POSTed', function (done) {
|
it('should respond with the item POSTed', function (done) {
|
||||||
request(app)
|
request(app)
|
||||||
.post('/api/promotions')
|
.post('/api/promotion')
|
||||||
.send({
|
.send({
|
||||||
title: 'API - Test 2',
|
title: 'API - Test 2',
|
||||||
user: auth
|
user: auth
|
||||||
|
|||||||