Merge pull request #57 from kiswa/master

Merge master into demo
This commit is contained in:
Matt 2014-10-25 16:38:13 -04:00
commit 85693f5278
38 changed files with 95 additions and 23 deletions

View File

@ -1,5 +1,10 @@
v0.2.3
v0.2.4
Changelog
* Bugfix for automatic actions typo error in v0.2.2 (@alex3305)
* Bugfix for attachments downloading with hash instead of file name (#41).
* Bugfix for item positions (#37).
* noty errors are ignored now.
* Favicons added.
* API Error now returns exception message in JSON data.

View File

@ -17,9 +17,14 @@ require_once('helpers.php'); // Must come after $jsonResponse exists.
// Catch Exception if connection to DB failed
function exceptionHandler($exception) {
global $jsonResponse;
header('Content-Type: application/json');
http_response_code(503);
echo '{"message": "API Error."}';
$jsonResponse->message = 'API Error.';
$jsonResponse->data = $exception->getMessage();
echo $jsonResponse->asJson();
};
set_exception_handler('exceptionHandler');

View File

@ -311,8 +311,8 @@ a:hover.fa {
border-radius: 5px;
margin: 5px;
}
a > span.fa-plus {
margin-left: 5px;
span.fa {
margin-right: 5px;
}
.lane-placeholder {
width: 100%;

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

BIN
favicons/apple-touch-icon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

12
favicons/browserconfig.xml Executable file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="icons/mstile-70x70.png"/>
<square150x150logo src="icons/mstile-150x150.png"/>
<square310x310logo src="icons/mstile-310x310.png"/>
<wide310x150logo src="icons/mstile-310x150.png"/>
<TileColor>#2b5797</TileColor>
</tile>
</msapplication>
</browserconfig>

BIN
favicons/favicon-160x160.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
favicons/favicon-16x16.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

BIN
favicons/favicon-192x192.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
favicons/favicon-32x32.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

BIN
favicons/favicon-96x96.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
favicons/favicon.ico Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
favicons/mstile-144x144.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
favicons/mstile-150x150.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
favicons/mstile-310x150.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
favicons/mstile-310x310.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
favicons/mstile-70x70.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -14,13 +14,33 @@
<link rel="stylesheet" href="lib/css/jquery-ui.min.css">
<link rel="stylesheet" href="lib/css/jquery-ui.structure.min.css">
<link rel="stylesheet" href="lib/css/spectrum.css">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Pontano+Sans|Raleway:500">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Pontano+Sans|Raleway:500" data-noprefix>
<link rel="stylesheet" href="css/styles.css">
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<!--favicons -->
<link rel="shortcut icon" href="favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="114x114" href="favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="72x72" href="favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="144x144" href="favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="60x60" href="favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="120x120" href="favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="76x76" href="favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="152x152" href="favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="favicons/favicon-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="favicons/favicon-160x160.png" sizes="160x160">
<link rel="icon" type="image/png" href="favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="favicons/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="favicons/favicon-32x32.png" sizes="32x32">
<meta name="msapplication-TileColor" content="#2b5797">
<meta name="msapplication-TileImage" content="favicons/mstile-144x144.png">
<meta name="msapplication-config" content="favicons/browserconfig.xml">
</head>
<body>
<div id="wrapper" data-ng-view data-ng-cloak>

View File

@ -10,13 +10,33 @@
<title>TaskBoard</title>
<link rel="stylesheet" href="lib/css/combined.min.css">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Pontano+Sans%7CRaleway:500">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Pontano+Sans|Raleway:500" data-noprefix>
<link rel="stylesheet" href="css/styles.min.css">
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<!--favicons -->
<link rel="shortcut icon" href="favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="114x114" href="favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="72x72" href="favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="144x144" href="favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="60x60" href="favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="120x120" href="favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="76x76" href="favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="152x152" href="favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="favicons/favicon-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="favicons/favicon-160x160.png" sizes="160x160">
<link rel="icon" type="image/png" href="favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="favicons/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="favicons/favicon-32x32.png" sizes="32x32">
<meta name="msapplication-TileColor" content="#2b5797">
<meta name="msapplication-TileImage" content="favicons/mstile-144x144.png">
<meta name="msapplication-config" content="favicons/browserconfig.xml">
</head>
<body>
<div id="wrapper" data-ng-view data-ng-cloak>

View File

@ -83,7 +83,7 @@ function ($scope, $routeParams, $location, $interval, $window,
if ($scope.boardId) {
$interval.cancel($scope.interval);
}
if ($scope.boardsLoaded && !$scope.boardId && parseInt($scope.currentUser.defaultBoard)) {
if ($scope.boardsLoaded && !$scope.boardId && $scope.currentUser && parseInt($scope.currentUser.defaultBoard)) {
$interval.cancel($scope.interval);
$location.path('boards/' + $scope.currentUser.defaultBoard);
}
@ -155,6 +155,8 @@ function ($scope, $routeParams, $location, $interval, $window,
} else if (diff < (1000 * 60 * 60 * 24 * 3)) { // Three days
item.dateNear = true;
}
item.position = parseInt(item.position);
});
}
});

View File

@ -33,7 +33,9 @@ function ($scope, $window, $location, UserService, AuthenticationService, AlertS
$scope.display.smallText = ' - File Viewer';
}
$.noty.closeAll(); // Clear any alerts on page load.
try {
$.noty.closeAll(); // Clear any alerts on page load.
} catch(e) {}
$scope.logout = function() {
UserService.logOut()

View File

@ -47,7 +47,7 @@
<span class="fa fa-angle-double-up small expand" title="Expand Column"
data-ng-click="toggleLane(lane)"></span>
</h3>
<div class="itemContainer">
<div class="itemContainer">
<div><!-- Needed to fix sortable behavior when there are no items in a column. --></div>
<div class="boardItem clearfix" data-ng-class="{'filtered': item.filtered}"
data-ng-repeat="item in lane.ownItem | orderBy:'position':false"

View File

@ -71,8 +71,8 @@
<button type="submit" class="btn btn-info"
data-ng-click="submitItem(itemFormData)"
data-ng-disabled="itemFormData.isSaving">
<span data-ng-if="itemFormData.isAdd">Add</span>
<span data-ng-if="!itemFormData.isAdd">Edit</span>
<span data-ng-if="itemFormData.isAdd"><span class="fa fa-plus"></span> Add</span>
<span data-ng-if="!itemFormData.isAdd"><span class="fa fa-save"></span> Save</span>
Item</button>
<a class="btn btn-default" data-ng-click="itemFormData.cancel()"
data-ng-disabled="itemFormData.isSaving">Cancel</a>

View File

@ -68,9 +68,9 @@
<input type="file" name="file" class="form-control"
data-file-upload="itemUpload" data-reset-flag="fileReset"
data-ng-disabled="viewItem.disabled">
<button type="submit" id="upload-attachment" class="btn btn-primary"
<button type="submit" id="upload-attachment" class="btn btn-info"
data-ng-class="{'disabled': viewItem.disabled}"
data-ng-click="addItemAttachment()">Upload</button>
data-ng-click="addItemAttachment()"><span class="fa fa-upload"></span> Upload</button>
</div>
</div>
<div class="view-item-comments" data-ng-if="viewItem.ownComment.length">
@ -100,9 +100,9 @@
<h4>Add Comment</h4>
<div class="form-group">
<textarea id="itemComment" class="form-control" rows="4" data-ng-model="comment.text"></textarea>
<button type="submit" id="add-comment" class="btn btn-primary pull-right"
<button type="submit" id="add-comment" class="btn btn-info pull-right"
data-ng-class="{ 'disabled': viewItem.disabled }"
data-ng-click="addItemComment(comment.text)">Submit Comment</button>
data-ng-click="addItemComment(comment.text)"><span class="fa fa-comment-o"></span> Submit Comment</button>
</div>
</div>
</div>

View File

@ -93,7 +93,7 @@
<p>
<a role="button" id="addAction" class="btn btn-info pull-right"
data-ng-click="addAction()" data-ng-disabled="null === actionData.board" title="Add Action">
Add Action <span class="fa fa-plus"></span>
<span class="fa fa-plus"></span> Add Action
</a>
</p>
</div>

View File

@ -76,9 +76,15 @@
</div>
<div class="modal-footer">
<button type="submit" id="modalAddBoard" class="btn btn-info" data-ng-click="addBoard(boardFormData)"
data-ng-if="boardFormData.isAdd" data-ng-disabled="boardFormData.isSaving">Add Board</button>
data-ng-if="boardFormData.isAdd" data-ng-disabled="boardFormData.isSaving">
<span class="fa fa-plus"></span>
Add Board
</button>
<button type="submit" id="modalEditBoard" class="btn btn-info" data-ng-click="editBoard(boardFormData)"
data-ng-if="!boardFormData.isAdd" data-ng-disabled="boardFormData.isSaving">Edit Board</button>
data-ng-if="!boardFormData.isAdd" data-ng-disabled="boardFormData.isSaving">
<span class="fa fa-save"></span>
Save Board
</button>
<a class="btn btn-default" data-ng-click="boardFormData.cancel()"
data-ng-disabled="boardFormData.isSaving">Cancel</a>
</div>

View File

@ -48,7 +48,7 @@
</tbody>
</table>
<div data-ng-if="currentUser.isAdmin == '1'">
<p><a role="button" id="addBoard" class="btn btn-info" data-toggle="modal" data-target=".boardModal" data-ng-click="boardFormData.reset()" title="Add Board">Add Board <span class="fa fa-plus"> </span></a></p>
<p><a role="button" id="addBoard" class="btn btn-info" data-toggle="modal" data-target=".boardModal" data-ng-click="boardFormData.reset()" title="Add Board"><span class="fa fa-plus"></span> Add Board</a></p>
</div>
</div>
</div>

View File

@ -42,8 +42,8 @@
</label>
</div>
<div class="modal-footer">
<button type="submit" id="modalAddUser" class="btn btn-info" data-ng-click="addUser(userFormData)" data-ng-if="userFormData.isAdd">Add User</button>
<button type="submit" id="modalEditUser" class="btn btn-info" data-ng-click="editUser(userFormData)" data-ng-if="!userFormData.isAdd">Edit User</button>
<button type="submit" id="modalAddUser" class="btn btn-info" data-ng-click="addUser(userFormData)" data-ng-if="userFormData.isAdd"><span class="fa fa-plus"></span> Add User</button>
<button type="submit" id="modalEditUser" class="btn btn-info" data-ng-click="editUser(userFormData)" data-ng-if="!userFormData.isAdd"><span class="fa fa-save"></span> Save User</button>
<a class="btn btn-default" data-ng-click="userFormData.cancel()">Cancel</a>
</div>
</fieldset>

View File

@ -35,6 +35,6 @@
</tbody>
</table>
<div data-ng-if="currentUser.isAdmin == '1'">
<p><a role="button" id="addUser" class="btn btn-info" data-toggle="modal" data-target=".userModal" data-ng-click="userFormData.reset()" title="Add User">Add User <span class="fa fa-plus"> </span></a></p>
<p><a role="button" id="addUser" class="btn btn-info" data-toggle="modal" data-target=".userModal" data-ng-click="userFormData.reset()" title="Add User"><span class="fa fa-plus"></span> Add User</a></p>
</div>
</div>