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/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