latest digs

This commit is contained in:
Dobie Wollert
2013-09-04 03:05:47 -04:00
parent b4ca8d9ae3
commit 460e8f0be0
12 changed files with 229 additions and 46 deletions

View File

@ -137,4 +137,4 @@ exports.destroy = function(req, res, next) {
return res.json(client);
})
});
};
};

View File

@ -14,8 +14,7 @@ module.exports = function(config) {
return {
send: function(req, res) {
console.log(req.body);
console.log(req);
var userId = req.body.user;
if (!userId) {
return res.json(404, null);
@ -25,8 +24,10 @@ module.exports = function(config) {
User.findById(userId, function(err, user) {
if (err) return res.json(500, err);
var sender = req.user;
server.send({
text: generateMessage(user, req.body),
text: generateMessage(sender, user, req.body),
from: config.email.user,
to: generateToLine(user),
subject: 'Message from portal'
@ -47,8 +48,9 @@ function generateToLine(user) {
return user.name.first + " " + user.name.last + " <" + user.email + ">";
}
function generateMessage(user, message) {
function generateMessage(sender, user, message) {
var template =
"From: %(sender)s\n" +
"Message For: %(user)s\n" +
"\n" +
"Name: %(name)s\n" +
@ -60,6 +62,7 @@ function generateMessage(user, message) {
"%(notes)s\n";
var resources = {
sender: sender.name.first + " " + sender.name.last,
user: user.name.first + " " + user.name.last,
name: message.name || '',
company: message.company || '',

View File

@ -47,9 +47,12 @@ module.exports = function(calendar) {
},
create: function(req, res, next) {
console.log(req.body);
var date = new Date();
var workorder = new Workorder({
client: req.body.client,
createdOn: new Date(),
createdOn: date,
createdBy: req.user,
reason: req.body.reason,
maintenanceType: req.body.maintenanceType || "",
@ -105,7 +108,9 @@ module.exports = function(calendar) {
end: workorder.scheduling.end,
attendees: generateAttendees(techs)
}, function(err, result) {
workorder.calendarId = result.id;
if (result) {
workorder.calendarId = result.id;
}
callback(err);
});
},
@ -119,7 +124,18 @@ module.exports = function(calendar) {
Client.findByIdAndUpdate(req.body.client, { $push: { 'workorders': result.id } },
function(err, ignored) { callback(err, result) });
}
},
function(result, callback) {
console.log("Update Client - Pms");
if (workorder.maintenanceType) {
console.log("Is PM");
var key = 'pms.' + date.getFullYear() + '-' + date.getMonth() + '.' + workorder.maintenanceType;
var cmd = { $inc: {} };
cmd.$inc[key] = 1;
console.log(cmd);
Client.findByIdAndUpdate(req.body.client, cmd, function(err, ignored) { callback(err, result) });
}
},
],
function(err, result) {
if (!err) {
@ -145,11 +161,13 @@ module.exports = function(calendar) {
workorder = result;
workorder.reason = req.body.reason;
maintenanceType: req.body.maintenanceType || "";
workorder.maintenanceType = req.body.maintenanceType || "";
workorder.remarks = req.body.remarks;
workorder.scheduling = req.body.scheduling;
workorder.status = req.body.status;
workorder.techs = req.body.techs.map(function(t) { return t._id; });
workorder.techs = req.body.techs
.filter(function(e) { return e; })
.map(function(t) { return t._id; });
callback(err);
});
@ -214,11 +232,17 @@ module.exports = function(calendar) {
return workorder.save(function(err) {
if (!err) {
console.log("deleted");
calendar.deleteEvent(workorder.calendarId, function(err) {
if (!err) {
console.log("Calendar event removed.");
}
return res.json(workorder);
});
} else {
console.log("error");
return res.json(workorder);
}
return res.json(workorder);
})
});
}
@ -231,7 +255,15 @@ function generateSummary(client) {
}
function generateLocation(client) {
return sprintf("%(street1)s %(street2)s %(city)s, %(state)s. %(zip)s", client.address);
var data = {
street1: client.address.street1 || '',
street2: client.address.street2 || '',
city: client.address.city || '',
state: client.address.state || '',
zip: client.address.zip || ''
};
return sprintf("%(street1)s %(street2)s %(city)s, %(state)s. %(zip)s", data);
}
function generateDescription(client, workorder) {