Clean Up Stores
Clean Stores
diff --git a/client/AdminMgmt/CleanUp/cleanUp.js b/client/AdminMgmt/CleanUp/cleanUp.js
index 0e106b1..bbadd13 100644
--- a/client/AdminMgmt/CleanUp/cleanUp.js
+++ b/client/AdminMgmt/CleanUp/cleanUp.js
@@ -19,6 +19,14 @@ Template.cleanUp.onRendered(function() {
var elemsm = document.querySelectorAll('.modal');
var instancesm = M.Modal.init(elemsm, {});
+
+ var elemse = document.querySelectorAll('select');
+ var instancese = M.FormSelect.init(elemse, {});
+
+ setTimeout(function() {
+ var instances = M.Tooltip.init(elems, {});
+ var instancese = M.FormSelect.init(elemse, {});
+ }, 300);
});
Template.cleanUp.helpers({
@@ -45,5 +53,7 @@ Template.cleanUp.events({
'click #cleanTasks' (event) {
event.preventDefault();
Session.set("cleanWhat", "Tasks");
+ let timeFrame = $("#removeOverdueTasks").val();
+ Session.set("overdueVal", timeFrame);
},
});
\ No newline at end of file
diff --git a/client/AdminMgmt/CleanUp/modalConfirm/cleanUpModalConfirm.js b/client/AdminMgmt/CleanUp/modalConfirm/cleanUpModalConfirm.js
index 02f7b39..3ea268e 100644
--- a/client/AdminMgmt/CleanUp/modalConfirm/cleanUpModalConfirm.js
+++ b/client/AdminMgmt/CleanUp/modalConfirm/cleanUpModalConfirm.js
@@ -25,27 +25,40 @@ Template.cleanUpModalConfirm.events({
switch(whatItems) {
case "Lists":
- cleanUp("clean.Lists");
+ cleanUp("clean.Lists", whatItems);
case "Menus":
- cleanUp("clean.Menus");
+ cleanUp("clean.Menus", whatItems);
case "Products":
- // cleanUp("clean.Products");
+ // cleanUp("clean.Products", whatItems);
case "Stores":
- // cleanUp("clean.Stores");
+ // cleanUp("clean.Stores", whatItems);
case "Tasks":
- // cleanUp("clean.Tasks");
+ cleanTasks("clean.Tasks", whatItems);
default:
break;
}
}
});
-cleanUp = function(methodName) {
+cleanUp = function(methodName, whatItems) {
Meteor.call(methodName, function(err, result) {
if (err) {
- console.log(" ERROR cleaning lists: " + err)
+ console.log(" ERROR cleaning " + whatItems + ": " + err);
} else {
- showSnackbar("Lists have been cleaned up!", "green");
+ showSnackbar(whatItems + " have been cleaned up!", "green");
+ let confirmModal = document.getElementById('cleanUpConfirm');
+ M.Modal.getInstance(confirmModal).close();
+ }
+ });
+}
+
+cleanTasks = function(methodName, whatItems) {
+ let timeFrame = Session.get("overdueVal");
+ Meteor.call(methodName, timeFrame, function(err, result) {
+ if (err) {
+ console.log(" ERROR cleaning " + whatItems + ": " + err);
+ } else {
+ showSnackbar(whatItems + " have been cleaned up!", "green");
let confirmModal = document.getElementById('cleanUpConfirm');
M.Modal.getInstance(confirmModal).close();
}
diff --git a/client/AdminMgmt/Tasks/taskForm.js b/client/AdminMgmt/Tasks/taskForm.js
index c445eac..8dd95d3 100644
--- a/client/AdminMgmt/Tasks/taskForm.js
+++ b/client/AdminMgmt/Tasks/taskForm.js
@@ -69,13 +69,13 @@ Template.taskForm.events({
let taskDateErr = false;
let userInfo;
let actDate = [];
- console.dir(taskNameArr);
+ // console.dir(taskNameArr);
if (taskNameArr == null || taskNameArr == []) {
taskNameErr = true;
}
- if (taskDate == null || taskDate == []) {
+ if (taskDateArr == null || taskDateArr == []) {
taskDateErr = true;
} else {
for (i = 0; i < taskDateArr.length; i++) {
@@ -97,7 +97,6 @@ Template.taskForm.events({
console.log(" ERROR adding the new task: " + err);
} else {
console.log(" SUCCESS adding the new task.");
- M.Chips.getInstance($("#taskName")).deleteChip();
Session.set("taskDateArr", []);
$("#taskDate").val("");
$("#taskUser").val("");
diff --git a/client/MyTasks/myTasksForm.html b/client/MyTasks/myTasksForm.html
index fab1b11..751ec3d 100644
--- a/client/MyTasks/myTasksForm.html
+++ b/client/MyTasks/myTasksForm.html
@@ -1,16 +1,20 @@
MyTasks
-
-
-
+
{{> snackbar}}
\ No newline at end of file
diff --git a/client/MyTasks/myTasksForm.js b/client/MyTasks/myTasksForm.js
index b65363c..7d50d29 100644
--- a/client/MyTasks/myTasksForm.js
+++ b/client/MyTasks/myTasksForm.js
@@ -8,42 +8,70 @@ Template.myTasksForm.onCreated(function() {
Template.myTasksForm.onRendered(function() {
var elems = document.querySelectorAll('.datepicker');
var instances = M.Datepicker.init(elems, {});
+
+ var elemsd = document.querySelectorAll('.chips');
+ var instancesd = M.Chips.init(elemsd, {});
+
Session.set("hideComplete", true);
Session.set("onlyToday", true);
+ Session.set("taskDateArr", []);
});
Template.myTasksForm.helpers({
-
+ taskDates: function() {
+ return Session.get("taskDateArr");
+ },
});
Template.myTasksForm.events({
'click .addNewTask' (event) {
event.preventDefault();
- let taskName = $("#myTaskName").val();
- let taskDate = $("#myTaskDate").val();
- let actDate = new Date(taskDate);
+ let taskNameErr = false;
+ let taskDateErr = false;
+ let elemsc = document.getElementById('taskName');
+ let taskNameArray = M.Chips.getInstance(elemsc).chipsData;
+ let taskDateArray = Session.get("taskDateArr");
+ let actDate = [];
- if (taskName == null || taskName == "" || taskDate == "" || taskDate == null) {
- taskEntryErr = true;
- showSnackbar("Task Name and Date are Required!", "red");
- return;
+ if (taskNameArray == null || taskNameArray == [] || taskNameArray == "") {
+ taskNameErr = true;
+ }
+
+ if (taskDateArray == null || taskDateArray == []|| taskDateArray == "") {
+ taskDateErr = true;
} else {
- Meteor.call("add.mytask", taskName, "self", "selfId", taskDate, actDate, function(err, result) {
+ for (i = 0; i < taskDateArray.length; i++) {
+ // console.log(taskDateArray[i]);
+ let actDateTask = new Date(taskDateArray[i]);
+ actDate.push(actDateTask);
+ }
+ }
+
+ console.log("Date Error: " + taskDateErr + " - Name Error: " + taskNameErr);
+ if (taskDateErr == false && taskNameErr == false) {
+ Meteor.call("add.task", taskNameArray, "self", "selfId", taskDateArray, actDate, function(err, result) {
if (err) {
console.log(" ERROR adding task for self: " + err);
showSnackbar("ERROR adding task for self!", "red");
} else {
console.log(" SUCCESS adding task for self.");
+ Session.set("taskDateArr", []);
$("#myTaskName").val("");
$("#myTaskDate").val("");
+ showSnackbar("Added Tasks Successfully!", "green");
}
});
+ } else {
+ showSnackbar("Error! Both Task & Date are Required!", "red");
}
+
},
'click #showMyCompletedTasks' (event) {
let hide = $("#showMyCompletedTasks").prop('checked');
if (hide == true) {
Session.set("hideComplete", false);
+ Session.set("onlyToday", false);
+ $("#showAllTasks").prop('checked', true);
} else {
Session.set("hideComplete", true);
}
@@ -56,5 +84,11 @@ Template.myTasksForm.events({
Session.set("onlyToday", true);
}
- }
+ },
+ 'change #myTaskDate' (event) {
+ let taskDate = $("#myTaskDate").val();
+ let taskDateArr = Session.get("taskDateArr");
+ taskDateArr.push(taskDate);
+ Session.set("taskDateArr", taskDateArr);
+ },
});
\ No newline at end of file
diff --git a/client/MyTasks/myTasksTbl.html b/client/MyTasks/myTasksTbl.html
index b826d6a..9f86973 100644
--- a/client/MyTasks/myTasksTbl.html
+++ b/client/MyTasks/myTasksTbl.html
@@ -2,7 +2,7 @@
{{#each tasks}}
-
-
+
diff --git a/imports/api/menu.js b/imports/api/menu.js
index 7271f23..51d4f2a 100644
--- a/imports/api/menu.js
+++ b/imports/api/menu.js
@@ -94,7 +94,6 @@ Meteor.methods({
let srvDate = moment(items[j].serveDateActual);
let today = moment();
let expired = moment(today).isAfter(srvDate);
- // console.log("Expired: " + expired);
if (expired != true) {
removeMenu = false;
}
@@ -108,16 +107,12 @@ Meteor.methods({
// next let's add the ids of any menus that are marked complete
let markedComplete = Menus.find({ menuComplete: true }).fetch();
- // console.log("---- ---- ----");
- // console.dir(markedComplete);
for (k = 0; k < markedComplete.length; k++) {
let menuId = markedComplete[k]._id;
removeMenuIds.push(menuId);
}
- // console.log(" ----- Need to remove Menus: ");
- console.dir(removeMenuIds);
-
+ // finally we'll cycle through the ids and remove the items we collected up.
for (l = 0; l < removeMenuIds.length; l++) {
Menus.remove({ _id: removeMenuIds[l] });
}
diff --git a/imports/api/tasks.js b/imports/api/tasks.js
index 1989d8c..7e581b1 100644
--- a/imports/api/tasks.js
+++ b/imports/api/tasks.js
@@ -1,6 +1,7 @@
import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';
import { check } from 'meteor/check';
+import moment from 'moment';
export const TaskItems = new Mongo.Collection('taskitems');
@@ -139,4 +140,40 @@ Meteor.methods({
}
});
},
+ 'clean.Tasks' (timeFrame) {
+ check(timeFrame, String);
+
+ if (!this.userId) {
+ throw new Meteor.Error('You are not allowed to clean up old Tasks. Make sure you are logged in with valid user credentials.');
+ }
+
+ let d = new Date();
+ let upToDate = "";
+ switch(timeFrame) {
+ case "1-week":
+ console.log("1 Week");
+ upToDate = 7 * 24 * 60 * 60 * 1000;
+ break;
+ case "2-weeks":
+ console.log("2 Week");
+ upToDate = 14 * 24 * 60 * 60 * 1000;
+ break;
+ case '1-month':
+ console.log("1 month");
+ upToDate = 30 * 24 * 60 * 60 * 1000;
+ break;
+ case '3-months':
+ console.log("3 months");
+ upToDate = 90 * 24 * 60 * 60 * 1000;
+ break;
+ case 'all':
+ console.log("all");
+ upToDate = 1 * 24 * 60 * 60 * 1000;
+ break;
+ default:
+ break;
+ }
+
+ return TaskItems.remove({ actualDate: { $lt: new Date((new Date()) - upToDate )}});
+ }
});
\ No newline at end of file
diff --git a/server/methods.js b/server/methods.js
index e9f9271..d695cf1 100644
--- a/server/methods.js
+++ b/server/methods.js
@@ -1,6 +1,7 @@
import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';
import { check } from 'meteor/check';
+import { TaskItems } from '../imports/api/tasks';
Meteor.methods({
'addToRole' (role) {
@@ -57,5 +58,5 @@ Meteor.methods({
check(role, String);
return Roles.setUserRoles(userId, role);
- }
+ },
});
\ No newline at end of file