“Český” kalendář v administraci
Javascriptového pomocníka pro zadávání datumů v administračních stránkách Djanga všichni dobře známe. Stručně:
- pokud se na stránce vyskytne datumové políčko, vykreslí se vedle něj ikona
- kliknutím na ikonku se objeví malé okno pro pohodlný výběr konkrétního dne z kalendáře
Pozornému čtenáři jistě neunikl drobný detail: dny v kalendáři začínají nedělí (ano, jde o prazvláštní zvyk našich přátel za velkou louží).
Co s tím? Hacknout!
Otevřete si soubor django/contrib/admin/media/js/calendar.js a proveďte jednoduchou úpravu ve funkci draw, poblíž řádku 60 (změny se týkají pouze tučně zvýrazněných řádků):
...
// Draw days-of-week header
var tableRow = quickElement('tr', tableBody);
for (var i = 1; i < 7; i++) {
quickElement('th', tableRow, CalendarNamespace.daysOfWeek[i]);
}
quickElement('th', tableRow, CalendarNamespace.daysOfWeek[0]);
var startingPos = new Date(year, month-1, 1).getDay() - 1;
if (startingPos < 0) startingPos = 6;
var days = CalendarNamespace.getDaysInMonth(month, year);
...
Po reloadnutí stránky by jste měli vidět kalendář respektující naše zvyklosti (pondělky v prvním sloupci):
Otázka na závěr: opravdu neexistuje pohodlnější způsob, jak kalendář přepnout do “české” podoby? Vyřešili jste tento problém jinak?

