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 = [],
fields = [];
// var tempDirectory = "/tmp/";
var tempDirectory = "/tmp/";
// //tempdirectory changes if the operating system is windows
// if(os.type().indexof("windows") > -1)
// {
// tempdirectory = "c:\\temp\\";
// }
// form.uploaddir = tempdirectory;
if(os.type().indexof("windows") > -1)
{
tempdirectory = "c:\\temp\\";
}
form.uploaddir = tempdirectory;
tempDirectory = "c:\\Temp\\";
form.uploadDir = tempDirectory;
//form.uploadDir = root + '\node';
//tempDirectory = "c:\\Temp\\";
//form.uploadDir = tempDirectory;
form.on('error', function(err) {
response.writeHead(200, {'content-type': 'text/plain'});
@@ -119,14 +115,6 @@ io.set("transports", ["websocket"]);
io.sockets.on('connection', function(socket) {
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) {
console.log('getactivites')
testcollection.find().toArray(function(err, result) {
@@ -147,34 +135,23 @@ io.sockets.on('connection', function(socket) {
////////////////////////
socket.on('addactivity', function(data, docid) {
console.log('addactivity' + docid)
//testcollection.insert(data, function(err, result) {
// if (err) throw err;
// 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);
});
});
if (docid === null) {
var document_id = new BSON.ObjectID();
}
else {
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) {
if (err) throw err;
exercisecollection.find().toArray(function(err, result) {
if (err) throw err;
console.log('populateexercises');
socket.emit('populateexercises', result);
});
});
};
});
/////////////////////

View File

@@ -76,27 +76,29 @@
var array = json.Activities.Activity.Lap;
$.each(array, function(index, value) {
////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" 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" 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" 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" in value) { addpopulatedlap("rest", "", "", "", "", "" , "")};
if ("rest" in value) { AddPopulatedLap("Rest", "", "", "", "", "" , "")};
});
};
$('#savecopy').attr('style', 'display: block');
///refresh tabvle
$('#sortable').trigger('sortupdate');
//switch to tab
$( "#tabs" ).tabs( "select" , 1 )
});
function AddPopulatedLap(type, name, time, distance, set, reps, weight) {
console.log('type= ' + type);
var newElem = $('.new-lap').clone(true).attr('style', 'display: block');
$(newElem).removeClass('new-lap');
$(newElem).appendTo('#sortable');
@@ -108,22 +110,17 @@
$(newElem).sortable( "refresh" );
};
var addtype = $(this).attr('value');
var newElem = $('.new-' + addtype).clone(true).attr('style', 'display: block');
$(newElem).removeClass("new-" + addtype);
$(newElem).children('input').attr('disabled',false);
$(newElem).appendTo('#sortable');
$(newElem).sortable( "refresh" );
$('#sortable').trigger('sortupdate');
//var addtype = $(this).attr('value');
//var newElem = $('.new-' + addtype).clone(true).attr('style', 'display: block');
//$(newElem).removeClass("new-" + addtype);
//$(newElem).children('input').attr('disabled',false);
//$(newElem).appendTo('#sortable');
//$(newElem).sortable( "refresh" );
//$('#sortable').trigger('sortupdate');
////populate exercise sortable
socket.on('populateexercises', function(json) {
console.log('#exercises recieved' + JSON.stringify(json, null, ' '));
//console.log('#exercises recieved' + JSON.stringify(json, null, ' '));
var content = "";
$('ul#sortableexercises li').remove();
$('span.ExerciseID').attr('docid',json[0]._id);
@@ -138,7 +135,7 @@
////populate expresso sortable
socket.on('populateexpresso', function(json) {
console.log('#tracks recieved' + JSON.stringify(json, null, ' '));
//console.log('#tracks recieved' + JSON.stringify(json, null, ' '));
var content = "";
$('ul#sortableexpresso li').remove();
$('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) {
//console.log('index ' + ui.index );
//console.log('tab ' + ui.tab );
//console.log('panel ' + ui.panel );
if (ui.index == 0) {
console.log('send stuff ' + ui.index );
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'));
return false;
});
});
$('#ActivityList').delegate('a.activityedit', 'click', function() {
$('#ActivityList').delegate('a.activityedit', 'click', function() {
socket.emit('getactivitybyid', $(this).attr('title'));
return false;
});
});
//THe Sortable Stuff
$("#sortable").sortable({
placeholder: "ui-state-highlight",
revert: true,
@@ -202,41 +192,40 @@ $('#ActivityList').delegate('a.activityedit', 'click', function() {
$('#sortable').trigger('sortupdate')
},
});
});
$("#sortable").bind('sortupdate', function(event, ui) {
$("#sortable").bind('sortupdate', function(event, ui) {
$('#sortable li').each(function(){
var itemindex= $(this).index()
$(this).children('label.uiindex').html('Lap '+ itemindex );
$(this).find('input').each(function(){
var newname = $(this).attr('name').replace(/\[[0-9]*\]/,'[' + itemindex + ']');
console.log('newname' + newname );
//console.log('newname' + newname );
$(this).attr("name",newname);
});
$(this).find('input.exertags').autocomplete({source: exercise_autocompletedata});
//select: function(event, ui) { ... }
//$(this).find('input.biketags').autocomplete({source: bike_autocompletedata})
console.log('exercise_autocompletedata' + JSON.stringify(exercise_autocompletedata, null, ' ') );
console.log('bike_autocompletedata' + JSON.stringify(bike_autocompletedata, null, ' ') );
//console.log('exercise_autocompletedata' + JSON.stringify(exercise_autocompletedata, null, ' ') );
//console.log('bike_autocompletedata' + JSON.stringify(bike_autocompletedata, null, ' ') );
});
});
});
$("#sortableexercises").sortable({
placeholder: "ui-state-highlight",
revert: true,
});
//Removes slectable element
$('ul').on('click', '.delete',function() {
$('ul').on('click', '.delete',function() {
$(this).closest('li').remove();
$('#sortable').trigger('sortupdate')
});
});
$("button").button();
///All the Buttons
$("button").button();
//adds selectable element
$("button").click(function() {
//adds selectable element
$("button").click(function() {
var addtype = $(this).attr('value');
var newElem = $('.new-' + addtype).clone(true).attr('style', 'display: block');
$(newElem).removeClass("new-" + addtype);
@@ -244,14 +233,16 @@ $("button").click(function() {
$(newElem).appendTo('#sortable');
$(newElem).sortable( "refresh" );
$('#sortable').trigger('sortupdate');
});
});
$("button.AddExercise").click(function() {
$( "ul#sortableexercises" ).append('<li class=ui-state-default><input type="text" name="exercise.name[]" hint="Name" placeholder="Exercise Name"></li>')
});
$("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>')
});
$('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
@@ -265,6 +256,8 @@ $("button").click(function() {
//console.log('All ', JSON.stringify(formDataAll[0], null, ' '));
$('ul#sortable li').remove('.removable');
$('#Activity').find('input').attr('value','');
$('span.ActivityID').removeAttr('docid');
$('#savecopy').attr('style', 'display: none');
$( "#tabs" ).tabs( "select" , 0 )
$('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
@@ -278,6 +271,8 @@ $("button").click(function() {
//console.log('All ', JSON.stringify(formDataAll[0], null, ' '));
$('ul#sortable li').remove('.removable');
$('#Activity').find('input').attr('value','');
$('span.ActivityID').removeAttr('docid');
$('#savecopy').attr('style', 'display: none');
$( "#tabs" ).tabs( "select" , 0 )
$('#Activity').find('input.datepicker').datepicker();
$('#Activity').find('input.datepicker').datepicker('setDate', new Date());
@@ -290,7 +285,7 @@ $("button").click(function() {
var formDataAll = $(selector).toObject({mode: 'all'});
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
$('ul#sortableexercises li').remove();
$( "#tabs" ).tabs( "select" , 0 )
@@ -322,10 +317,10 @@ $("button").click(function() {
$('#my-text-link').click(function() { // bind click event to link
$tabs.tabs('select', 2); // switch to third tab
return false;
});
});
$('ul').on('change', '.laptype',function() {
$('ul').on('change', '.laptype',function() {
console.log ('value= ' + $(this).val() );
switch($(this).val()) {
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>
</ul>
<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>
</form>
</span>