Просмотр исходного кода

fix: Update indicator colors in kanban column

version-14
Faris Ansari 3 лет назад
Родитель
Сommit
3f133069a5
4 измененных файлов: 77 добавлений и 155 удалений
  1. +47
    -147
      frappe/desk/doctype/kanban_board_column/kanban_board_column.json
  2. +1
    -0
      frappe/patches.txt
  3. +22
    -0
      frappe/patches/v14_0/update_color_names_in_kanban_board_column.py
  4. +7
    -8
      frappe/public/js/frappe/views/kanban/kanban_board.js

+ 47
- 147
frappe/desk/doctype/kanban_board_column/kanban_board_column.json Просмотреть файл

@@ -1,155 +1,55 @@
{
"allow_copy": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 0,
"creation": "2016-10-19 12:26:42.569185",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "",
"editable_grid": 1,
"engine": "InnoDB",
"actions": [],
"creation": "2016-10-19 12:26:42.569185",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"column_name",
"status",
"indicator",
"order"
],
"fields": [
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "column_name",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Column Name",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
"fieldname": "column_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Column Name"
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "Active",
"fieldname": "status",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Status",
"length": 0,
"no_copy": 0,
"options": "Active\nArchived",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
"default": "Active",
"fieldname": "status",
"fieldtype": "Select",
"in_list_view": 1,
"label": "Status",
"options": "Active\nArchived"
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "darkgrey",
"fieldname": "indicator",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Indicator",
"length": 0,
"no_copy": 0,
"options": "blue\norange\nred\ngreen\ndarkgrey\npurple\nyellow\nlightblue",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
"default": "Gray",
"fieldname": "indicator",
"fieldtype": "Select",
"in_list_view": 1,
"label": "Indicator",
"options": "Blue\nCyan\nGray\nGreen\nLight Blue\nOrange\nPink\nPurple\nRed\nRed\nYellow"
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "order",
"fieldtype": "Code",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Order",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
"fieldname": "order",
"fieldtype": "Code",
"label": "Order"
}
],
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,

"is_submittable": 0,
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2017-01-17 15:23:43.520379",
"modified_by": "Administrator",
"module": "Desk",
"name": "Kanban Board Column",
"name_case": "",
"owner": "Administrator",
"permissions": [],
"quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0
],
"istable": 1,
"links": [],
"modified": "2021-12-14 13:13:38.804259",
"modified_by": "Administrator",
"module": "Desk",
"name": "Kanban Board Column",
"owner": "Administrator",
"permissions": [],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"states": [],
"track_changes": 1
}

+ 1
- 0
frappe/patches.txt Просмотреть файл

@@ -187,3 +187,4 @@ frappe.patches.v14_0.copy_mail_data #08.03.21
frappe.patches.v14_0.update_workspace2 # 20.09.2021
frappe.patches.v14_0.update_github_endpoints #08-11-2021
frappe.patches.v14_0.remove_db_aggregation
frappe.patches.v14_0.update_color_names_in_kanban_board_column

+ 22
- 0
frappe/patches/v14_0/update_color_names_in_kanban_board_column.py Просмотреть файл

@@ -0,0 +1,22 @@
# Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
# MIT License. See license.txt

from __future__ import unicode_literals
import frappe

def execute():
frappe.reload_doc("desk", "doctype", "kanban_board_column")
indicator_map = {
'blue': 'Blue',
'orange': 'Orange',
'red': 'Red',
'green': 'Green',
'darkgrey': 'Gray',
'gray': 'Gray',
'purple': 'Purple',
'yellow': 'Yellow',
'lightblue': 'Light Blue',
}
for d in frappe.db.get_all('Kanban Board Column', fields=['name', 'indicator']):
color_name = indicator_map.get(d.indicator, 'Gray')
frappe.db.set_value('Kanban Board Column', d.name, 'indicator', color_name)

+ 7
- 8
frappe/public/js/frappe/views/kanban/kanban_board.js Просмотреть файл

@@ -467,7 +467,7 @@ frappe.provide("frappe.views");
'kanban_column', {
title: column.title,
doctype: store.getState().doctype,
indicator: column.indicator
indicator: frappe.scrub(column.indicator, '-')
})).appendTo(wrapper);
self.$kanban_cards = self.$kanban_column.find('.kanban-cards');
}
@@ -581,13 +581,12 @@ frappe.provide("frappe.views");
}
});
get_column_indicators(function(indicators) {
var html = '<li class="button-group">';
html += indicators.reduce(function(prev, curr) {
return prev + '<div \
data-action="indicator" data-indicator="'+curr+'"\
class="btn btn-default btn-xs indicator-pill ' + curr + '"></div>';
}, "");
html += '</li>';
let html = `<li class="button-group">${
indicators.map(indicator => {
let classname = frappe.scrub(indicator, '-');
return `<div data-action="indicator" data-indicator="${indicator}" class="btn btn-default btn-xs indicator-pill ${classname}"></div>`
}).join('')
}</li>`;
self.$kanban_column.find(".column-options .dropdown-menu")
.append(html);
});


Загрузка…
Отмена
Сохранить