Skip to content

Commit

Permalink
added anime_edit page
Browse files Browse the repository at this point in the history
  • Loading branch information
bryngo committed Jul 8, 2018
1 parent 4ca308d commit eeeb40d
Show file tree
Hide file tree
Showing 8 changed files with 201 additions and 30 deletions.
2 changes: 1 addition & 1 deletion bin/www
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*/

var app = require('../app');
var debug = require('debug')('blackhawk:server');
var debug = require('debug')('lightning:server');
var http = require('http');

/**
Expand Down
6 changes: 3 additions & 3 deletions public/css/blog.css
Original file line number Diff line number Diff line change
Expand Up @@ -255,9 +255,9 @@
margin-left: 0;
}

.\31 2u\24 + *,
.\31 1u\24 + *,
.\31 0u\24 + *,
.\31\ 2u\24 + *,
.\31\ 1u\24 + *,
.\31\ 0u\24 + *,
.\39 u\24 + *,
.\38 u\24 + *,
.\37 u\24 + *,
Expand Down
100 changes: 100 additions & 0 deletions routes/anime_queries.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
var fs = require('fs');
var util = require('util');
var mongodb = require('mongodb');

var MongoClient = require('mongodb').MongoClient;
assert = require('assert');

// Connection url
var url = 'mongodb://localhost';

/* ---- Anime insertion ---- */
// Inserts many anime
var insertAnime = function(info, db, callback) {

var collection = db.collection('anime');

// Insert some documents
collection.insertMany([
info
], function(err, result) {
assert.equal(err, null);
assert.equal(1, result.result.n);
assert.equal(1, result.ops.length);
callback(result);
});
};

// Wrapper function to insert data externally
var insertAnimeWrapper = function(info) {
MongoClient.connect(url, function(err, client) {

var db = client.db('Lightning');

assert.equal(null, err);
insertAnime(info, db, function() {
client.close();
});
});
};

/* ---- Anime Filter ---- */
// Select anime(s) with the given condition
var filterAnime = function(condition, db, callback) {

var collection = db.collection('anime');

// Find some documents
collection.find(condition).toArray(function(err, docs) {
assert.equal(err, null);
callback(docs);
});
};


// Wrapper function returns a single key
var filterAnimeWrapper = function(condition, callback) {
MongoClient.connect(url, function(err, client) {

var db = client.db('Lightning');

assert.equal(null, err);
filterAnime(condition, db, function(result) {
client.close();
if (callback){
callback(result);
}
});
});
};


var findAllAnime = function(db, callback) {

var collection = db.collection('anime');

collection.find({}).toArray(function(err, docs) {
assert.equal(err, null);
callback(docs);
});
};

var findAllAnimeWrapper = function(callback) {
MongoClient.connect(url, function(err, client) {

var db = client.db('Lightning');

assert.equal(null, err);
findAllAnime(db, function(results) {
client.close();
if(callback)
callback(results);
});
});
};


// so we can externally call these function
exports.insertAnime = insertAnimeWrapper;
exports.filterAnime = filterAnimeWrapper;
exports.findAllAnime = findAllAnimeWrapper;
70 changes: 57 additions & 13 deletions routes/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,11 @@ const Account = require('../models/account');
// import query file(s)
var keyqueries = require('./keyqueries');
var wallpostqueries = require('./wallpostqueries');
var animequeries = require('./anime_queries');

/* GET home page. */
/**
* @route: /
*/
router.get('/', function(req, res, next) {

if(req.user)
Expand All @@ -31,26 +34,28 @@ router.get('/', function(req, res, next) {
});
});

/* GET blog page. */
/**
* @route: /blog
*/
router.get('/blog', function(req, res, next) {

res.render('blog', {
title: 'Blog',
stylesheet: 'css/blog.css'
});
title: 'Blog'});
});

/* GET blog/coursehero */
/**
* @route: /coursehero
*/
router.get('/coursehero', function(req, res, next) {

res.render('blogposts/coursehero', {
title: 'Course Hero',
stylesheet: 'css/blog_single.css'
});
title: 'Course Hero'});

});

/* GET registration page */
/**
* @route: /register
*/
router.get('/register', function(req, res) {
res.render('register', { });
});
Expand All @@ -72,7 +77,9 @@ router.post('/register', (req, res, next) => {
});
});

/* GET login page */
/**
* @route: /login
*/
router.get('/login', (req, res) => {
res.render('login', { user : req.user, error : req.flash('error')});
});
Expand All @@ -86,7 +93,9 @@ router.post('/login', passport.authenticate('local', { failureRedirect: '/login'
});
});

/* GET logout page */
/**
* @route: /logout
*/
router.get('/logout', (req, res, next) => {
req.logout();
req.session.save((err) => {
Expand All @@ -97,6 +106,34 @@ router.get('/logout', (req, res, next) => {
});
});

/**
* @route: /anime_edit
* @requires: permissions: 1
*/
router.get('/anime_edit', (req, res, next) => {

if(!req.user || req.user.permission !== 1) {
res.render('error', {
title: "uh oh.",
reason: "You don't have permission to view this page!"
});
} else {

animequeries.findAllAnime(function(animes) {
res.render('index', {
title: 'Anime Edit',
animes: animes,
user: req.user
});
});
}
});

router.post('/animesubmit', function(req, res) {

res.end("Anime successfully posted into database.");
});

/* For submitting a message from the home page */
router.post('/wallsubmit', function(req, res) {

Expand All @@ -110,10 +147,17 @@ router.post('/wallsubmit', function(req, res) {
wallpostqueries.findAllWallPosts();


res.end("Wall post successfully submitted into database")
res.end("Wall post successfully submitted into database.");

}); /// TODO: email myself wall posts for review

/* catches all error pages */
router.get('*', (req, res, next) => {
res.render('error', {
title: "uh oh.",
reason: "Something went wrong, and I don't know why!"
});
});

// Export to make this externally visible
module.exports = router;
37 changes: 37 additions & 0 deletions views/admin/anime_edit.jade
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
doctype html
//
Story by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
html
head
title #{title}
meta(charset='utf-8')
meta(name='viewport', content='width=device-width, initial-scale=1')
link(rel='stylesheet', href='css/main.css')
body
// Seven
section.wrapper.style1.align-center
.inner.medium
h2 Anime Post
form
.field.half.first
label(for='name') Anime Title
input#name(type='text', name='name', value='')
.field.half
label(for='rating') Rating
input#rating(type='text', name='rating', value='')
.field.half.first
label(for='fav_char') Favorite Character
input#fav_char(type='text', name='rating', value='')
.field
label(for='review') Review
p#charcount
textarea#review(name='review')
ul.actions
li
button#submit(type='submit', onclick="animesubmit()", value='Post') Post




4 changes: 2 additions & 2 deletions views/blog.jade
Original file line number Diff line number Diff line change
Expand Up @@ -168,10 +168,10 @@ html
section.blurb
h2 About
p
| Hey there! If you didn't know already, my name is Bryan. I'm
| Hey there! My name is Bryan. I'm
| currently a third year undergrad @ UCD studying Computer Science
| and Engineering. I also like snowboarding, photographing, and
| hiking! Check out my links at the bottom of this pae
| hiking! Check out my links at the bottom of this page.

include blog_footer

Expand Down
8 changes: 0 additions & 8 deletions views/blogposts/coursehero.jade
Original file line number Diff line number Diff line change
Expand Up @@ -20,30 +20,22 @@ html
.title
h2
a(href='#') Magna sed adipiscing
| 										
p Lorem ipsum dolor amet nullam consequat etiam feugiat
| 									
.meta
time.published(datetime='2015-11-01') November 1, 2015
| 										
a.author(href='#')
span.name Jane Doe
img(src='images/avatar.jpg', alt='')
| 								
span.image.featured
img(src='images/pic01.jpg', alt='')
| 								
p
| Mauris neque quam, fermentum ut nisl vitae, convallis maximus nisl. Sed mattis nunc id lorem euismod placerat. Vivamus porttitor magna enim, ac accumsan tortor cursus at. Phasellus sed ultricies mi non congue ullam corper. Praesent tincidunt sed tellus ut rutrum. Sed vitae justo condimentum, porta lectus vitae, ultricies congue gravida diam non fringilla.
| 								
p
| Nunc quis dui scelerisque, scelerisque urna ut, dapibus orci. Sed vitae condimentum lectus, ut imperdiet quam. Maecenas in justo ut nulla aliquam sodales vel at ligula. Sed blandit diam odio, sed fringilla lectus molestie sit amet. Praesent eu tortor viverra lorem mattis pulvinar feugiat in turpis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce ullamcorper tellus sit amet mattis dignissim. Phasellus ut metus ligula. Curabitur nec leo turpis. Ut gravida purus quis erat pretium, sed pellentesque massa elementum. Fusce vestibulum porta augue, at mattis justo. Integer sed sapien fringilla, dapibus risus id, faucibus ante. Pellentesque mattis nunc sit amet tortor pellentesque, non placerat neque viverra.
| 								
footer
ul.stats
li
a(href='#') General
| 										
li
a.icon.fa-heart(href='#') 28
li
Expand Down
4 changes: 1 addition & 3 deletions views/error.jade
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
extends layout

block content
h1= message
h2= error.status
pre #{error.stack}
p #{title} #{reason}

0 comments on commit eeeb40d

Please sign in to comment.