Bước tới nội dung

Bản mẫu:Status/doc

Bách khoa toàn thư mở Wikipedia

Bản mẫu này tạo biểu tượng ô vuông thể hiện trạng thái cuộc biểu quyết (có màu sắc đặc trưng và tiêu đề chứa nội dung trạng thái khi rê chuột vào), thường nằm ở góc phải của tên đề mục, trong các khu vực có hoạt động biểu quyết của cộng đồng.

Sử dụng

[sửa mã nguồn]

Tổng quan mã bản mẫu Status:

{{status
| id = mã số trang hoặc tên trang (thường được thêm tự động)
| start = thời điểm bắt đầu biểu quyết theo kiểu Unix hoặc kiểu ISO 8601 (thêm tự động hoặc thêm tay)
| max = thời hạn tối đa dưới dạng số ngày (thêm tự động hoặc thêm tay)
| extend = y hoặc n (có muốn gia hạn biểu quyết không, thêm tay)
}}
  • Chuỗi thời gian Unix ví dụ: 1608576972
  • Chuỗi thời gian ISO 8601 ví dụ: 2020-12-21T18:56:12+00:00
  • Chuyển đổi giữa các loại chuỗi thời gian: https://www.timestamp-converter.com/

Kiểu 1: Biểu quyết chỉ có thời điểm tối đa

[sửa mã nguồn]
  • Công thức chung:

{{status|start=<thời điểm bắt đầu>[|max=<thời hạn tối đa>]}}

  • Dùng cho thời hạn tối đa 30 ngày (mặc định). Thêm vào lúc tạo trang.

{{status|start={{subst:#time:U}}}} (Unix) hoặc {{status|start={{subst:#time:c}}}} (ISO 8601)

  • Dùng cho thời hạn tối đa khác 30 ngày (ví dụ 7 ngày). Thêm vào lúc tạo trang.

{{status|start={{subst:#time:U}}|max=7}} hoặc {{status|start={{subst:#time:c}}|max=7}}

  • Ví dụ thêm tay thời gian:

{{status|start=1608576972|max=7}} hoặc {{status|start=2020-12-21T18:56:12+00:00|max=7}}

  • Mã này sẽ được thêm vào tiêu đề nội dung biểu quyết, đề cử. Ví dụ:

=== [[Thú mỏ vịt]] {{status|start={{subst:#time:U}}}} ===

  • Thêm vào tiêu đề trang.

<indicator name="status">{{status|start={{subst:#time:U}}}}</indicator>

{{status|<thời điểm bắt đầu>[|<thời hạn tối đa>]}}

Kiểu 2: Biểu quyết có thời điểm tối thiểu và thời điểm tối đa

[sửa mã nguồn]
  • Công thức chung:

{{status|id=<mã số/tên trang>|start=<thời điểm bắt đầu>[|max=<thời hạn tối đa>]}}

Kiểu 3: Biểu quyết có thời điểm xét gia hạn, thời điểm tối đa và có thể có thời điểm được gia hạn

[sửa mã nguồn]
  • Công thức chung:

{{status|id=<mã số/tên trang>|start=<thời điểm bắt đầu>[|max=<thời hạn tối đa>[|extend=<y hoặc n>]]}}

  • Hiện tại, kiểu này chỉ được thêm tự động trong các khu vực sau (gọi là Khu vực nhóm 2):
  • Nếu thỏa điều kiện xét gia hạn và muốn gia hạn, thì thêm tay tham số extend=y vào bản mẫu.
  • Lưu ý: Bản mẫu hiện tại không kiểm tra được chính xác điều kiện xét gia hạn, người dùng cần kiểm tra lại thời điểm của phiếu chống có hợp lệ với quy định hay không. Thông tin của bản mẫu trong trường hợp này chỉ mang tính tham khảo.

Kiểu 4: Biểu quyết có thời điểm tối thiểu, thời điểm xét gia hạn, thời điểm tối đa và có thể có thời điểm được gia hạn

[sửa mã nguồn]
  • Công thức chung:

{{status|id=<mã số/tên trang>|start=<thời điểm bắt đầu>[|max=<thời hạn tối đa>[|extend=<y hoặc n>]]}}

  • Hiện tại, kiểu này chỉ được thêm tự động trong các khu vực sau (gọi là Khu vực nhóm 3):
  • Nếu thỏa điều kiện xét gia hạn và muốn gia hạn, thì thêm tay tham số extend=y vào bản mẫu.
  • Lưu ý: Bản mẫu hiện tại không kiểm tra được chính xác điều kiện xét gia hạn, người dùng cần kiểm tra lại thời điểm của phiếu chống có hợp lệ với quy định hay không. Thông tin của bản mẫu trong trường hợp này chỉ mang tính tham khảo.

Những trạng thái của một biểu quyết

[sửa mã nguồn]

Một biểu quyết có thể có ít nhất là 2 trạng thái, cao nhất là 6 trạng thái, được biểu thị bằng 3 màu và các kiểu sắp xếp màu khác nhau.

STT Tên trạng thái Hình thức trạng thái Mô tả hình thức trạng thái Ý nghĩa trạng thái
1 Trạng thái 1 Ô vuông, màu xanh lá. Biểu quyết còn hiệu lực
2 Trạng thái 2 Ô vuông, nửa trái màu xanh lá, nửa phải màu vàng. Biểu quyết còn hiệu lực và có thể xem xét gia hạn biểu quyết
3 Trạng thái 3 Ô vuông, nửa trên màu vàng, nửa dưới màu xanh lá. Biểu quyết còn hiệu lực và đã yêu cầu gia hạn biểu quyết
4 Trạng thái 4 Ô vuông, màu vàng. Biểu quyết còn hiệu lực và đang trong thời gian gia hạn
5 Trạng thái 5 Ô vuông, nửa trái màu xanh lá, nửa phải màu đỏ. Biểu quyết còn hiệu lực và có thể xem xét đóng biểu quyết hoặc Biểu quyết hết hiệu lực và có thể xem xét mở lại biểu quyết (trường hợp các biểu quyết có thời điểm tối thiểu)
6 Trạng thái 6 Ô vuông, màu đỏ. Biểu quyết hết hiệu lực

Những kiểu biểu quyết

[sửa mã nguồn]
Kiểu biểu quyết Định nghĩa Những loại biểu quyết thuộc kiểu Các trạng thái của cuộc biểu quyết Điều kiện xảy ra trạng thái Chú giải
Kiểu 1 Là những biểu quyết chỉ có thời điểm tối đa.

Trạng thái 1

[Trạng thái 1] Trước thời điểm tối đa.

Tiêu đề: Hạn là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn.

Thời điểm tối đa: 30 ngày (mặc định).

Trạng thái 6

[Trạng thái 6] Sau thời điểm tối đa.

Tiêu đề: Hạn là [thời điểm tối đa]. Đã hết hạn.

Logic thể hiện bằng mã giả (phong cách Lua):
IF (hiện tại <= tối đa) THEN
    [Trạng thái 1]
ELSE
    [Trạng thái 6]
END
  • hiện tại: Thời điểm hiện tại.
  • tối đa: Thời điểm tối đa.
Kiểu 2 Là những biểu quyết có thời điểm tối thiểu và thời điểm tối đa.

Trạng thái 1

[Trạng thái 1.1] Trước thời điểm tối thiểu.

Tiêu đề: Hạn tối thiểu là [thời điểm tối thiểu]. Còn [đếm ngược] ngày nữa đến hạn tối thiểu. Hạn tối đa là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn tối đa.

[Trạng thái 1.2] Sau thời điểm tối thiểu và trước thời điểm tối đa và không thỏa điều kiện kết luận thành công.

Tiêu đề: Đã hết hạn tối thiểu. Hạn tối đa là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn tối đa.

  • Thời điểm tối thiểu: 7 ngày (biểu quyết xóa bài) hoặc 14 ngày (biểu quyết giáng/rút sao).
  • Thời điểm tối đa: 30 ngày.
  • Điều kiện kết luận thành công:
  1. Tổng số phiếu >= 5 (biểu quyết xóa bài) hoặc 3 (biểu quyết giáng/rút sao).
  2. Số phiếu thuận (xóa bài/giáng sao/rút sao) > Số phiếu nghịch (giữ bài/giữ sao)

Trạng thái 5

[Trạng thái 5] Sau thời điểm tối thiểu và trước thời điểm tối đa và thỏa điều kiện kết luận thành công.

Tiêu đề: Đã hết hạn tối thiểu. Hạn tối đa là [thời điểm tối đa]. Còn [đếm ngược] ngày 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

[Trạng thái 6] Sau thời điểm tối đa.

Tiêu đề: Hạn tối đa là [thời điểm tối đa]. Đã hết hạn.

Logic thể hiện bằng mã giả (phong cách Lua):
IF (hiện tại <= tối thiểu) THEN
    [Trạng thái 1.1]
ELSEIF (tối thiểu < hiện tại <= tối đa) THEN
    IF (không thỏa ĐKKLTC) THEN
        [Trạng thái 1.2]
    ELSE
        [Trạng thái 5]
    END
ELSE
    [Trạng thái 6]
END
  • hiện tại: Thời điểm hiện tại.
  • tối thiểu: Thời điểm tối thiểu.
  • tối đa: Thời điểm tối đa.
  • ĐKKLTC: Điều kiện kết luận thành công.
Kiểu 3 Là những biểu quyết có thời điểm xét gia hạn, thời điểm tối đa và có thể có thời điểm được gia hạn.

Trạng thái 1

[Trạng thái 1.1] Trước thời điểm xét gia hạn.

Tiêu đề: Hạn là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn.

[Trạng thái 1.2] Sau thời điểm xét gia hạn và trước thời điểm tối đa và không thỏa điều kiện xét gia hạn.

Tiêu đề: Hạn là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn. Không thỏa điều kiện xét gia hạn.

  • Thời điểm xét gia hạn: 27 ngày.
  • Thời điểm tối đa: 30 ngày.
  • Thời điểm được gia hạn: 37 ngày.
  • Điều kiện xét gia hạn:
  1. Số phiếu thuận >= 3
  2. Số phiếu nghịch >= 1

Trạng thái 2

[Trạng thái 2] Sau thời điểm xét gia hạn và trước thời điểm tối đa và thỏa điều kiện xét gia hạn và chưa yêu cầu gia hạn.

Tiêu đề: Hạn là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn. Có thể yêu cầu gia hạn (không đảm bảo).

Trạng thái 3

[Trạng thái 3] Sau thời điểm xét gia hạn và trước thời điểm tối đa và thỏa điều kiện xét gia hạn và đã yêu cầu gia hạn.

Tiêu đề: Hạn là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn. Đã yêu cầu gia hạn.

Trạng thái 4

[Trạng thái 4] Sau thời điểm tối đa và trước thời điểm được gia hạn và đã yêu cầu gia hạn.

Tiêu đề: Hạn được gia hạn là [thời điểm được gia hạn]. Còn [đếm ngược] ngày nữa đến hạn.

Trạng thái 6

[Trạng thái 6.1] Sau thời điểm tối đa và không yêu cầu gia hạn.

Tiêu đề: Hạn là [thời điểm tối đa]. Đã hết hạn.

[Trạng thái 6.2] Sau thời điểm được gia hạn và đã yêu cầu gia hạn.

Tiêu đề: Hạn được gia hạn là [thời điểm được gia hạn]. Đã hết hạn.

Logic thể hiện bằng mã giả (phong cách Lua):
IF (hiện tại <= xét gia hạn) THEN
    [Trạng thái 1.1]
ELSEIF (xét gia hạn < hiện tại <= tối đa) THEN
    IF (không thỏa ĐKXGH) THEN
        [Trạng thái 1.2]
    ELSEIF (chưa YCGH) THEN
        [Trạng thái 2]
    ELSE
        [Trạng thái 3]
    END
ELSEIF (hiện tại <= tối đa  gia hạn AND  YCGH) THEN
    [Trạng thái 4]
ELSEIF (hiện tại > tối đa  gia hạn AND  YCGH) THEN
    [Trạng thái 6.2]
ELSE
    [Trạng thái 6.1]
END
  • hiện tại: Thời điểm hiện tại.
  • xét gia hạn: Thời điểm xét gia hạn.
  • tối đa: Thời điểm tối đa.
  • tối đa có gia hạn: Thời điểm được gia hạn.
  • ĐKXGH: Điều kiện xét gia hạn.
  • YCGH: Yêu cầu gia hạn.
Kiểu 4 Là những biểu quyết có thời điểm tối thiểu, thời điểm xét gia hạn, thời điểm tối đa và có thể có thời điểm được gia hạn.

Trạng thái 1

[Trạng thái 1.1] Trước thời điểm tối thiểu.

Tiêu đề: Hạn tối thiểu là [thời điểm tối thiểu]. Còn [đếm ngược] ngày nữa đến hạn tối thiểu. Hạn tối đa là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn tối đa.

[Trạng thái 1.2] Sau thời điểm tối thiểu và trước thời điểm xét gia hạn và không thỏa điều kiện kết luận thành công.

Tiêu đề: Đã hết hạn tối thiểu. Hạn tối đa là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn tối đa.

[Trạng thái 1.3] Sau thời điểm xét gia hạn và trước thời điểm tối đa và không thỏa điều kiện kết luận thành công và không thỏa điều kiện xét gia hạn.

Tiêu đề: Đã hết hạn tối thiểu. Hạn tối đa là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn tối đa. Không thỏa điều kiện xét gia hạn.

  • Thời điểm tối thiểu: 14 ngày.
  • Thời điểm xét gia hạn: 27 ngày.
  • Thời điểm tối đa: 30 ngày.
  • Thời điểm được gia hạn: 37 ngày.
  • Điều kiện kết luận thành công:
  1. Số phiếu thuận >= 3
  2. Số phiếu nghịch = 0
  • Điều kiện xét gia hạn:
  1. Số phiếu thuận >= 3
  2. Số phiếu nghịch >= 1

Trạng thái 5

[Trạng thái 5.1] Sau thời điểm tối thiểu và trước thời điểm xét gia hạn và thỏa điều kiện kết luận thành công.

Tiêu đề: Đã hết hạn tối thiểu. Hạn tối đa là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn tối đa. Có thể đóng biểu quyết (nếu chưa đóng).

[Trạng thái 5.2] Sau thời điểm xét gia hạn và trước thời điểm tối đa và thỏa điều kiện kết luận thành công và không thỏa điều kiện xét gia hạn.

Tiêu đề: Đã hết hạn tối thiểu. Hạn tối đa là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn tối đa. Có thể đóng biểu quyết (nếu chưa đóng).

Trạng thái 2

[Trạng thái 2] Sau thời điểm xét gia hạn và trước thời điểm tối đa và thỏa điều kiện xét gia hạn và chưa yêu cầu gia hạn.

Tiêu đề: Đã hết hạn tối thiểu. Hạn tối đa là [thời điểm tối đa]. Còn [đếm ngược] ngày 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

[Trạng thái 3] Sau thời điểm xét gia hạn và trước thời điểm tối đa và thỏa điều kiện xét gia hạn và đã yêu cầu gia hạn.

Tiêu đề: Đã hết hạn tối thiểu. Hạn tối đa là [thời điểm tối đa]. Còn [đếm ngược] ngày nữa đến hạn tối đa. Đã yêu cầu gia hạn.

Trạng thái 4

[Trạng thái 4] Sau thời điểm tối đa và trước thời điểm được gia hạn và đã yêu cầu gia hạn.

Tiêu đề: Hạn được gia hạn là [thời điểm được gia hạn]. Còn [đếm ngược] ngày nữa đến hạn.

Trạng thái 6

[Trạng thái 6.1] Sau thời điểm tối đa và không yêu cầu gia hạn.

Tiêu đề: Hạn tối đa là [thời điểm tối đa]. Đã hết hạn.

[Trạng thái 6.2] Sau thời điểm được gia hạn và đã yêu cầu gia hạn.

Tiêu đề: Hạn được gia hạn là [thời điểm được gia hạn]. Đã hết hạn.

Logic thể hiện bằng mã giả (phong cách Lua):
IF (hiện tại <= tối thiểu) THEN
    [Trạng thái 1.1]
ELSEIF (tối thiểu < hiện tại <= xét gia hạn) THEN
    IF (không thỏa ĐKKLTC) THEN
        [Trạng thái 1.2]
    ELSE
        [Trạng thái 5.1]
    END
ELSEIF (xét gia hạn < hiện tại <= tối đa) THEN
    IF (không thỏa ĐKXGH AND không thỏa ĐKKLTC) THEN
        [Trạng thái 1.3]
    ELSEIF (không thỏa ĐKXGH) THEN
        [Trạng thái 5.2]
    ELSEIF (chưa YCGH) THEN
        [Trạng thái 2]
    ELSE
        [Trạng thái 3]
    END
ELSEIF (hiện tại <= tối đa  gia hạn AND  YCGH) THEN
    [Trạng thái 4] 
ELSEIF (hiện tại > tối đa  gia hạn AND  YCGH) THEN
    [Trạng thái 6.2]
ELSE
    [Trạng thái 6.1]
END
  • hiện tại: Thời điểm hiện tại.
  • tối thiểu: Thời điểm tối thiểu.
  • xét gia hạn: Thời điểm xét gia hạn.
  • tối đa: Thời điểm tối đa.
  • tối đa có gia hạn: Thời điểm được gia hạn.
  • ĐKKLTC: Điều kiện kết luận thành công.
  • ĐKXGH: Điều kiện xét gia hạn.
  • YCGH: Yêu cầu gia hạn.
  • Tập hợp các khả năng xảy ra đồng thời của 2 điều kiện: (ĐKKLTC, ĐKXGH) = {(false, false), (false, true), (true, false)}.

Dưới đây là danh sách một số lỗi phổ biến mà mô đun của bản mẫu này có thể tạo ra và cách khắc phục chúng.

Ngày tháng không hợp lệ

[sửa mã nguồn]

Không có tham số start hay start rỗng

[sửa mã nguồn]

Thông tin kỹ thuật

[sửa mã nguồn]

Mô đun Module:Status của bản mẫu sử dụng cấu hình từ Module:Status/config và bản mẫu trung gian Bản mẫu:Status/core.

Các bài kiểm tra của mô đun Module:Status được lưu tại Module:Status/testcases.

Báo cáo lỗi và yêu cầu tính năng nên được thực hiện tại Thảo luận Bản mẫu:Status.