added fileupload per os, sets doc id before up0load if non existant

This commit is contained in:
2012-06-17 20:41:29 -04:00
parent a1ddf19c6c
commit 76ec83b869
2 changed files with 299 additions and 327 deletions

View File

@@ -26,21 +26,17 @@ var app = require('http').createServer(function handler(request, response) {
files = [], files = [],
fields = []; fields = [];
// var tempDirectory = "/tmp/"; var tempDirectory = "/tmp/";
// //tempdirectory changes if the operating system is windows // //tempdirectory changes if the operating system is windows
// if(os.type().indexof("windows") > -1) if(os.type().indexof("windows") > -1)
// { {
// tempdirectory = "c:\\temp\\"; tempdirectory = "c:\\temp\\";
// } }
// form.uploaddir = tempdirectory; form.uploaddir = tempdirectory;
//tempDirectory = "c:\\Temp\\";
//form.uploadDir = tempDirectory;
tempDirectory = "c:\\Temp\\";
form.uploadDir = tempDirectory;
//form.uploadDir = root + '\node';
form.on('error', function(err) { form.on('error', function(err) {
response.writeHead(200, {'content-type': 'text/plain'}); response.writeHead(200, {'content-type': 'text/plain'});
@@ -119,14 +115,6 @@ io.set("transports", ["websocket"]);
io.sockets.on('connection', function(socket) { io.sockets.on('connection', function(socket) {
console.log('Client connected'); console.log('Client connected');
// socket.on('getactivites', function(data) {
// console.log('getactivites')
// testcollection.find().toArray(function(err, result) {
// if (err) throw err;
// socket.emit('populateactivities', result);
// });
// });
socket.on('getactivites', function(data) { socket.on('getactivites', function(data) {
console.log('getactivites') console.log('getactivites')
testcollection.find().toArray(function(err, result) { testcollection.find().toArray(function(err, result) {
@@ -147,34 +135,23 @@ io.sockets.on('connection', function(socket) {
//////////////////////// ////////////////////////
socket.on('addactivity', function(data, docid) { socket.on('addactivity', function(data, docid) {
console.log('addactivity' + docid) console.log('addactivity' + docid)
//testcollection.insert(data, function(err, result) { if (docid === null) {
// if (err) throw err; var document_id = new BSON.ObjectID();
// testcollection.find().toArray(function(err, result) {
// if (err) throw err;
// socket.emit('populateactivities', result);
// });
if (docid == 'undefined') {
testcollection.insert(data, function(err, result) {
if (err) throw err;
testcollection.find().toArray(function(err, result) {
if (err) throw err;
socket.emit('populatactivities', result);
});
});
} }
else { else {
var document_id = new BSON.ObjectID(docid); var document_id = new BSON.ObjectID(docid);
};
var document_id = new BSON.ObjectID(docid);
console.log('inserted BSONID' + document_id);
testcollection.update({_id:document_id}, data,{upsert:true} , function(err, result) { testcollection.update({_id:document_id}, data,{upsert:true} , function(err, result) {
if (err) throw err; if (err) throw err;
exercisecollection.find().toArray(function(err, result) { exercisecollection.find().toArray(function(err, result) {
if (err) throw err; if (err) throw err;
console.log('populateexercises');
socket.emit('populateexercises', result); socket.emit('populateexercises', result);
}); });
}); });
};
}); });
///////////////////// /////////////////////

View File

@@ -76,27 +76,29 @@
var array = json.Activities.Activity.Lap; var array = json.Activities.Activity.Lap;
$.each(array, function(index, value) { $.each(array, function(index, value) {
////if run ////if run
if ("run" in value) { addpopulatedlap("run", value.run.name, value.run.time, value.run.distance, "", "" , "")}; if ("run" in value) { AddPopulatedLap("Run", value.run.name, value.run.time, value.run.distance, "", "" , "")};
////if bike ////if bike
if ("bike" in value) { addpopulatedlap("bike", value.bike.name, value.bike.time, value.bike.distance, "", "" , "")}; if ("bike" in value) { AddPopulatedLap("Bike", value.bike.name, value.bike.time, value.bike.distance, "", "" , "")};
////if cardio ////if cardio
if ("cardio" in value) { addpopulatedlap("cardio", value.cardio.name, value.cardio.time, value.cardio.distance, "", "" , "")}; if ("cardio" in value) { AddPopulatedLap("Cardio", value.cardio.name, value.cardio.time, value.cardio.distance, "", "" , "")};
////if exercise ////if exercise
if ("exercise" in value) { addpopulatedlap("exercise", value.exercise.name, "", "", value.exercise.sets, value.exercise.reps , value.exercise.weight)}; if ("exercise" in value) { AddPopulatedLap("Exercise", value.exercise.name, "", "", value.exercise.sets, value.exercise.reps , value.exercise.weight)};
////if rest ////if rest
if ("rest" in value) { addpopulatedlap("rest", "", "", "", "", "" , "")}; if ("rest" in value) { AddPopulatedLap("Rest", "", "", "", "", "" , "")};
}); });
}; };
$('#savecopy').attr('style', 'display: block');
///refresh tabvle ///refresh tabvle
$('#sortable').trigger('sortupdate'); $('#sortable').trigger('sortupdate');
//switch to tab //switch to tab
$( "#tabs" ).tabs( "select" , 1 ) $( "#tabs" ).tabs( "select" , 1 )
}); });
function AddPopulatedLap(type, name, time, distance, set, reps, weight) { function AddPopulatedLap(type, name, time, distance, set, reps, weight) {
console.log('type= ' + type);
var newElem = $('.new-lap').clone(true).attr('style', 'display: block'); var newElem = $('.new-lap').clone(true).attr('style', 'display: block');
$(newElem).removeClass('new-lap'); $(newElem).removeClass('new-lap');
$(newElem).appendTo('#sortable'); $(newElem).appendTo('#sortable');
@@ -108,22 +110,17 @@
$(newElem).sortable( "refresh" ); $(newElem).sortable( "refresh" );
}; };
//var addtype = $(this).attr('value');
//var newElem = $('.new-' + addtype).clone(true).attr('style', 'display: block');
//$(newElem).removeClass("new-" + addtype);
var addtype = $(this).attr('value'); //$(newElem).children('input').attr('disabled',false);
var newElem = $('.new-' + addtype).clone(true).attr('style', 'display: block'); //$(newElem).appendTo('#sortable');
$(newElem).removeClass("new-" + addtype); //$(newElem).sortable( "refresh" );
$(newElem).children('input').attr('disabled',false); //$('#sortable').trigger('sortupdate');
$(newElem).appendTo('#sortable');
$(newElem).sortable( "refresh" );
$('#sortable').trigger('sortupdate');
////populate exercise sortable ////populate exercise sortable
socket.on('populateexercises', function(json) { socket.on('populateexercises', function(json) {
console.log('#exercises recieved' + JSON.stringify(json, null, ' ')); //console.log('#exercises recieved' + JSON.stringify(json, null, ' '));
var content = ""; var content = "";
$('ul#sortableexercises li').remove(); $('ul#sortableexercises li').remove();
$('span.ExerciseID').attr('docid',json[0]._id); $('span.ExerciseID').attr('docid',json[0]._id);
@@ -138,7 +135,7 @@
////populate expresso sortable ////populate expresso sortable
socket.on('populateexpresso', function(json) { socket.on('populateexpresso', function(json) {
console.log('#tracks recieved' + JSON.stringify(json, null, ' ')); //console.log('#tracks recieved' + JSON.stringify(json, null, ' '));
var content = ""; var content = "";
$('ul#sortableexpresso li').remove(); $('ul#sortableexpresso li').remove();
$('span.ExpressoID').attr('docid',json[0]._id); $('span.ExpressoID').attr('docid',json[0]._id);
@@ -150,22 +147,18 @@
}); });
}); });
}); });
$( "#tabs" ).tabs();
$( "#tabs" ).tabs('select' , 0);
//sets buttons to be jquery buttons
$("button").button();
//sets datepickers
$( "#datepicker" ).datepicker();
//THe TABs stuff
$( "#tabs" ).tabs();
$( "#tabs" ).tabs('select' , 0);
//sets buttons to be jquery buttons
$("button").button();
//sets datepickers
$( "#datepicker" ).datepicker();
$( "#tabs" ).bind( "tabsselect", function(event, ui) { $( "#tabs" ).bind( "tabsselect", function(event, ui) {
//console.log('index ' + ui.index );
//console.log('tab ' + ui.tab );
//console.log('panel ' + ui.panel );
if (ui.index == 0) { if (ui.index == 0) {
console.log('send stuff ' + ui.index ); console.log('send stuff ' + ui.index );
socket.emit('getactivites', 'please'); socket.emit('getactivites', 'please');
@@ -181,20 +174,17 @@ $( "#datepicker" ).datepicker();
}); });
$('#ActivityList').delegate('a.activitydelete', 'click', function() {
$('#ActivityList').delegate('a.activitydelete', 'click', function() {
socket.emit('delactivity', $(this).attr('title')); socket.emit('delactivity', $(this).attr('title'));
return false; return false;
}); });
$('#ActivityList').delegate('a.activityedit', 'click', function() { $('#ActivityList').delegate('a.activityedit', 'click', function() {
socket.emit('getactivitybyid', $(this).attr('title')); socket.emit('getactivitybyid', $(this).attr('title'));
return false; return false;
}); });
//THe Sortable Stuff
$("#sortable").sortable({ $("#sortable").sortable({
placeholder: "ui-state-highlight", placeholder: "ui-state-highlight",
revert: true, revert: true,
@@ -202,41 +192,40 @@ $('#ActivityList').delegate('a.activityedit', 'click', function() {
$('#sortable').trigger('sortupdate') $('#sortable').trigger('sortupdate')
}, },
}); });
$("#sortable").bind('sortupdate', function(event, ui) { $("#sortable").bind('sortupdate', function(event, ui) {
$('#sortable li').each(function(){ $('#sortable li').each(function(){
var itemindex= $(this).index() var itemindex= $(this).index()
$(this).children('label.uiindex').html('Lap '+ itemindex ); $(this).children('label.uiindex').html('Lap '+ itemindex );
$(this).find('input').each(function(){ $(this).find('input').each(function(){
var newname = $(this).attr('name').replace(/\[[0-9]*\]/,'[' + itemindex + ']'); var newname = $(this).attr('name').replace(/\[[0-9]*\]/,'[' + itemindex + ']');
console.log('newname' + newname ); //console.log('newname' + newname );
$(this).attr("name",newname); $(this).attr("name",newname);
}); });
$(this).find('input.exertags').autocomplete({source: exercise_autocompletedata}); $(this).find('input.exertags').autocomplete({source: exercise_autocompletedata});
//select: function(event, ui) { ... } //select: function(event, ui) { ... }
//$(this).find('input.biketags').autocomplete({source: bike_autocompletedata}) //$(this).find('input.biketags').autocomplete({source: bike_autocompletedata})
console.log('exercise_autocompletedata' + JSON.stringify(exercise_autocompletedata, null, ' ') ); //console.log('exercise_autocompletedata' + JSON.stringify(exercise_autocompletedata, null, ' ') );
console.log('bike_autocompletedata' + JSON.stringify(bike_autocompletedata, null, ' ') ); //console.log('bike_autocompletedata' + JSON.stringify(bike_autocompletedata, null, ' ') );
});
}); });
});
$("#sortableexercises").sortable({ $("#sortableexercises").sortable({
placeholder: "ui-state-highlight", placeholder: "ui-state-highlight",
revert: true, revert: true,
}); });
$('ul').on('click', '.delete',function() {
//Removes slectable element
$('ul').on('click', '.delete',function() {
$(this).closest('li').remove(); $(this).closest('li').remove();
$('#sortable').trigger('sortupdate') $('#sortable').trigger('sortupdate')
}); });
$("button").button(); ///All the Buttons
$("button").button();
//adds selectable element //adds selectable element
$("button").click(function() { $("button").click(function() {
var addtype = $(this).attr('value'); var addtype = $(this).attr('value');
var newElem = $('.new-' + addtype).clone(true).attr('style', 'display: block'); var newElem = $('.new-' + addtype).clone(true).attr('style', 'display: block');
$(newElem).removeClass("new-" + addtype); $(newElem).removeClass("new-" + addtype);
@@ -244,14 +233,16 @@ $("button").click(function() {
$(newElem).appendTo('#sortable'); $(newElem).appendTo('#sortable');
$(newElem).sortable( "refresh" ); $(newElem).sortable( "refresh" );
$('#sortable').trigger('sortupdate'); $('#sortable').trigger('sortupdate');
}); });
$("button.AddExercise").click(function() { $("button.AddExercise").click(function() {
$( "ul#sortableexercises" ).append('<li class=ui-state-default><input type="text" name="exercise.name[]" hint="Name" placeholder="Exercise Name"></li>') $( "ul#sortableexercises" ).append('<li class=ui-state-default><input type="text" name="exercise.name[]" hint="Name" placeholder="Exercise Name"></li>')
}); });
$("button.AddExpresso").click(function() { $("button.AddExpresso").click(function() {
$( "ul#sortableexpresso" ).append('<li class=ui-state-default><input type="text" name="track.name[]" hint="Name" placeholder="Track Name"><input type="text" name="track.distance[]" hint="Name" placeholder="Distance"><input type="text" name="track.peak[]" hint="Name" placeholder="Peak"></li>') $( "ul#sortableexpresso" ).append('<li class=ui-state-default><input type="text" name="track.name[]" hint="Name" placeholder="Track Name"><input type="text" name="track.distance[]" hint="Name" placeholder="Distance"><input type="text" name="track.peak[]" hint="Name" placeholder="Peak"></li>')
}); });
$('#Activity').find('input.datepicker').datepicker(); $('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date()); $('#Activity').find('input.datepicker').datepicker('setDate', new Date());
@@ -265,6 +256,8 @@ $("button").click(function() {
//console.log('All ', JSON.stringify(formDataAll[0], null, ' ')); //console.log('All ', JSON.stringify(formDataAll[0], null, ' '));
$('ul#sortable li').remove('.removable'); $('ul#sortable li').remove('.removable');
$('#Activity').find('input').attr('value',''); $('#Activity').find('input').attr('value','');
$('span.ActivityID').removeAttr('docid');
$('#savecopy').attr('style', 'display: none');
$( "#tabs" ).tabs( "select" , 0 ) $( "#tabs" ).tabs( "select" , 0 )
$('#Activity').find('input.datepicker').datepicker(); $('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date()); $('#Activity').find('input.datepicker').datepicker('setDate', new Date());
@@ -278,6 +271,8 @@ $("button").click(function() {
//console.log('All ', JSON.stringify(formDataAll[0], null, ' ')); //console.log('All ', JSON.stringify(formDataAll[0], null, ' '));
$('ul#sortable li').remove('.removable'); $('ul#sortable li').remove('.removable');
$('#Activity').find('input').attr('value',''); $('#Activity').find('input').attr('value','');
$('span.ActivityID').removeAttr('docid');
$('#savecopy').attr('style', 'display: none');
$( "#tabs" ).tabs( "select" , 0 ) $( "#tabs" ).tabs( "select" , 0 )
$('#Activity').find('input.datepicker').datepicker(); $('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date()); $('#Activity').find('input.datepicker').datepicker('setDate', new Date());
@@ -290,7 +285,7 @@ $("button").click(function() {
var formDataAll = $(selector).toObject({mode: 'all'}); var formDataAll = $(selector).toObject({mode: 'all'});
socket.emit('updateexercises', formDataAll[0], docid); socket.emit('updateexercises', formDataAll[0], docid);
console.log('All ', JSON.stringify(formDataAll, null, ' ')); //console.log('All ', JSON.stringify(formDataAll, null, ' '));
// to prevent the page from changing // to prevent the page from changing
$('ul#sortableexercises li').remove(); $('ul#sortableexercises li').remove();
$( "#tabs" ).tabs( "select" , 0 ) $( "#tabs" ).tabs( "select" , 0 )
@@ -322,10 +317,10 @@ $("button").click(function() {
$('#my-text-link').click(function() { // bind click event to link $('#my-text-link').click(function() { // bind click event to link
$tabs.tabs('select', 2); // switch to third tab $tabs.tabs('select', 2); // switch to third tab
return false; return false;
}); });
$('ul').on('change', '.laptype',function() { $('ul').on('change', '.laptype',function() {
console.log ('value= ' + $(this).val() ); console.log ('value= ' + $(this).val() );
switch($(this).val()) { switch($(this).val()) {
case "Run": case "Run":
@@ -390,7 +385,7 @@ $('ul').on('change', '.laptype',function() {
<li class="ui-state-default"><label>Activity Name</label><input type="text" name="Activities.Activity.name" placeholder="Location"><label>Date</label><input type="text" class="datepicker" name="Activities.Activity.date"></li> <li class="ui-state-default"><label>Activity Name</label><input type="text" name="Activities.Activity.name" placeholder="Location"><label>Date</label><input type="text" class="datepicker" name="Activities.Activity.date"></li>
</ul> </ul>
<button type="submit" id="save" value="Save">Save</button> <button type="submit" id="save" value="Save">Save</button>
<button type="submit" id="savecopy" value="Savecopy">Save Copy</button> <button style="display: none" type="submit" id="savecopy" value="Savecopy">Save Copy</button>
<button type="button" id="cancelform" value="Cancel"/>Cancel</button> <button type="button" id="cancelform" value="Cancel"/>Cancel</button>
</form> </form>
</span> </span>