Skip to content

Commit

Permalink
Changes #591: Dashboard, Cards work flow color, icon changes
Browse files Browse the repository at this point in the history
  • Loading branch information
lmarikannan committed Apr 26, 2016
1 parent c03acdf commit 2282955
Show file tree
Hide file tree
Showing 11 changed files with 157 additions and 39 deletions.
2 changes: 1 addition & 1 deletion client/css/custom.less
Original file line number Diff line number Diff line change
Expand Up @@ -1507,7 +1507,7 @@ footer {
}
}
}
footer, header {
footer, header, .dashboard-header {
.nav > li > a, .btn {
padding: 4px 7px;
}
Expand Down
6 changes: 6 additions & 0 deletions client/js/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@ var custom_fields = {};
var todo_lists = {};
var doing_lists = {};
var done_lists = {};
var TODO_COLOR = '';
var DOING_COLOR = '';
var DONE_COLOR = '';
var TODO_ICON = '';
var DOING_ICON = '';
var DONE_ICON = '';
Backbone.View.prototype.flash = function(type, message) {
$.bootstrapGrowl(message, {
type: type,
Expand Down
36 changes: 21 additions & 15 deletions client/js/templates/list.jst.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,27 @@
<div class="list-header js-list-head <% if(!_.isUndefined(authuser.user)){%>cur-grab<%}%>">
<div class="clearfix">
<a href="#" class="col-xs-8 <% if(!_.isUndefined(authuser.user) && (authuser.user.role_id == 1 || !_.isEmpty(list.board.acl_links.where({slug: "edit_list",board_user_role_id: parseInt(list.board_user_role_id)})))){ %>js-show-edit-list-form<% }else{ %> js-no-action<%}%>"><span><span class="clearfix row show">
<% _.each(todo_lists, function(todo_list) { %>
<% if(list.attributes.name.trim().toLowerCase() == todo_list.trim()) { %>
<span><i class="icon-tasks text-primary"></i></span>
<% } %>
<% }); %>
<% _.each(doing_lists, function(doing_list) { %>
<% if(list.attributes.name.trim().toLowerCase() == doing_list.trim()) { %>
<span><i class="icon-star-half-empty text-primary"></i></span>
<% } %>
<% }); %>
<% _.each(done_lists, function(done_list) { %>
<% if(list.attributes.name.trim().toLowerCase() == done_list.trim()) { %>
<span><i class="icon-ok text-primary"></i></span>
<% } %>
<% }); %>
<% if(!_.isUndefined(TODO_COLOR) && !_.isUndefined(TODO_ICON)) { %>
<% _.each(todo_lists, function(todo_list) { %>
<% if(list.attributes.name.trim().toLowerCase() == todo_list.trim()) { %>
<span><i class="<%- TODO_ICON %>" style="color:<%- TODO_COLOR %>" ></i></span>
<% } %>
<% }); %>
<% } %>
<% if(!_.isUndefined(DOING_COLOR) && !_.isUndefined(DOING_ICON)) { %>
<% _.each(doing_lists, function(doing_list) { %>
<% if(list.attributes.name.trim().toLowerCase() == doing_list.trim()) { %>
<span><i class="<%- DOING_ICON %>" style="color:<%- DOING_COLOR %>"></i></span>
<% } %>
<% }); %>
<% } %>
<% if(!_.isUndefined(DONE_COLOR) && !_.isUndefined(DONE_ICON)) { %>
<% _.each(done_lists, function(done_list) { %>
<% if(list.attributes.name.trim().toLowerCase() == done_list.trim()) { %>
<span><i class="<%- DONE_ICON %>" style="color:<%- DONE_COLOR %>"></i></span>
<% } %>
<% }); %>
<% } %>
<strong><%- list.attributes.name %></strong></span></span><% var is_sub_class = 'hide'; if(!_.isEmpty(list.subscriber.attributes) && list.subscriber.attributes.is_subscribed == true){ is_sub_class = ''; }%><span class="pull-right"><i class="icon-eye-open js-list-subscribed-<%- list.attributes.id %> <%- is_sub_class %>"></i></span></a>
<% if(!_.isUndefined(authuser.user) && (authuser.user.role_id == 1 || !_.isEmpty(list.board.acl_links.where({slug: "edit_list",board_user_role_id: parseInt(list.board_user_role_id)})))){ %>
<form role="form" class="form-horizontal js-edit-list hide">
Expand Down
10 changes: 10 additions & 0 deletions client/js/templates/setting_list.jst.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,16 @@
var current_connection_detail_fields_count = 0;
_.each(settings, function(setting) { %>
<%
var todo_color = '';
var doing_color = '';
var done_color = '';
var todo_icon = '';
var doing_icon = '';
var done_icon = '';
if(setting.name == 'TODO_COLOR') {
todo_color = setting;
}
if(setting.setting_category_id == 4 && setting.setting_category_parent_id != 0){
current_server_detail_fields_count = current_server_detail_fields_count + 1;
}
Expand Down
29 changes: 20 additions & 9 deletions client/js/templates/user_dashboard.jst.ejs
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
<%
var d = new Date();
var weekday = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var today = weekday[d.getDay()];
var current_month = months[d.getMonth()];
var today_count = 0;
var doing_count = 0;
Expand Down Expand Up @@ -76,8 +78,11 @@
<div class="col-xs-12">
<div class="pull-left">
<h4 class="list-group-item-heading"><%- i18next.t('Today') %></h4>
<div class="sep text-center navbar-btn">
<div class="sep-bot"> <%- today_count %> </div>
<div class="thumbnail text-center navbar-btn">
<div class="sep-bot">
<div class="bg-default h6 text-muted"><%- current_month %></div>
<div class="h3"><%- d.getDate() %></div>
</div>
<div><%- today %></div>
</div>
</div>
Expand All @@ -95,14 +100,20 @@
<div class="pull-left">
<h4 class="list-group-item-heading"><%- i18next.t('Week') %> </h4>
<ul class="list-inline week-chart-date">
<li class="sep text-center navbar-btn">
<div class="sep-bot"> <%- data.dashboard.week_start_day %> </div>
<div> <%- i18next.t('Mon') %> </div>
<li class="thumbnail text-center navbar-btn">
<div class="sep-bot">
<div class="bg-default h6 text-muted"><%- data.dashboard.week_start_month %></div>
<div class="h3"><%- data.dashboard.week_start_day %></div>
</div>
<div><%- i18next.t('Mon') %></div>
</li>
<li> <%- i18next.t('to') %> </li>
<li class="sep text-center navbar-btn">
<div class="sep-bot"> <%- data.dashboard.week_end_day %> </div>
<div> <%- i18next.t('Sun') %> </div>
<li class="thumbnail text-center navbar-btn">
<div class="sep-bot">
<div class="bg-default h6 text-muted"><%- data.dashboard.week_end_month %></div>
<div class="h3"><%- data.dashboard.week_end_day %></div>
</div>
<div><%- i18next.t('Sun') %></div>
</li>
</ul>
</div>
Expand Down Expand Up @@ -153,7 +164,7 @@
</div>
</div>
</section>
<section class="clearfix">
<section class="clearfix dashboard-header">
<div class="col-xs-12">
<hr>
<span class="pull-left h4"><%=data.dashboard.page_title%></span>
Expand Down
37 changes: 37 additions & 0 deletions client/js/views/application_view.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,25 @@ App.ApplicationView = Backbone.View.extend({
APPS = settings_response.apps;
IMAP_EMAIL = settings_response.IMAP_EMAIL;
DEFAULT_CARD_VIEW = settings_response.DEFAULT_CARD_VIEW;
if (settings_response.TODO_COLOR) {
TODO_COLOR = settings_response.TODO_COLOR;
}
if (settings_response.DOING_COLOR) {
DOING_COLOR = settings_response.DOING_COLOR;
}
if (settings_response.DONE_COLOR) {
DONE_COLOR = settings_response.DONE_COLOR;
}
if (settings_response.TODO_ICON) {
TODO_ICON = settings_response.TODO_ICON;
}
if (settings_response.DOING_ICON) {
DOING_ICON = settings_response.DOING_ICON;
}
if (settings_response.DONE_ICON) {
DONE_ICON = settings_response.DONE_ICON;
}

if (settings_response.TODO) {
var todo = settings_response.TODO;
var todo_split = todo.split(',');
Expand Down Expand Up @@ -180,6 +199,24 @@ App.ApplicationView = Backbone.View.extend({
APPS = settings_response.apps;
IMAP_EMAIL = settings_response.IMAP_EMAIL;
DEFAULT_CARD_VIEW = settings_response.DEFAULT_CARD_VIEW;
if (settings_response.TODO_COLOR) {
TODO_COLOR = settings_response.TODO_COLOR;
}
if (settings_response.DOING_COLOR) {
DOING_COLOR = settings_response.DOING_COLOR;
}
if (settings_response.DONE_COLOR) {
DONE_COLOR = settings_response.DONE_COLOR;
}
if (settings_response.TODO_ICON) {
TODO_ICON = settings_response.TODO_ICON;
}
if (settings_response.DOING_ICON) {
DOING_ICON = settings_response.DOING_ICON;
}
if (settings_response.DONE_ICON) {
DONE_ICON = settings_response.DONE_ICON;
}
if (settings_response.TODO) {
var todo = settings_response.TODO;
var todo_split = todo.split(',');
Expand Down
2 changes: 1 addition & 1 deletion client/js/views/card_view.js
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ App.CardView = Backbone.View.extend({
trigger_function: false,
});
}
var initialState = (DEFAULT_CARD_VIEW === 'Dockmodal') ? 'docked' : 'modal';
var initialState = (DEFAULT_CARD_VIEW === 'Dockmodal Maximize View') ? 'modal' : 'docked';
if (e.ctrlKey || e.metaKey) {
initialState = 'modal';
}
Expand Down
3 changes: 1 addition & 2 deletions client/js/views/user_cards_view.js
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,7 @@ App.UserCardsView = Backbone.View.extend({
silent: true
});
}

var initialState = (DEFAULT_CARD_VIEW === 'Dockmodal') ? 'docked' : 'modal';
var initialState = (DEFAULT_CARD_VIEW === 'Dockmodal Maximize View') ? 'modal' : 'docked';
if (e.ctrlKey || e.metaKey) {
initialState = 'modal';
}
Expand Down
44 changes: 36 additions & 8 deletions client/js/views/user_index_container_view.js
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,13 @@ App.UserIndexContainerView = Backbone.View.extend({
*/
userSearch: function(e) {
var _this = this;
_this.current_page = (!_.isUndefined(_this.current_page)) ? _this.current_page : 1;
_this.searchField = $('#user_search').val();
var users = new App.UserCollection();
$('.js-user-list').html('<tr class="js-loader"><td colspan="15"><span class="cssloader"></span></td></tr>');
users.url = api_url + 'users.json?search=' + _this.searchField;
if (!_.isUndefined(_this.searchField) && !_.isUndefined(_this.searchField)) {
users.url = api_url + 'users.json?page=' + _this.current_page + '&search=' + _this.searchField;
}
users.fetch({
cache: false,
abortPending: true,
Expand Down Expand Up @@ -184,13 +187,38 @@ App.UserIndexContainerView = Backbone.View.extend({
_this.sortField = (!_.isUndefined(e)) ? $(e.currentTarget).data('field') : _this.sortField;
_this.sortDirection = (!_.isUndefined(e)) ? $(e.currentTarget).data('direction') : _this.sortDirection;
var users = new App.UserCollection();
users.setSortField(_this.sortField, _this.sortDirection);
$('.js-user-list').html('<tr class="js-loader"><td colspan="15"><span class="cssloader"></span></td></tr>');
users.url = api_url + 'users.json?page=' + _this.current_page + '&sort=' + _this.sortField + '&direction=' + _this.sortDirection;
app.navigate('#/' + 'users?page=' + _this.current_page + '&sort=' + _this.sortField + '&direction=' + _this.sortDirection, {
trigger: false,
trigger_function: false,
});
$('.js-user-list').html('<tr class="js-loader"><td colspan="15"><span class="cssloader"></span></td></tr>');
if (!_.isUndefined(_this.sortDirection) && !_.isUndefined(_this.sortField)) {
users.setSortField(_this.sortField, _this.sortDirection);
if (!_.isUndefined(_this.searchField) && !(_this.searchField === '')) {
users.url = api_url + 'users.json?page=' + _this.current_page + '&sort=' + _this.sortField + '&direction=' + _this.sortDirection + '&search=' + _this.searchField;
app.navigate('#/' + 'users?page=' + _this.current_page + '&sort=' + _this.sortField + '&direction=' + _this.sortDirection + '&search=' + _this.searchField, {
trigger: false,
trigger_function: false,
});
} else {
users.url = api_url + 'users.json?page=' + _this.current_page + '&sort=' + _this.sortField + '&direction=' + _this.sortDirection;
app.navigate('#/' + 'users?page=' + _this.current_page + '&sort=' + _this.sortField + '&direction=' + _this.sortDirection, {
trigger: false,
trigger_function: false,
});
}

} else {
if (!_.isUndefined(_this.searchField) && !(_this.searchField === '')) {
users.url = api_url + 'users.json?page=' + _this.current_page + '&search=' + _this.searchField;
app.navigate('#/' + 'users?page=' + _this.current_page + '&search=' + _this.searchField, {
trigger: false,
trigger_function: false,
});
} else {
users.url = api_url + 'users.json?page=' + _this.current_page;
app.navigate('#/' + 'users?page=' + _this.current_page, {
trigger: false,
trigger_function: false,
});
}
}
if (!_.isUndefined(e)) {
if ($(e.currentTarget).data('direction') == 'desc') {
$(e.currentTarget).data('direction', 'asc');
Expand Down
12 changes: 10 additions & 2 deletions server/php/R/r.php
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,10 @@ function r_get($r_resource_cmd, $r_resource_vars, $r_resource_filters)
$filter_condition = "WHERE full_name LIKE '%" . $r_resource_filters['search'] . "%' ";
}
$sql = 'SELECT row_to_json(d) FROM (SELECT * FROM users_listing ul ' . $filter_condition . ' ORDER BY ' . $order_by . ' ' . $direction . ') as d ';
$c_sql = 'SELECT COUNT(*) FROM users_listing ul';
$c_sql = 'SELECT COUNT(*) FROM users_listing ul ';
if (!empty($r_resource_filters['search'])) {
$c_sql = 'SELECT COUNT(*) FROM users_listing ul ' . $filter_condition;
}
break;

case '/users/logout':
Expand Down Expand Up @@ -859,7 +862,7 @@ function r_get($r_resource_cmd, $r_resource_vars, $r_resource_filters)
break;

case '/settings':
$s_sql = pg_query_params($db_lnk, 'SELECT name, value FROM settings WHERE name = \'SITE_NAME\' OR name = \'SITE_TIMEZONE\' OR name = \'DROPBOX_APPKEY\' OR name = \'LABEL_ICON\' OR name = \'FLICKR_API_KEY\' or name = \'LDAP_LOGIN_ENABLED\' OR name = \'DEFAULT_LANGUAGE\' OR name = \'IMAP_EMAIL\' OR name = \'STANDARD_LOGIN_ENABLED\' OR name = \'BOSH_SERVICE_URL\' OR name = \'PREBIND_URL\' OR name = \'JABBER_HOST\' OR name = \'PAGING_COUNT\' OR name = \'DEFAULT_CARD_VIEW\' OR name = \'TODO\' OR name = \'DOING\' OR name = \'DONE\'', array());
$s_sql = pg_query_params($db_lnk, 'SELECT name, value FROM settings WHERE name = \'SITE_NAME\' OR name = \'SITE_TIMEZONE\' OR name = \'DROPBOX_APPKEY\' OR name = \'LABEL_ICON\' OR name = \'FLICKR_API_KEY\' or name = \'LDAP_LOGIN_ENABLED\' OR name = \'DEFAULT_LANGUAGE\' OR name = \'IMAP_EMAIL\' OR name = \'STANDARD_LOGIN_ENABLED\' OR name = \'BOSH_SERVICE_URL\' OR name = \'PREBIND_URL\' OR name = \'JABBER_HOST\' OR name = \'PAGING_COUNT\' OR name = \'DEFAULT_CARD_VIEW\' OR name = \'TODO\' OR name = \'DOING\' OR name = \'DONE\' OR name = \'TODO_COLOR\' OR name = \'DOING_COLOR\' OR name = \'DONE_COLOR\' OR name = \'TODO_ICON\' OR name = \'DOING_ICON\' OR name = \'DONE_ICON\'', array());
while ($row = pg_fetch_assoc($s_sql)) {
$response[$row['name']] = $row['value'];
}
Expand Down Expand Up @@ -1280,8 +1283,13 @@ function r_get($r_resource_cmd, $r_resource_vars, $r_resource_filters)
}
$week_start_day = date('Y-m-d', strtotime($monday));
$week_end_day = date('Y-m-d', strtotime($sunday));

$dashboard_response['week_start_day'] = date('d', strtotime($monday));
$dashboard_response['week_end_day'] = date('d', strtotime($sunday));

$dashboard_response['week_start_month'] = date('M', strtotime($monday));
$dashboard_response['week_end_month'] = date('M', strtotime($sunday));

foreach ($board_lists as $list) {
$my_lists[] = $list['id'];
foreach ($settings as $key => $setting) {
Expand Down
15 changes: 14 additions & 1 deletion sql/upgrade-0.2.1-0.3.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1067,4 +1067,17 @@ CREATE VIEW "cards_elasticsearch_listing" AS
ORDER BY activities.id) cl) AS activities
FROM ((cards cards
LEFT JOIN boards boards ON ((boards.id = cards.board_id)))
LEFT JOIN lists lists ON ((lists.id = cards.list_id)))) card;
LEFT JOIN lists lists ON ((lists.id = cards.list_id)))) card;

UPDATE "settings" SET "value" = 'Dockmodal Maximize View', "options" = 'Dockmodal Maximize View,DockModal Portable View' WHERE "name" = 'DEFAULT_CARD_VIEW';

SELECT pg_catalog.setval('settings_id_seq', (SELECT MAX(id) FROM settings), true);

INSERT INTO "settings" ("setting_category_id", "setting_category_parent_id", "name", "value", "description", "type", "options", "label", "order")
VALUES
((select id from setting_categories where name = 'Cards Workflow'), '0', 'TODO_COLOR', '', '', 'text', NULL, 'Todo Color', '1'),
((select id from setting_categories where name = 'Cards Workflow'), '0', 'DOING_COLOR', '', '', 'text', NULL, 'Doing Color', '2'),
((select id from setting_categories where name = 'Cards Workflow'), '0', 'DONE_COLOR', '', '', 'text', NULL, 'Done Color', '3'),
((select id from setting_categories where name = 'Cards Workflow'), '0', 'TODO_ICON', '', '', 'text', NULL, 'Todo Icon', '4'),
((select id from setting_categories where name = 'Cards Workflow'), '0', 'DOING_ICON', '', '', 'text', NULL, 'Doing Icon', '5'),
((select id from setting_categories where name = 'Cards Workflow'), '0', 'DONE_ICON', '', '', 'text', NULL, 'Done Icon', '6');

0 comments on commit 2282955

Please sign in to comment.