Merge commit
This commit is contained in:
commit
dc69f67f85
@ -6,22 +6,22 @@
|
||||
|
||||
meteor-base@1.0.4 # Packages every Meteor app needs to have
|
||||
mobile-experience@1.0.4 # Packages for a great mobile UX
|
||||
mongo@1.1.12 # The database Meteor supports right now
|
||||
mongo@1.1.12_1 # The database Meteor supports right now
|
||||
blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views
|
||||
reactive-var@1.0.10 # Reactive variable for tracker
|
||||
jquery # Helpful client-side library
|
||||
jquery@1.11.9 # Helpful client-side library
|
||||
tracker@1.1.0 # Meteor's client-side reactive programming library
|
||||
|
||||
standard-minifier-css@1.2.0 # CSS minifier run for production mode
|
||||
standard-minifier-js@1.2.0 # JS minifier run for production mode
|
||||
es5-shim@4.6.14 # ECMAScript 5 compatibility for older browsers.
|
||||
ecmascript@0.5.8 # Enable ECMAScript2015+ syntax in app code
|
||||
standard-minifier-css@1.2.0_1 # CSS minifier run for production mode
|
||||
standard-minifier-js@1.2.0_1 # JS minifier run for production mode
|
||||
es5-shim@4.6.14_1 # ECMAScript 5 compatibility for older browsers.
|
||||
ecmascript@0.5.8_1 # Enable ECMAScript2015+ syntax in app code
|
||||
|
||||
fortawesome:fontawesome
|
||||
session@1.1.6
|
||||
proyk:meteor-cookies
|
||||
aldeed:simple-schema
|
||||
accounts-google
|
||||
accounts-google@1.0.10
|
||||
accounts-ui@1.1.9
|
||||
iron:router
|
||||
ongoworks:security
|
||||
@ -31,9 +31,8 @@ rzymek:fullcalendar
|
||||
momentjs:moment
|
||||
eternicode:bootstrap-datepicker
|
||||
shell-server@0.2.1
|
||||
http@1.2.9
|
||||
underscore
|
||||
houston:admin
|
||||
http@1.2.9_1
|
||||
underscore@1.0.9
|
||||
ahref:dragula
|
||||
harrison:papa-parse
|
||||
pfafman:filesaver
|
||||
@ -41,3 +40,7 @@ flemay:less-autoprefixer
|
||||
natestrauser:select2
|
||||
juliancwirko:s-alert
|
||||
juliancwirko:s-alert-stackslide
|
||||
aldeed:collection2
|
||||
dburles:collection-helpers
|
||||
twbs:bootstrap
|
||||
yogiben:admin
|
||||
|
||||
@ -1 +1 @@
|
||||
METEOR@1.4.1.1
|
||||
METEOR@1.4.1.2
|
||||
|
||||
@ -1,16 +1,19 @@
|
||||
accounts-base@1.2.11
|
||||
accounts-google@1.0.10
|
||||
accounts-oauth@1.1.13
|
||||
accounts-password@1.3.0
|
||||
accounts-ui@1.1.9
|
||||
accounts-ui-unstyled@1.1.12
|
||||
ahref:dragula@3.5.4
|
||||
alanning:roles@1.2.15
|
||||
aldeed:autoform@5.5.1
|
||||
aldeed:collection2@2.5.0
|
||||
aldeed:simple-schema@1.5.3
|
||||
aldeed:tabular@1.4.2
|
||||
aldeed:template-extension@4.0.0
|
||||
allow-deny@1.0.5
|
||||
autoupdate@1.3.11
|
||||
babel-compiler@6.9.1
|
||||
babel-runtime@0.1.11
|
||||
babel-compiler@6.9.1_1
|
||||
babel-runtime@0.1.11_1
|
||||
base64@1.0.9
|
||||
binary-heap@1.0.9
|
||||
blaze@2.1.9
|
||||
@ -24,7 +27,7 @@ check@1.2.3
|
||||
coffeescript@1.2.4_1
|
||||
cosmos:browserify@0.9.4
|
||||
dandv:caret-position@2.1.1
|
||||
dburles:mongo-collection-instances@0.3.5
|
||||
dburles:collection-helpers@1.0.4
|
||||
ddp@1.2.5
|
||||
ddp-client@1.3.1
|
||||
ddp-common@1.2.6
|
||||
@ -32,11 +35,11 @@ ddp-rate-limiter@1.0.5
|
||||
ddp-server@1.3.10
|
||||
deps@1.0.12
|
||||
diff-sequence@1.0.6
|
||||
ecmascript@0.5.8
|
||||
ecmascript-runtime@0.3.14
|
||||
ecmascript@0.5.8_1
|
||||
ecmascript-runtime@0.3.14_1
|
||||
ejson@1.0.12
|
||||
email@1.1.17
|
||||
es5-shim@4.6.14
|
||||
email@1.0.16
|
||||
es5-shim@4.6.14_1
|
||||
eternicode:bootstrap-datepicker@1.6.0_3
|
||||
fastclick@1.0.12
|
||||
flemay:less-autoprefixer@1.2.0
|
||||
@ -45,10 +48,9 @@ geojson-utils@1.0.9
|
||||
google@1.1.14
|
||||
harrison:papa-parse@1.1.1
|
||||
hot-code-push@1.0.4
|
||||
houston:admin@2.0.7
|
||||
html-tools@1.0.11
|
||||
htmljs@1.0.11
|
||||
http@1.2.9
|
||||
http@1.2.9_1
|
||||
id-map@1.0.8
|
||||
iron:controller@1.0.12
|
||||
iron:core@1.0.11
|
||||
@ -61,28 +63,29 @@ iron:url@1.0.11
|
||||
jquery@1.11.9
|
||||
juliancwirko:s-alert@3.2.0
|
||||
juliancwirko:s-alert-stackslide@3.1.3
|
||||
lai:collection-extensions@0.2.1_1
|
||||
launch-screen@1.0.12
|
||||
less@2.7.5
|
||||
livedata@1.0.18
|
||||
localstorage@1.0.11
|
||||
logging@1.1.15
|
||||
logging@1.1.15_1
|
||||
mdg:validation-error@0.5.1
|
||||
meteor@1.2.17
|
||||
meteor@1.2.17_1
|
||||
meteor-base@1.0.4
|
||||
meteorhacks:meteorx@1.4.1
|
||||
meteorhacks:unblock@1.1.0
|
||||
mfactory:admin-lte@0.0.2
|
||||
minifier-css@1.2.14
|
||||
minifier-js@1.2.14
|
||||
minifier-js@1.2.14_1
|
||||
minimongo@1.0.17
|
||||
mizzao:autocomplete@0.5.1
|
||||
mobile-experience@1.0.4
|
||||
mobile-status-bar@1.0.12
|
||||
modules@0.7.6
|
||||
modules-runtime@0.7.6
|
||||
modules@0.7.6_1
|
||||
modules-runtime@0.7.6_1
|
||||
momentjs:moment@2.15.1
|
||||
mongo@1.1.12
|
||||
mongo@1.1.12_1
|
||||
mongo-id@1.0.5
|
||||
natestrauser:select2@4.0.3
|
||||
npm-bcrypt@0.9.1
|
||||
npm-mongo@1.5.49
|
||||
oauth@1.1.11
|
||||
oauth2@1.1.10
|
||||
@ -92,31 +95,33 @@ ordered-dict@1.0.8
|
||||
pfafman:filesaver@1.3.2
|
||||
promise@0.8.7
|
||||
proyk:meteor-cookies@0.0.1
|
||||
raix:handlebar-helpers@0.2.5
|
||||
random@1.0.10
|
||||
rate-limit@1.0.5
|
||||
reactive-dict@1.1.8
|
||||
reactive-var@1.0.10
|
||||
reload@1.1.10
|
||||
retry@1.0.8
|
||||
reywood:publish-composite@1.4.2
|
||||
routepolicy@1.0.11
|
||||
rzymek:fullcalendar@2.7.2
|
||||
service-configuration@1.0.10
|
||||
session@1.1.6
|
||||
sha@1.0.8
|
||||
shell-server@0.2.1
|
||||
spacebars@1.0.13
|
||||
spacebars-compiler@1.0.13
|
||||
srp@1.0.9
|
||||
standard-minifier-css@1.2.1
|
||||
standard-minifier-js@1.2.0
|
||||
standard-minifier-js@1.2.0_1
|
||||
templating@1.2.15
|
||||
templating-compiler@1.2.15
|
||||
templating-runtime@1.2.15
|
||||
templating-tools@1.0.5
|
||||
tmeasday:paginated-subscription@0.2.4
|
||||
tracker@1.1.0
|
||||
twbs:bootstrap@3.3.6
|
||||
ui@1.0.12
|
||||
underscore@1.0.9
|
||||
url@1.0.10
|
||||
webapp@1.3.11
|
||||
webapp@1.3.11_1
|
||||
webapp-hashing@1.0.9
|
||||
yogiben:admin@1.2.8
|
||||
zimme:active-route@2.3.2
|
||||
|
||||
@ -13,6 +13,8 @@ Calendar mode organizes work by due date rather than by class. Pressing on a dat
|
||||
Class mode allows you to organize work by the class it belongs to.
|
||||
##### Work
|
||||
Every piece of work has a confirmed:reported ratio. This is the ratio of the number of people who confirm the presence of the work to the number of people who believe that this is a false report. The creator of a work can edit fields after creation by clicking on details needed to be changed. Lastly, by marking a work as done, it is hidden from view. To disable this, go to preferences.
|
||||
##### Filters
|
||||
In the left sidebar, you find options for filtering. These include filtering by class or type of assignment.
|
||||
### Profile Page
|
||||
On this page, it is possible to edit profile details as well as create, join, and leave classes.
|
||||
#### Creating a class
|
||||
|
||||
@ -4,6 +4,7 @@ import {
|
||||
} from 'meteor/templating';
|
||||
|
||||
import './main.html';
|
||||
import './main.css';
|
||||
|
||||
var load = true;
|
||||
var calWorkOpen = null;
|
||||
@ -188,7 +189,9 @@ Template.registerHelper('myClasses', () => { // Gets all classes and respective
|
||||
thisWork[j].confirmationLength = thisWork[j].confirmations.length; // Counts the number of confirmations and reports for a particular work.
|
||||
thisWork[j].reportLength = thisWork[j].reports.length;
|
||||
|
||||
thisWork[j].creator = Meteor.users.findOne({_id: thisWork[j].creator}).profile.name;
|
||||
thisWork[j].creator = Meteor.users.findOne({
|
||||
_id: thisWork[j].creator
|
||||
}).profile.name;
|
||||
var conf = thisWork[j].confirmations.length;
|
||||
var repo = thisWork[j].reports.length;
|
||||
var ratio = conf / repo;
|
||||
@ -228,8 +231,7 @@ Template.registerHelper('commentLength', () => { // Returns characters left for
|
||||
});
|
||||
|
||||
function startDragula() {
|
||||
dragula([document.querySelector('#classesMode'), document.querySelector('#nonexistant')],
|
||||
{
|
||||
dragula([document.querySelector('#classesMode'), document.querySelector('#nonexistant')], {
|
||||
moves: function(el, container, handle) {
|
||||
// return handle.classList.contains("classInfo") || handle.classList.contains("mainClassName");
|
||||
return _.intersection(["classInfo", "mainClassName", "mainClassHour", "mainClassTeacher"], handle.classList).length > 0;
|
||||
@ -242,7 +244,6 @@ function startDragula() {
|
||||
var classid = els[i].getElementsByClassName("creWork")[0].getAttribute("classid");
|
||||
final.push(classid);
|
||||
}
|
||||
Meteor.call("reorderClasses", final);
|
||||
});
|
||||
}
|
||||
|
||||
@ -608,6 +609,7 @@ Template.main.events({
|
||||
var dom = event.target;
|
||||
while (event.target.className !== "workCard") event.target = event.target.parentNode;
|
||||
var workid = event.target.getAttribute("workid");
|
||||
|
||||
var thisWork = work.findOne({
|
||||
_id: workid
|
||||
});
|
||||
@ -720,11 +722,15 @@ Template.main.events({
|
||||
var works = userClasses[i].thisClassWork;
|
||||
for (var j = 0; j < works.length; j++) {
|
||||
var work = works[j];
|
||||
var workclass = classes.findOne({_id: work.class});
|
||||
var workclass = classes.findOne({
|
||||
_id: work.class
|
||||
});
|
||||
if (work.description == defaultWork.description) work.description = "";
|
||||
if (work.dueDate == defaultWork.dueDate) continue;
|
||||
if (work.name == defaultWork.name) work.name = "";
|
||||
if (workclass === undefined) workclass = {name: "Personal"};
|
||||
if (workclass === undefined) workclass = {
|
||||
name: "Personal"
|
||||
};
|
||||
events.push([
|
||||
workclass.name + ": " + work.name,
|
||||
work.realDate.toLocaleDateString(),
|
||||
@ -735,8 +741,13 @@ Template.main.events({
|
||||
}
|
||||
|
||||
var JSONevents = JSON.stringify(events);
|
||||
var CSVevents = Papa.unparse({fields: ["Subject", "Start Date", "Description", "All Day Event"], data: JSONevents});
|
||||
var eventBlob = new Blob([CSVevents], {type: "data:text/csv;charset=utf-8"});
|
||||
var CSVevents = Papa.unparse({
|
||||
fields: ["Subject", "Start Date", "Description", "All Day Event"],
|
||||
data: JSONevents
|
||||
});
|
||||
var eventBlob = new Blob([CSVevents], {
|
||||
type: "data:text/csv;charset=utf-8"
|
||||
});
|
||||
saveAs(eventBlob, "hourglass.csv");
|
||||
},
|
||||
'keydown input' (event) { // Enter to close input.
|
||||
@ -1005,13 +1016,17 @@ function toDate(date) { // Turns formatted date back to Date constructor.
|
||||
}
|
||||
|
||||
function formReadable(input, val) { // Makes work information readable by users.
|
||||
if(input)
|
||||
switch (val) {
|
||||
case "typeColor": return input.typeColor = workColors[input.type];
|
||||
case "name": return input.name;
|
||||
case "dueDate": return getReadableDate(input.dueDate);
|
||||
case "description": return input.description;
|
||||
case "type": return input.type[0].toUpperCase() + input.type.slice(1);
|
||||
case "typeColor":
|
||||
return input.typeColor = workColors[input.type];
|
||||
case "name":
|
||||
return input.name;
|
||||
case "dueDate":
|
||||
return getReadableDate(input.dueDate);
|
||||
case "description":
|
||||
return input.description;
|
||||
case "type":
|
||||
return input.type[0].toUpperCase() + input.type.slice(1);
|
||||
case "comments":
|
||||
var comments = input.comments;
|
||||
var resort = [];
|
||||
|
||||
@ -426,7 +426,7 @@ Template.profile.events({
|
||||
serverData = [user._id, classid];
|
||||
confirm = "changeAdmin";
|
||||
Session.set("confirmText", "Are you really sure?");
|
||||
openDivFade(document.getElementsByClassName("overlay")[0])
|
||||
openDivFade(document.getElementsByClassName("overlay")[0]);
|
||||
document.getElementById("createdClasses").style.marginRight = "-40%";
|
||||
},
|
||||
// OVERLAY BUTTONS
|
||||
|
||||
@ -1,3 +1,13 @@
|
||||
AdminConfig = {
|
||||
name: 'Hourglass',
|
||||
collections: {
|
||||
schools: {},
|
||||
classes: {},
|
||||
work: {},
|
||||
requests: {}
|
||||
}
|
||||
};
|
||||
|
||||
themeColors = {
|
||||
"light": {
|
||||
"background": "White.jpg",
|
||||
|
||||
@ -6,9 +6,6 @@ import {
|
||||
Mongo
|
||||
} from 'meteor/mongo';
|
||||
|
||||
Houston.add_collection(Meteor.users);
|
||||
Houston.add_collection(Houston._admins);
|
||||
|
||||
// Defines who the admins are - not added
|
||||
var superadmins = [
|
||||
"ybq987@gmail.com",
|
||||
@ -28,9 +25,7 @@ for (var i = 0; i < superadmins.length; i++) {
|
||||
});
|
||||
if (superadmin !== undefined && !(Roles.userIsInRole(superadmin._id, 'superadmin'))) {
|
||||
Roles.addUsersToRoles(superadmin._id, 'superadmin');
|
||||
Houston._admins.insert({
|
||||
user_id: superadmin._id
|
||||
});
|
||||
Roles.addUsersToRoles(superadmin._id, 'admin');
|
||||
}
|
||||
}
|
||||
|
||||
@ -528,11 +523,11 @@ Meteor.methods({
|
||||
var prof = Meteor.user().profile;
|
||||
var found = classes.findOne({
|
||||
_id: change,
|
||||
status: true
|
||||
});
|
||||
if (Meteor.user() !== null &&
|
||||
found !== null &&
|
||||
pass === found.code &&
|
||||
(found.status || found.admin === Meteor.userId()) &&
|
||||
!_.contains(prof.classes, change)) {
|
||||
var foundsubs = found.subscribers;
|
||||
classes.update({
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user