Mô đun:Status/config

--------------------------------------------------------------------------------
-- Configs for Status module
--------------------------------------------------------------------------------
local configs = {}

configs.DEFAULT_MIN = 14
configs.DEFAULT_MAX = 30
configs.DEFAULT_CONSIDER_EXTENSION = 27
configs.DEFAULT_EXTENDED = 37

configs.statuses = {
-- Trạng thái 1
VALID = {
class = 'status-green',
background = '0C0',
titles = {
'Hạn là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn.',
'Hạn tối thiểu là ${MINTIME}. Còn ${COUNTDOWNTOMINTIME} nữa đến hạn tối thiểu. Hạn tối đa là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn tối đa.',
'Đã hết hạn tối thiểu. Hạn tối đa là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn tối đa.',
'Hạn là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn. Không thỏa điều kiện xét gia hạn.',
},
},
-- Trạng thái 2
VALID_AND_MAY_CONSIDER_EXTENSION = {
class = 'status-half-green-half-yellow',
background = 'linear-gradient(90deg, 0C0 50%, ffd966 50%)',
titles = {
'Hạn là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn. Có thể yêu cầu gia hạn (không đảm bảo).',
'Đã hết hạn tối thiểu. Hạn tối đa là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn tối đa. Có thể yêu cầu gia hạn (không đảm bảo).',
},
},
-- Trạng thái 3
VALID_AND_HAS_BEEN_EXTENDED = {
class = 'status-half-yellow-half-green',
background = 'linear-gradient(180deg, ffd966 50%, 0C0 50%)',
titles = {
'Hạn là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn. Đã yêu cầu gia hạn.',
'Đã hết hạn tối thiểu. Hạn tối đa là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn tối đa. Đã yêu cầu gia hạn.',
},
},
-- Trạng thái 4
VALID_AND_IS_BEING_EXTENDED = {
class = 'status-yellow',
background = 'ffd966',
titles = {
'Hạn được gia hạn là ${EXTENDEDTIME}. Còn ${COUNTDOWNTOEXTENDEDTIME} nữa đến hạn.',
},
},
-- Trạng thái 5
VALID_AND_MAY_BE_CONSIDERED_CLOSED = {
class = 'status-half-green-half-red',
background = 'linear-gradient(90deg, 0C0 50%, C00 50%)',
titles = {
'Đã hết hạn tối thiểu. Hạn tối đa là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn tối đa. Có thể đóng biểu quyết (nếu chưa đóng).',
},
},
-- Trạng thái 6
INVALID = {
class = 'status-red',
background = 'C00',
titles = {
'Hạn là ${MAXTIME}. Đã hết hạn.',
'Hạn tối đa là ${MAXTIME}. Đã hết hạn.',
'Hạn được gia hạn là ${EXTENDEDTIME}. Đã hết hạn.',
},
},
}

local function DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC(positiveVotesNumber, negativeVotesNumber)
if positiveVotesNumber + negativeVotesNumber >= 3
and positiveVotesNumber > negativeVotesNumber then
return true
end
return false
end

local function DEFAULT_CHECK_VALID_EXTENSION_FUNC(positiveVotesNumber, negativeVotesNumber)
if positiveVotesNumber >= 3 and negativeVotesNumber >= 1 then
return true
end
return false
end

configs.rootTitles = {
['Biểu quyết xoá bài'] = {
group = 1,
max = configs.DEFAULT_MAX,
min = 7,
checkSuccessConclusionFunc = function(positiveVotesNumber, negativeVotesNumber)
local sum = positiveVotesNumber + negativeVotesNumber
if sum >= 5 and math.abs(positiveVotesNumber - negativeVotesNumber) / sum > 1/3 then
return true
end
return false
end,
},
['Đề nghị giáng sao bài viết chọn lọc'] = {
group = 1,
max = configs.DEFAULT_MAX,
min = configs.DEFAULT_MIN,
checkSuccessConclusionFunc = DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC,
},
['Đề nghị rút sao danh sách chọn lọc'] = {
group = 1,
max = configs.DEFAULT_MAX,
min = configs.DEFAULT_MIN,
checkSuccessConclusionFunc = DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC,
},
['Đề nghị rút sao chủ điểm chọn lọc'] = {
group = 1,
max = configs.DEFAULT_MAX,
min = configs.DEFAULT_MIN,
checkSuccessConclusionFunc = DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC,
},
['Đề nghị rút sao cổng thông tin chọn lọc'] = {
group = 1,
max = configs.DEFAULT_MAX,
min = configs.DEFAULT_MIN,
checkSuccessConclusionFunc = DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC,
},
['Đề nghị rút sao chủ điểm tốt'] = {
group = 1,
max = configs.DEFAULT_MAX,
min = configs.DEFAULT_MIN,
checkSuccessConclusionFunc = DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC,
},
['Ứng cử viên bài viết chọn lọc'] = {
group = 2,
max = configs.DEFAULT_MAX,
considerExtension = configs.DEFAULT_CONSIDER_EXTENSION,
extended = configs.DEFAULT_EXTENDED,
checkValidExtensionFunc = DEFAULT_CHECK_VALID_EXTENSION_FUNC,
},
['Ứng cử viên bài viết tốt'] = {
group = 2,
max = configs.DEFAULT_MAX,
considerExtension = configs.DEFAULT_CONSIDER_EXTENSION,
extended = configs.DEFAULT_EXTENDED,
checkValidExtensionFunc = DEFAULT_CHECK_VALID_EXTENSION_FUNC,
},
['Ứng cử viên danh sách chọn lọc'] = {
group = 3,
max = configs.DEFAULT_MAX,
min = configs.DEFAULT_MIN,
considerExtension = configs.DEFAULT_CONSIDER_EXTENSION,
extended = configs.DEFAULT_EXTENDED,
checkSuccessConclusionFunc = function(positiveVotesNumber, negativeVotesNumber)
if positiveVotesNumber >= 3 and negativeVotesNumber == 0 then
return true
end
return false
end,
checkValidExtensionFunc = DEFAULT_CHECK_VALID_EXTENSION_FUNC,
},
}

return configs