Document Upload and Deletion work great

This commit is contained in:
Patrick McDonagh
2016-05-05 15:53:45 -05:00
parent 4ad91f1271
commit e8cc9f1465
5 changed files with 87 additions and 15 deletions

View File

@@ -17,16 +17,17 @@ module.exports = {
Doc.create({
name: files[i].filename,
location: files[i].fd.split("assets/")[1],
visible: true
description: req.body.description
}).exec(function(err, created){
if (err) console.log(err);
console.log("Created :" + created);
});
}
return res.json({
message: files.length + ' file(s) uploaded successfully!',
files: files
});
return res.redirect("/#/docs");
// return res.json({
// message: files.length + ' file(s) uploaded successfully!',
// files: files
// });
});
}
};

View File

@@ -21,8 +21,8 @@ module.exports = {
location: {
type: 'string'
},
visible: {
type:'boolean'
description: {
type:'string'
}
}
};

View File

@@ -11,6 +11,14 @@ poconsole.controller('docsCtrl', function($scope, $route, Page, $log, docs) {
var imageExtension = ".png";
$scope.docs = d.docs.map(function(doc){
var spl = doc.location.split(".");
var split_name = doc.name.split(".");
var trunc_filebase = split_name[0];
if (trunc_filebase.length > 12){
trunc_filebase = trunc_filebase.slice(0,5) + "..." + trunc_filebase.slice(-5);
}
doc.trunc_filename = trunc_filebase + "." + split_name[1];
var ext = spl[spl.length - 1];
if(file_types.indexOf(ext) > -1){
doc.img_url = imageBase + ext + imageExtension;
@@ -23,5 +31,17 @@ poconsole.controller('docsCtrl', function($scope, $route, Page, $log, docs) {
};
$scope.loadDocs();
$scope.selectDelete = function(id){
$scope.del_id = id;
return;
};
$scope.deleteDoc = function(id){
var del = docs.deleteDoc(id);
del.then(function(d){
$scope.loadDocs();
});
};
});

View File

@@ -1,4 +1,14 @@
poconsole.factory('docs',function($q, $http, $log){
poconsole.factory('formDataObject', function() {
return function(data) {
var fd = new FormData();
angular.forEach(data, function(value, key) {
fd.append(key, value);
});
return fd;
};
});
poconsole.factory('docs',function($q, $http, $log, formDataObject){
var getAllDocs = function(){
var deferred = $q.defer();
@@ -20,10 +30,21 @@ poconsole.factory('docs',function($q, $http, $log){
return deferred.promise;
};
var deleteDoc = function(id){
var deferred = $q.defer();
$http.delete('/doc/' + id).success(function(data) {
deferred.resolve({
deleted:data
});
});
return deferred.promise;
};
return {
getAllDocs:getAllDocs,
getDoc: getDoc
getDoc: getDoc,
deleteDoc: deleteDoc
};
});

View File

@@ -1,10 +1,35 @@
<div class="modal fade" id="deleteDocModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Are you sure?</h4>
</div>
<div class="modal-body">
<h2>Are you sure you want to delete this document? This cannot be undone.</h2>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">No...</button>
<button type="button" class="btn btn-danger" ng-click="deleteDoc(del_id);" data-dismiss="modal">Yes! Delete it!</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div class="container">
<div class="row">
<div class="row row-flex">
<div ng-repeat="doc in docs" class="col-md-3">
<div class="well" style="margin:10px;">
<h2><a href="{{doc.location}}">{{doc.name}}</a></h2>
<div style="text-align:center;">
<h3><a href="{{doc.location}}">{{doc.trunc_filename}}</a></h3>
</div>
<img ng-if="doc.img_url" class="img img-responsive" src="{{doc.img_url}}">
<img ng-if="!doc.img_url" class="img img-responsive" src="/images/icons/_blank.png">
<p>{{doc.description}}</p>
<h6>Uploaded at: {{ doc.createdAt | date: 'medium'}}</h6>
<button type="button" class="btn btn-danger" data-toggle="modal" data-target="#deleteDocModal" ng-click="selectDelete(doc.id)">
Delete
</button>
</div>
</div>
</div>
@@ -12,11 +37,16 @@
<div class="row">
<div class="col-md-6 col-md-offset-3 well">
<h1>Upload a new document... </h1>
<form action="/doc/upload" enctype="multipart/form-data" method="post">
<input type="text" name="title"><br>
<input type="file" name="document" multiple="multiple"><br>
<input type="submit" value="Upload">
<input type="file" name="document" class="form-control"><br>
<div class="form-group">
<label for="description">File Description</label>
<input type="text" name="description" class="form-control"><br>
</div>
<input type="submit" class="btn btn-default" value="Upload">
</form>
</div>
</div>