mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[REF] fix precommit
This commit is contained in:
committed by
Darío Lodeiros
parent
587aac7f96
commit
66a985eb36
@@ -124,6 +124,7 @@ repos:
|
|||||||
- id: flake8
|
- id: flake8
|
||||||
name: flake8
|
name: flake8
|
||||||
additional_dependencies: ["flake8-bugbear==20.1.4"]
|
additional_dependencies: ["flake8-bugbear==20.1.4"]
|
||||||
|
exclude: get-pip.py
|
||||||
- repo: https://github.com/OCA/pylint-odoo
|
- repo: https://github.com/OCA/pylint-odoo
|
||||||
rev: 7.0.2
|
rev: 7.0.2
|
||||||
hooks:
|
hooks:
|
||||||
|
|||||||
11
get-pip.py
11
get-pip.py
@@ -28,18 +28,20 @@ if this_python < min_version:
|
|||||||
message_parts = [
|
message_parts = [
|
||||||
"This script does not work on Python {}.{}".format(*this_python),
|
"This script does not work on Python {}.{}".format(*this_python),
|
||||||
"The minimum supported Python version is {}.{}.".format(*min_version),
|
"The minimum supported Python version is {}.{}.".format(*min_version),
|
||||||
"Please use https://bootstrap.pypa.io/pip/{}.{}/get-pip.py instead.".format(*this_python),
|
"Please use https://bootstrap.pypa.io/pip/{}.{}/get-pip.py instead.".format(
|
||||||
|
*this_python
|
||||||
|
),
|
||||||
]
|
]
|
||||||
print("ERROR: " + " ".join(message_parts))
|
print("ERROR: " + " ".join(message_parts)) # pylint: disable=print-used
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import importlib
|
||||||
import os.path
|
import os.path
|
||||||
import pkgutil
|
import pkgutil
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import argparse
|
|
||||||
import importlib
|
|
||||||
from base64 import b85decode
|
from base64 import b85decode
|
||||||
|
|
||||||
|
|
||||||
@@ -113,6 +115,7 @@ def bootstrap(tmpdir):
|
|||||||
# Execute the included pip and use it to install the latest pip and
|
# Execute the included pip and use it to install the latest pip and
|
||||||
# setuptools from PyPI
|
# setuptools from PyPI
|
||||||
from pip._internal.cli.main import main as pip_entry_point
|
from pip._internal.cli.main import main as pip_entry_point
|
||||||
|
|
||||||
args = determine_pip_install_arguments()
|
args = determine_pip_install_arguments()
|
||||||
sys.exit(pip_entry_point(args))
|
sys.exit(pip_entry_point(args))
|
||||||
|
|
||||||
|
|||||||
@@ -381,7 +381,7 @@ class PortalPrecheckin(CustomerPortal):
|
|||||||
)
|
)
|
||||||
except (AccessError, MissingError):
|
except (AccessError, MissingError):
|
||||||
return request.redirect("/my")
|
return request.redirect("/my")
|
||||||
values.update({"no_breadcrumbs": True,"folio": folio_sudo})
|
values.update({"no_breadcrumbs": True, "folio": folio_sudo})
|
||||||
return request.render("pms.portal_my_prechekin_folio", values)
|
return request.render("pms.portal_my_prechekin_folio", values)
|
||||||
|
|
||||||
@http.route(
|
@http.route(
|
||||||
@@ -391,24 +391,36 @@ class PortalPrecheckin(CustomerPortal):
|
|||||||
website=True,
|
website=True,
|
||||||
csrf=False,
|
csrf=False,
|
||||||
)
|
)
|
||||||
def portal_precheckin_reservation(self, folio_id, reservation_id, access_token=None, **kw):
|
def portal_precheckin_reservation(
|
||||||
|
self, folio_id, reservation_id, access_token=None, **kw
|
||||||
|
):
|
||||||
folio = request.env["pms.folio"].sudo().browse(folio_id)
|
folio = request.env["pms.folio"].sudo().browse(folio_id)
|
||||||
reservation = request.env["pms.reservation"].sudo().browse(reservation_id)
|
reservation = request.env["pms.reservation"].sudo().browse(reservation_id)
|
||||||
values = {}
|
values = {}
|
||||||
values.update({"folio": folio})
|
values.update({"folio": folio})
|
||||||
values.update({"no_breadcrumbs": True,"folio_access_token": access_token, "reservation": reservation})
|
values.update(
|
||||||
|
{
|
||||||
|
"no_breadcrumbs": True,
|
||||||
|
"folio_access_token": access_token,
|
||||||
|
"reservation": reservation,
|
||||||
|
}
|
||||||
|
)
|
||||||
return request.render("pms.portal_my_prechekin_reservation", values)
|
return request.render("pms.portal_my_prechekin_reservation", values)
|
||||||
|
|
||||||
@http.route(
|
@http.route(
|
||||||
[
|
[
|
||||||
"/my/folios/<int:folio_id>/reservations/<int:reservation_id>/checkins/<int:checkin_partner_id>"
|
"/my/folios/<int:folio_id>"
|
||||||
|
"/reservations/<int:reservation_id>"
|
||||||
|
"/checkins/<int:checkin_partner_id>"
|
||||||
],
|
],
|
||||||
type="http",
|
type="http",
|
||||||
auth="public",
|
auth="public",
|
||||||
website=True,
|
website=True,
|
||||||
csrf=False,
|
csrf=False,
|
||||||
)
|
)
|
||||||
def portal_precheckin(self, folio_id, reservation_id, checkin_partner_id, access_token=None, **kw):
|
def portal_precheckin(
|
||||||
|
self, folio_id, reservation_id, checkin_partner_id, access_token=None, **kw
|
||||||
|
):
|
||||||
folio = request.env["pms.folio"].sudo().browse(folio_id)
|
folio = request.env["pms.folio"].sudo().browse(folio_id)
|
||||||
reservation = request.env["pms.reservation"].sudo().browse(reservation_id)
|
reservation = request.env["pms.reservation"].sudo().browse(reservation_id)
|
||||||
try:
|
try:
|
||||||
@@ -452,7 +464,9 @@ class PortalPrecheckin(CustomerPortal):
|
|||||||
|
|
||||||
@http.route(
|
@http.route(
|
||||||
[
|
[
|
||||||
"/my/folios/<int:folio_id>/reservations/<int:reservation_id>/checkins/<int:checkin_partner_id>/submit"
|
"/my/folios/<int:folio_id>"
|
||||||
|
"/reservations/<int:reservation_id>"
|
||||||
|
"/checkins/<int:checkin_partner_id>/submit"
|
||||||
],
|
],
|
||||||
type="http",
|
type="http",
|
||||||
auth="public",
|
auth="public",
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -20,7 +20,7 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
.datepicker-dropdown:before {
|
.datepicker-dropdown:before {
|
||||||
content: '';
|
content: "";
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
border-left: 7px solid transparent;
|
border-left: 7px solid transparent;
|
||||||
border-right: 7px solid transparent;
|
border-right: 7px solid transparent;
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
left: 6px;
|
left: 6px;
|
||||||
}
|
}
|
||||||
.datepicker-dropdown:after {
|
.datepicker-dropdown:after {
|
||||||
content: '';
|
content: "";
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
border-left: 6px solid transparent;
|
border-left: 6px solid transparent;
|
||||||
border-right: 6px solid transparent;
|
border-right: 6px solid transparent;
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Bulgarian translation for bootstrap-datepicker
|
* Bulgarian translation for bootstrap-datepicker
|
||||||
* Apostol Apostolov <apostol.s.apostolov@gmail.com>
|
* Apostol Apostolov <apostol.s.apostolov@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['bg'] = {
|
$.fn.datepicker.dates.bg = {
|
||||||
days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"],
|
days: [
|
||||||
|
"Неделя",
|
||||||
|
"Понеделник",
|
||||||
|
"Вторник",
|
||||||
|
"Сряда",
|
||||||
|
"Четвъртък",
|
||||||
|
"Петък",
|
||||||
|
"Събота",
|
||||||
|
"Неделя",
|
||||||
|
],
|
||||||
daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"],
|
daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"],
|
||||||
daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"],
|
daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"],
|
||||||
months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"],
|
months: [
|
||||||
monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"],
|
"Януари",
|
||||||
today: "днес"
|
"Февруари",
|
||||||
|
"Март",
|
||||||
|
"Април",
|
||||||
|
"Май",
|
||||||
|
"Юни",
|
||||||
|
"Юли",
|
||||||
|
"Август",
|
||||||
|
"Септември",
|
||||||
|
"Октомври",
|
||||||
|
"Ноември",
|
||||||
|
"Декември",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Ян",
|
||||||
|
"Фев",
|
||||||
|
"Мар",
|
||||||
|
"Апр",
|
||||||
|
"Май",
|
||||||
|
"Юни",
|
||||||
|
"Юли",
|
||||||
|
"Авг",
|
||||||
|
"Сеп",
|
||||||
|
"Окт",
|
||||||
|
"Ное",
|
||||||
|
"Дек",
|
||||||
|
],
|
||||||
|
today: "днес",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Catalan translation for bootstrap-datepicker
|
* Catalan translation for bootstrap-datepicker
|
||||||
* J. Garcia <jogaco.en@gmail.com>
|
* J. Garcia <jogaco.en@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['ca'] = {
|
$.fn.datepicker.dates.ca = {
|
||||||
days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"],
|
days: [
|
||||||
|
"Diumenge",
|
||||||
|
"Dilluns",
|
||||||
|
"Dimarts",
|
||||||
|
"Dimecres",
|
||||||
|
"Dijous",
|
||||||
|
"Divendres",
|
||||||
|
"Dissabte",
|
||||||
|
"Diumenge",
|
||||||
|
],
|
||||||
daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"],
|
daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"],
|
||||||
daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"],
|
daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"],
|
||||||
months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"],
|
months: [
|
||||||
monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"],
|
"Gener",
|
||||||
today: "Avui"
|
"Febrer",
|
||||||
|
"Març",
|
||||||
|
"Abril",
|
||||||
|
"Maig",
|
||||||
|
"Juny",
|
||||||
|
"Juliol",
|
||||||
|
"Agost",
|
||||||
|
"Setembre",
|
||||||
|
"Octubre",
|
||||||
|
"Novembre",
|
||||||
|
"Desembre",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Gen",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Abr",
|
||||||
|
"Mai",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Ago",
|
||||||
|
"Set",
|
||||||
|
"Oct",
|
||||||
|
"Nov",
|
||||||
|
"Des",
|
||||||
|
],
|
||||||
|
today: "Avui",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -3,13 +3,48 @@
|
|||||||
* Matěj Koubík <matej@koubik.name>
|
* Matěj Koubík <matej@koubik.name>
|
||||||
* Fixes by Michal Remiš <michal.remis@gmail.com>
|
* Fixes by Michal Remiš <michal.remis@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['cs'] = {
|
$.fn.datepicker.dates.cs = {
|
||||||
days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"],
|
days: [
|
||||||
|
"Neděle",
|
||||||
|
"Pondělí",
|
||||||
|
"Úterý",
|
||||||
|
"Středa",
|
||||||
|
"Čtvrtek",
|
||||||
|
"Pátek",
|
||||||
|
"Sobota",
|
||||||
|
"Neděle",
|
||||||
|
],
|
||||||
daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"],
|
daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"],
|
||||||
daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"],
|
daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"],
|
||||||
months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"],
|
months: [
|
||||||
monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"],
|
"Leden",
|
||||||
today: "Dnes"
|
"Únor",
|
||||||
|
"Březen",
|
||||||
|
"Duben",
|
||||||
|
"Květen",
|
||||||
|
"Červen",
|
||||||
|
"Červenec",
|
||||||
|
"Srpen",
|
||||||
|
"Září",
|
||||||
|
"Říjen",
|
||||||
|
"Listopad",
|
||||||
|
"Prosinec",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Led",
|
||||||
|
"Úno",
|
||||||
|
"Bře",
|
||||||
|
"Dub",
|
||||||
|
"Kvě",
|
||||||
|
"Čer",
|
||||||
|
"Čnc",
|
||||||
|
"Srp",
|
||||||
|
"Zář",
|
||||||
|
"Říj",
|
||||||
|
"Lis",
|
||||||
|
"Pro",
|
||||||
|
],
|
||||||
|
today: "Dnes",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Danish translation for bootstrap-datepicker
|
* Danish translation for bootstrap-datepicker
|
||||||
* Christian Pedersen <http://github.com/chripede>
|
* Christian Pedersen <http://github.com/chripede>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['da'] = {
|
$.fn.datepicker.dates.da = {
|
||||||
days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"],
|
days: [
|
||||||
|
"Søndag",
|
||||||
|
"Mandag",
|
||||||
|
"Tirsdag",
|
||||||
|
"Onsdag",
|
||||||
|
"Torsdag",
|
||||||
|
"Fredag",
|
||||||
|
"Lørdag",
|
||||||
|
"Søndag",
|
||||||
|
],
|
||||||
daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"],
|
daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"],
|
||||||
daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"],
|
daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"],
|
||||||
months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
|
"Januar",
|
||||||
today: "I Dag"
|
"Februar",
|
||||||
|
"Marts",
|
||||||
|
"April",
|
||||||
|
"Maj",
|
||||||
|
"Juni",
|
||||||
|
"Juli",
|
||||||
|
"August",
|
||||||
|
"September",
|
||||||
|
"Oktober",
|
||||||
|
"November",
|
||||||
|
"December",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Maj",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Aug",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Dec",
|
||||||
|
],
|
||||||
|
today: "I Dag",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,14 +2,49 @@
|
|||||||
* German translation for bootstrap-datepicker
|
* German translation for bootstrap-datepicker
|
||||||
* Sam Zurcher <sam@orelias.ch>
|
* Sam Zurcher <sam@orelias.ch>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['de'] = {
|
$.fn.datepicker.dates.de = {
|
||||||
days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"],
|
days: [
|
||||||
|
"Sonntag",
|
||||||
|
"Montag",
|
||||||
|
"Dienstag",
|
||||||
|
"Mittwoch",
|
||||||
|
"Donnerstag",
|
||||||
|
"Freitag",
|
||||||
|
"Samstag",
|
||||||
|
"Sonntag",
|
||||||
|
],
|
||||||
daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"],
|
daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"],
|
||||||
daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"],
|
daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"],
|
||||||
months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"],
|
"Januar",
|
||||||
|
"Februar",
|
||||||
|
"März",
|
||||||
|
"April",
|
||||||
|
"Mai",
|
||||||
|
"Juni",
|
||||||
|
"Juli",
|
||||||
|
"August",
|
||||||
|
"September",
|
||||||
|
"Oktober",
|
||||||
|
"November",
|
||||||
|
"Dezember",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mär",
|
||||||
|
"Apr",
|
||||||
|
"Mai",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Aug",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Dez",
|
||||||
|
],
|
||||||
today: "Heute",
|
today: "Heute",
|
||||||
weekStart: 1
|
weekStart: 1,
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -1,13 +1,48 @@
|
|||||||
/**
|
/**
|
||||||
* Greek translation for bootstrap-datepicker
|
* Greek translation for bootstrap-datepicker
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['el'] = {
|
$.fn.datepicker.dates.el = {
|
||||||
days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"],
|
days: [
|
||||||
|
"Κυριακή",
|
||||||
|
"Δευτέρα",
|
||||||
|
"Τρίτη",
|
||||||
|
"Τετάρτη",
|
||||||
|
"Πέμπτη",
|
||||||
|
"Παρασκευή",
|
||||||
|
"Σάββατο",
|
||||||
|
"Κυριακή",
|
||||||
|
],
|
||||||
daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"],
|
daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"],
|
||||||
daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"],
|
daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"],
|
||||||
months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"],
|
months: [
|
||||||
monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"],
|
"Ιανουάριος",
|
||||||
today: "Σήμερα"
|
"Φεβρουάριος",
|
||||||
|
"Μάρτιος",
|
||||||
|
"Απρίλιος",
|
||||||
|
"Μάιος",
|
||||||
|
"Ιούνιος",
|
||||||
|
"Ιούλιος",
|
||||||
|
"Αύγουστος",
|
||||||
|
"Σεπτέμβριος",
|
||||||
|
"Οκτώβριος",
|
||||||
|
"Νοέμβριος",
|
||||||
|
"Δεκέμβριος",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Ιαν",
|
||||||
|
"Φεβ",
|
||||||
|
"Μαρ",
|
||||||
|
"Απρ",
|
||||||
|
"Μάι",
|
||||||
|
"Ιουν",
|
||||||
|
"Ιουλ",
|
||||||
|
"Αυγ",
|
||||||
|
"Σεπ",
|
||||||
|
"Οκτ",
|
||||||
|
"Νοε",
|
||||||
|
"Δεκ",
|
||||||
|
],
|
||||||
|
today: "Σήμερα",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Spanish translation for bootstrap-datepicker
|
* Spanish translation for bootstrap-datepicker
|
||||||
* Bruno Bonamin <bruno.bonamin@gmail.com>
|
* Bruno Bonamin <bruno.bonamin@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['es'] = {
|
$.fn.datepicker.dates.es = {
|
||||||
days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"],
|
days: [
|
||||||
|
"Domingo",
|
||||||
|
"Lunes",
|
||||||
|
"Martes",
|
||||||
|
"Miércoles",
|
||||||
|
"Jueves",
|
||||||
|
"Viernes",
|
||||||
|
"Sábado",
|
||||||
|
"Domingo",
|
||||||
|
],
|
||||||
daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"],
|
daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"],
|
||||||
daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"],
|
daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"],
|
||||||
months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
|
months: [
|
||||||
monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
|
"Enero",
|
||||||
today: "Hoy"
|
"Febrero",
|
||||||
|
"Marzo",
|
||||||
|
"Abril",
|
||||||
|
"Mayo",
|
||||||
|
"Junio",
|
||||||
|
"Julio",
|
||||||
|
"Agosto",
|
||||||
|
"Septiembre",
|
||||||
|
"Octubre",
|
||||||
|
"Noviembre",
|
||||||
|
"Diciembre",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Ene",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Abr",
|
||||||
|
"May",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Ago",
|
||||||
|
"Sep",
|
||||||
|
"Oct",
|
||||||
|
"Nov",
|
||||||
|
"Dic",
|
||||||
|
],
|
||||||
|
today: "Hoy",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Finnish translation for bootstrap-datepicker
|
* Finnish translation for bootstrap-datepicker
|
||||||
* Jaakko Salonen <https://github.com/jsalonen>
|
* Jaakko Salonen <https://github.com/jsalonen>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['fi'] = {
|
$.fn.datepicker.dates.fi = {
|
||||||
days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"],
|
days: [
|
||||||
|
"sunnuntai",
|
||||||
|
"maanantai",
|
||||||
|
"tiistai",
|
||||||
|
"keskiviikko",
|
||||||
|
"torstai",
|
||||||
|
"perjantai",
|
||||||
|
"lauantai",
|
||||||
|
"sunnuntai",
|
||||||
|
],
|
||||||
daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"],
|
daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"],
|
||||||
daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"],
|
daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"],
|
||||||
months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"],
|
months: [
|
||||||
monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"],
|
"tammikuu",
|
||||||
today: "tänään"
|
"helmikuu",
|
||||||
|
"maaliskuu",
|
||||||
|
"huhtikuu",
|
||||||
|
"toukokuu",
|
||||||
|
"kesäkuu",
|
||||||
|
"heinäkuu",
|
||||||
|
"elokuu",
|
||||||
|
"syyskuu",
|
||||||
|
"lokakuu",
|
||||||
|
"marraskuu",
|
||||||
|
"joulukuu",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"tam",
|
||||||
|
"hel",
|
||||||
|
"maa",
|
||||||
|
"huh",
|
||||||
|
"tou",
|
||||||
|
"kes",
|
||||||
|
"hei",
|
||||||
|
"elo",
|
||||||
|
"syy",
|
||||||
|
"lok",
|
||||||
|
"mar",
|
||||||
|
"jou",
|
||||||
|
],
|
||||||
|
today: "tänään",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,14 +2,49 @@
|
|||||||
* French translation for bootstrap-datepicker
|
* French translation for bootstrap-datepicker
|
||||||
* Nico Mollet <nico.mollet@gmail.com>
|
* Nico Mollet <nico.mollet@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['fr'] = {
|
$.fn.datepicker.dates.fr = {
|
||||||
days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"],
|
days: [
|
||||||
|
"Dimanche",
|
||||||
|
"Lundi",
|
||||||
|
"Mardi",
|
||||||
|
"Mercredi",
|
||||||
|
"Jeudi",
|
||||||
|
"Vendredi",
|
||||||
|
"Samedi",
|
||||||
|
"Dimanche",
|
||||||
|
],
|
||||||
daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"],
|
daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"],
|
||||||
daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"],
|
daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"],
|
||||||
months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
|
months: [
|
||||||
monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"],
|
"Janvier",
|
||||||
|
"Février",
|
||||||
|
"Mars",
|
||||||
|
"Avril",
|
||||||
|
"Mai",
|
||||||
|
"Juin",
|
||||||
|
"Juillet",
|
||||||
|
"Août",
|
||||||
|
"Septembre",
|
||||||
|
"Octobre",
|
||||||
|
"Novembre",
|
||||||
|
"Décembre",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Fev",
|
||||||
|
"Mar",
|
||||||
|
"Avr",
|
||||||
|
"Mai",
|
||||||
|
"Jui",
|
||||||
|
"Jul",
|
||||||
|
"Aou",
|
||||||
|
"Sep",
|
||||||
|
"Oct",
|
||||||
|
"Nov",
|
||||||
|
"Dec",
|
||||||
|
],
|
||||||
today: "Aujourd'hui",
|
today: "Aujourd'hui",
|
||||||
weekStart: 1
|
weekStart: 1,
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,14 +2,40 @@
|
|||||||
* Hebrew translation for bootstrap-datepicker
|
* Hebrew translation for bootstrap-datepicker
|
||||||
* Sagie Maoz <sagie@maoz.info>
|
* Sagie Maoz <sagie@maoz.info>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['he'] = {
|
$.fn.datepicker.dates.he = {
|
||||||
days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"],
|
days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"],
|
||||||
daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"],
|
daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"],
|
||||||
daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"],
|
daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"],
|
||||||
months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"],
|
months: [
|
||||||
monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"],
|
"ינואר",
|
||||||
|
"פברואר",
|
||||||
|
"מרץ",
|
||||||
|
"אפריל",
|
||||||
|
"מאי",
|
||||||
|
"יוני",
|
||||||
|
"יולי",
|
||||||
|
"אוגוסט",
|
||||||
|
"ספטמבר",
|
||||||
|
"אוקטובר",
|
||||||
|
"נובמבר",
|
||||||
|
"דצמבר",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"ינו",
|
||||||
|
"פבר",
|
||||||
|
"מרץ",
|
||||||
|
"אפר",
|
||||||
|
"מאי",
|
||||||
|
"יונ",
|
||||||
|
"יול",
|
||||||
|
"אוג",
|
||||||
|
"ספט",
|
||||||
|
"אוק",
|
||||||
|
"נוב",
|
||||||
|
"דצמ",
|
||||||
|
],
|
||||||
today: "היום",
|
today: "היום",
|
||||||
rtl: true
|
rtl: true,
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -1,13 +1,48 @@
|
|||||||
/**
|
/**
|
||||||
* Croatian localisation
|
* Croatian localisation
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['hr'] = {
|
$.fn.datepicker.dates.hr = {
|
||||||
days: ["Nedjelja", "Ponedjelja", "Utorak", "Srijeda", "Četrtak", "Petak", "Subota", "Nedjelja"],
|
days: [
|
||||||
|
"Nedjelja",
|
||||||
|
"Ponedjelja",
|
||||||
|
"Utorak",
|
||||||
|
"Srijeda",
|
||||||
|
"Četrtak",
|
||||||
|
"Petak",
|
||||||
|
"Subota",
|
||||||
|
"Nedjelja",
|
||||||
|
],
|
||||||
daysShort: ["Ned", "Pon", "Uto", "Srr", "Čet", "Pet", "Sub", "Ned"],
|
daysShort: ["Ned", "Pon", "Uto", "Srr", "Čet", "Pet", "Sub", "Ned"],
|
||||||
daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"],
|
daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"],
|
||||||
months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"],
|
months: [
|
||||||
monthsShort: ["Sije", "Velj", "Ožu", "Tra", "Svi", "Lip", "Jul", "Kol", "Ruj", "Lis", "Stu", "Pro"],
|
"Siječanj",
|
||||||
today: "Danas"
|
"Veljača",
|
||||||
|
"Ožujak",
|
||||||
|
"Travanj",
|
||||||
|
"Svibanj",
|
||||||
|
"Lipanj",
|
||||||
|
"Srpanj",
|
||||||
|
"Kolovoz",
|
||||||
|
"Rujan",
|
||||||
|
"Listopad",
|
||||||
|
"Studeni",
|
||||||
|
"Prosinac",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Sije",
|
||||||
|
"Velj",
|
||||||
|
"Ožu",
|
||||||
|
"Tra",
|
||||||
|
"Svi",
|
||||||
|
"Lip",
|
||||||
|
"Jul",
|
||||||
|
"Kol",
|
||||||
|
"Ruj",
|
||||||
|
"Lis",
|
||||||
|
"Stu",
|
||||||
|
"Pro",
|
||||||
|
],
|
||||||
|
today: "Danas",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,12 +2,47 @@
|
|||||||
* Bahasa translation for bootstrap-datepicker
|
* Bahasa translation for bootstrap-datepicker
|
||||||
* Azwar Akbar <azwar.akbar@gmail.com>
|
* Azwar Akbar <azwar.akbar@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['id'] = {
|
$.fn.datepicker.dates.id = {
|
||||||
days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"],
|
days: [
|
||||||
|
"Minggu",
|
||||||
|
"Senin",
|
||||||
|
"Selasa",
|
||||||
|
"Rabu",
|
||||||
|
"Kamis",
|
||||||
|
"Jumat",
|
||||||
|
"Sabtu",
|
||||||
|
"Minggu",
|
||||||
|
],
|
||||||
daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"],
|
daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"],
|
||||||
daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"],
|
daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"],
|
||||||
months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"]
|
"Januari",
|
||||||
|
"Februari",
|
||||||
|
"Maret",
|
||||||
|
"April",
|
||||||
|
"Mei",
|
||||||
|
"Juni",
|
||||||
|
"Juli",
|
||||||
|
"Agustus",
|
||||||
|
"September",
|
||||||
|
"Oktober",
|
||||||
|
"November",
|
||||||
|
"Desember",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Mei",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Ags",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Des",
|
||||||
|
],
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Icelandic translation for bootstrap-datepicker
|
* Icelandic translation for bootstrap-datepicker
|
||||||
* Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
* Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['is'] = {
|
$.fn.datepicker.dates.is = {
|
||||||
days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"],
|
days: [
|
||||||
|
"Sunnudagur",
|
||||||
|
"Mánudagur",
|
||||||
|
"Þriðjudagur",
|
||||||
|
"Miðvikudagur",
|
||||||
|
"Fimmtudagur",
|
||||||
|
"Föstudagur",
|
||||||
|
"Laugardagur",
|
||||||
|
"Sunnudagur",
|
||||||
|
],
|
||||||
daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"],
|
daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"],
|
||||||
daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"],
|
daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"],
|
||||||
months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"],
|
"Janúar",
|
||||||
today: "Í Dag"
|
"Febrúar",
|
||||||
|
"Mars",
|
||||||
|
"Apríl",
|
||||||
|
"Maí",
|
||||||
|
"Júní",
|
||||||
|
"Júlí",
|
||||||
|
"Ágúst",
|
||||||
|
"September",
|
||||||
|
"Október",
|
||||||
|
"Nóvember",
|
||||||
|
"Desember",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Maí",
|
||||||
|
"Jún",
|
||||||
|
"Júl",
|
||||||
|
"Ágú",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nóv",
|
||||||
|
"Des",
|
||||||
|
],
|
||||||
|
today: "Í Dag",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Italian translation for bootstrap-datepicker
|
* Italian translation for bootstrap-datepicker
|
||||||
* Enrico Rubboli <rubboli@gmail.com>
|
* Enrico Rubboli <rubboli@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['it'] = {
|
$.fn.datepicker.dates.it = {
|
||||||
days: ["Domenica", "Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "Sabato", "Domenica"],
|
days: [
|
||||||
|
"Domenica",
|
||||||
|
"Lunedi",
|
||||||
|
"Martedi",
|
||||||
|
"Mercoledi",
|
||||||
|
"Giovedi",
|
||||||
|
"Venerdi",
|
||||||
|
"Sabato",
|
||||||
|
"Domenica",
|
||||||
|
],
|
||||||
daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"],
|
daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"],
|
||||||
daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"],
|
daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"],
|
||||||
months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
|
months: [
|
||||||
monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"],
|
"Gennaio",
|
||||||
today: "Oggi"
|
"Febbraio",
|
||||||
|
"Marzo",
|
||||||
|
"Aprile",
|
||||||
|
"Maggio",
|
||||||
|
"Giugno",
|
||||||
|
"Luglio",
|
||||||
|
"Agosto",
|
||||||
|
"Settembre",
|
||||||
|
"Ottobre",
|
||||||
|
"Novembre",
|
||||||
|
"Dicembre",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Gen",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Mag",
|
||||||
|
"Giu",
|
||||||
|
"Lug",
|
||||||
|
"Ago",
|
||||||
|
"Set",
|
||||||
|
"Ott",
|
||||||
|
"Nov",
|
||||||
|
"Dic",
|
||||||
|
],
|
||||||
|
today: "Oggi",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,12 +2,38 @@
|
|||||||
* Japanese translation for bootstrap-datepicker
|
* Japanese translation for bootstrap-datepicker
|
||||||
* Norio Suzuki <https://github.com/suzuki/>
|
* Norio Suzuki <https://github.com/suzuki/>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['ja'] = {
|
$.fn.datepicker.dates.ja = {
|
||||||
days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"],
|
days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"],
|
||||||
daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"],
|
daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"],
|
||||||
daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"],
|
daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"],
|
||||||
months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
|
months: [
|
||||||
monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
|
"1月",
|
||||||
|
"2月",
|
||||||
|
"3月",
|
||||||
|
"4月",
|
||||||
|
"5月",
|
||||||
|
"6月",
|
||||||
|
"7月",
|
||||||
|
"8月",
|
||||||
|
"9月",
|
||||||
|
"10月",
|
||||||
|
"11月",
|
||||||
|
"12月",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"1月",
|
||||||
|
"2月",
|
||||||
|
"3月",
|
||||||
|
"4月",
|
||||||
|
"5月",
|
||||||
|
"6月",
|
||||||
|
"7月",
|
||||||
|
"8月",
|
||||||
|
"9月",
|
||||||
|
"10月",
|
||||||
|
"11月",
|
||||||
|
"12月",
|
||||||
|
],
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,12 +2,47 @@
|
|||||||
* Korean translation for bootstrap-datepicker
|
* Korean translation for bootstrap-datepicker
|
||||||
* Gu Youn <http://github.com/guyoun>
|
* Gu Youn <http://github.com/guyoun>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['kr'] = {
|
$.fn.datepicker.dates.kr = {
|
||||||
days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"],
|
days: [
|
||||||
|
"일요일",
|
||||||
|
"월요일",
|
||||||
|
"화요일",
|
||||||
|
"수요일",
|
||||||
|
"목요일",
|
||||||
|
"금요일",
|
||||||
|
"토요일",
|
||||||
|
"일요일",
|
||||||
|
],
|
||||||
daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"],
|
daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"],
|
||||||
daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"],
|
daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"],
|
||||||
months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
|
months: [
|
||||||
monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"]
|
"1월",
|
||||||
|
"2월",
|
||||||
|
"3월",
|
||||||
|
"4월",
|
||||||
|
"5월",
|
||||||
|
"6월",
|
||||||
|
"7월",
|
||||||
|
"8월",
|
||||||
|
"9월",
|
||||||
|
"10월",
|
||||||
|
"11월",
|
||||||
|
"12월",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"1월",
|
||||||
|
"2월",
|
||||||
|
"3월",
|
||||||
|
"4월",
|
||||||
|
"5월",
|
||||||
|
"6월",
|
||||||
|
"7월",
|
||||||
|
"8월",
|
||||||
|
"9월",
|
||||||
|
"10월",
|
||||||
|
"11월",
|
||||||
|
"12월",
|
||||||
|
],
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -3,14 +3,49 @@
|
|||||||
* Šarūnas Gliebus <ssharunas@yahoo.co.uk>
|
* Šarūnas Gliebus <ssharunas@yahoo.co.uk>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['lt'] = {
|
$.fn.datepicker.dates.lt = {
|
||||||
days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"],
|
days: [
|
||||||
|
"Sekmadienis",
|
||||||
|
"Pirmadienis",
|
||||||
|
"Antradienis",
|
||||||
|
"Trečiadienis",
|
||||||
|
"Ketvirtadienis",
|
||||||
|
"Penktadienis",
|
||||||
|
"Šeštadienis",
|
||||||
|
"Sekmadienis",
|
||||||
|
],
|
||||||
daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"],
|
daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"],
|
||||||
daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"],
|
daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"],
|
||||||
months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"],
|
months: [
|
||||||
monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"],
|
"Sausis",
|
||||||
|
"Vasaris",
|
||||||
|
"Kovas",
|
||||||
|
"Balandis",
|
||||||
|
"Gegužė",
|
||||||
|
"Birželis",
|
||||||
|
"Liepa",
|
||||||
|
"Rugpjūtis",
|
||||||
|
"Rugsėjis",
|
||||||
|
"Spalis",
|
||||||
|
"Lapkritis",
|
||||||
|
"Gruodis",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Sau",
|
||||||
|
"Vas",
|
||||||
|
"Kov",
|
||||||
|
"Bal",
|
||||||
|
"Geg",
|
||||||
|
"Bir",
|
||||||
|
"Lie",
|
||||||
|
"Rugp",
|
||||||
|
"Rugs",
|
||||||
|
"Spa",
|
||||||
|
"Lap",
|
||||||
|
"Gru",
|
||||||
|
],
|
||||||
today: "Šiandien",
|
today: "Šiandien",
|
||||||
weekStart: 1
|
weekStart: 1,
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -3,14 +3,49 @@
|
|||||||
* Artis Avotins <artis@apit.lv>
|
* Artis Avotins <artis@apit.lv>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['lv'] = {
|
$.fn.datepicker.dates.lv = {
|
||||||
days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"],
|
days: [
|
||||||
|
"Svētdiena",
|
||||||
|
"Pirmdiena",
|
||||||
|
"Otrdiena",
|
||||||
|
"Trešdiena",
|
||||||
|
"Ceturtdiena",
|
||||||
|
"Piektdiena",
|
||||||
|
"Sestdiena",
|
||||||
|
"Svētdiena",
|
||||||
|
],
|
||||||
daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"],
|
daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"],
|
||||||
daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "St", "Sv"],
|
daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "St", "Sv"],
|
||||||
months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec."],
|
"Janvāris",
|
||||||
|
"Februāris",
|
||||||
|
"Marts",
|
||||||
|
"Aprīlis",
|
||||||
|
"Maijs",
|
||||||
|
"Jūnijs",
|
||||||
|
"Jūlijs",
|
||||||
|
"Augusts",
|
||||||
|
"Septembris",
|
||||||
|
"Oktobris",
|
||||||
|
"Novembris",
|
||||||
|
"Decembris",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Mai",
|
||||||
|
"Jūn",
|
||||||
|
"Jūl",
|
||||||
|
"Aug",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Dec.",
|
||||||
|
],
|
||||||
today: "Šodien",
|
today: "Šodien",
|
||||||
weekStart: 1
|
weekStart: 1,
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,39 @@
|
|||||||
* Malay translation for bootstrap-datepicker
|
* Malay translation for bootstrap-datepicker
|
||||||
* Ateman Faiz <noorulfaiz@gmail.com>
|
* Ateman Faiz <noorulfaiz@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['ms'] = {
|
$.fn.datepicker.dates.ms = {
|
||||||
days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"],
|
days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"],
|
||||||
daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"],
|
daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"],
|
||||||
daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"],
|
daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"],
|
||||||
months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"],
|
"Januari",
|
||||||
today: "Hari Ini"
|
"Februari",
|
||||||
|
"Mac",
|
||||||
|
"April",
|
||||||
|
"Mei",
|
||||||
|
"Jun",
|
||||||
|
"Julai",
|
||||||
|
"Ogos",
|
||||||
|
"September",
|
||||||
|
"Oktober",
|
||||||
|
"November",
|
||||||
|
"Disember",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Mei",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Ogo",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Dis",
|
||||||
|
],
|
||||||
|
today: "Hari Ini",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Norwegian (bokmål) translation for bootstrap-datepicker
|
* Norwegian (bokmål) translation for bootstrap-datepicker
|
||||||
* Fredrik Sundmyhr <http://github.com/fsundmyhr>
|
* Fredrik Sundmyhr <http://github.com/fsundmyhr>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['nb'] = {
|
$.fn.datepicker.dates.nb = {
|
||||||
days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"],
|
days: [
|
||||||
|
"Søndag",
|
||||||
|
"Mandag",
|
||||||
|
"Tirsdag",
|
||||||
|
"Onsdag",
|
||||||
|
"Torsdag",
|
||||||
|
"Fredag",
|
||||||
|
"Lørdag",
|
||||||
|
"Søndag",
|
||||||
|
],
|
||||||
daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"],
|
daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"],
|
||||||
daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"],
|
daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"],
|
||||||
months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"],
|
"Januar",
|
||||||
today: "I Dag"
|
"Februar",
|
||||||
|
"Mars",
|
||||||
|
"April",
|
||||||
|
"Mai",
|
||||||
|
"Juni",
|
||||||
|
"Juli",
|
||||||
|
"August",
|
||||||
|
"September",
|
||||||
|
"Oktober",
|
||||||
|
"November",
|
||||||
|
"Desember",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Mai",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Aug",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Des",
|
||||||
|
],
|
||||||
|
today: "I Dag",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Dutch translation for bootstrap-datepicker
|
* Dutch translation for bootstrap-datepicker
|
||||||
* Reinier Goltstein <mrgoltstein@gmail.com>
|
* Reinier Goltstein <mrgoltstein@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['nl'] = {
|
$.fn.datepicker.dates.nl = {
|
||||||
days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"],
|
days: [
|
||||||
|
"Zondag",
|
||||||
|
"Maandag",
|
||||||
|
"Dinsdag",
|
||||||
|
"Woensdag",
|
||||||
|
"Donderdag",
|
||||||
|
"Vrijdag",
|
||||||
|
"Zaterdag",
|
||||||
|
"Zondag",
|
||||||
|
],
|
||||||
daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"],
|
daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"],
|
||||||
daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"],
|
daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"],
|
||||||
months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
|
"Januari",
|
||||||
today: "Vandaag"
|
"Februari",
|
||||||
|
"Maart",
|
||||||
|
"April",
|
||||||
|
"Mei",
|
||||||
|
"Juni",
|
||||||
|
"Juli",
|
||||||
|
"Augustus",
|
||||||
|
"September",
|
||||||
|
"Oktober",
|
||||||
|
"November",
|
||||||
|
"December",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mrt",
|
||||||
|
"Apr",
|
||||||
|
"Mei",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Aug",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Dec",
|
||||||
|
],
|
||||||
|
today: "Vandaag",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,14 +2,49 @@
|
|||||||
* Polish translation for bootstrap-datepicker
|
* Polish translation for bootstrap-datepicker
|
||||||
* Robert <rtpm@gazeta.pl>
|
* Robert <rtpm@gazeta.pl>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['pl'] = {
|
$.fn.datepicker.dates.pl = {
|
||||||
days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"],
|
days: [
|
||||||
|
"Niedziela",
|
||||||
|
"Poniedziałek",
|
||||||
|
"Wtorek",
|
||||||
|
"Środa",
|
||||||
|
"Czwartek",
|
||||||
|
"Piątek",
|
||||||
|
"Sobota",
|
||||||
|
"Niedziela",
|
||||||
|
],
|
||||||
daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"],
|
daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"],
|
||||||
daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"],
|
daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"],
|
||||||
months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
|
months: [
|
||||||
monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"],
|
"Styczeń",
|
||||||
|
"Luty",
|
||||||
|
"Marzec",
|
||||||
|
"Kwiecień",
|
||||||
|
"Maj",
|
||||||
|
"Czerwiec",
|
||||||
|
"Lipiec",
|
||||||
|
"Sierpień",
|
||||||
|
"Wrzesień",
|
||||||
|
"Październik",
|
||||||
|
"Listopad",
|
||||||
|
"Grudzień",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Sty",
|
||||||
|
"Lu",
|
||||||
|
"Mar",
|
||||||
|
"Kw",
|
||||||
|
"Maj",
|
||||||
|
"Cze",
|
||||||
|
"Lip",
|
||||||
|
"Sie",
|
||||||
|
"Wrz",
|
||||||
|
"Pa",
|
||||||
|
"Lis",
|
||||||
|
"Gru",
|
||||||
|
],
|
||||||
today: "Dzisiaj",
|
today: "Dzisiaj",
|
||||||
weekStart: 1
|
weekStart: 1,
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Brazilian translation for bootstrap-datepicker
|
* Brazilian translation for bootstrap-datepicker
|
||||||
* Cauan Cabral <cauan@radig.com.br>
|
* Cauan Cabral <cauan@radig.com.br>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['pt-BR'] = {
|
$.fn.datepicker.dates["pt-BR"] = {
|
||||||
days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"],
|
days: [
|
||||||
|
"Domingo",
|
||||||
|
"Segunda",
|
||||||
|
"Terça",
|
||||||
|
"Quarta",
|
||||||
|
"Quinta",
|
||||||
|
"Sexta",
|
||||||
|
"Sábado",
|
||||||
|
"Domingo",
|
||||||
|
],
|
||||||
daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"],
|
daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"],
|
||||||
daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"],
|
daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"],
|
||||||
months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
|
months: [
|
||||||
monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"],
|
"Janeiro",
|
||||||
today: "Hoje"
|
"Fevereiro",
|
||||||
|
"Março",
|
||||||
|
"Abril",
|
||||||
|
"Maio",
|
||||||
|
"Junho",
|
||||||
|
"Julho",
|
||||||
|
"Agosto",
|
||||||
|
"Setembro",
|
||||||
|
"Outubro",
|
||||||
|
"Novembro",
|
||||||
|
"Dezembro",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Fev",
|
||||||
|
"Mar",
|
||||||
|
"Abr",
|
||||||
|
"Mai",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Ago",
|
||||||
|
"Set",
|
||||||
|
"Out",
|
||||||
|
"Nov",
|
||||||
|
"Dez",
|
||||||
|
],
|
||||||
|
today: "Hoje",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -3,12 +3,47 @@
|
|||||||
* Original code: Cauan Cabral <cauan@radig.com.br>
|
* Original code: Cauan Cabral <cauan@radig.com.br>
|
||||||
* Tiago Melo <tiago.blackcode@gmail.com>
|
* Tiago Melo <tiago.blackcode@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['pt'] = {
|
$.fn.datepicker.dates.pt = {
|
||||||
days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"],
|
days: [
|
||||||
|
"Domingo",
|
||||||
|
"Segunda",
|
||||||
|
"Terça",
|
||||||
|
"Quarta",
|
||||||
|
"Quinta",
|
||||||
|
"Sexta",
|
||||||
|
"Sábado",
|
||||||
|
"Domingo",
|
||||||
|
],
|
||||||
daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"],
|
daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"],
|
||||||
daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"],
|
daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"],
|
||||||
months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
|
months: [
|
||||||
monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"]
|
"Janeiro",
|
||||||
|
"Fevereiro",
|
||||||
|
"Março",
|
||||||
|
"Abril",
|
||||||
|
"Maio",
|
||||||
|
"Junho",
|
||||||
|
"Julho",
|
||||||
|
"Agosto",
|
||||||
|
"Setembro",
|
||||||
|
"Outubro",
|
||||||
|
"Novembro",
|
||||||
|
"Dezembro",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Fev",
|
||||||
|
"Mar",
|
||||||
|
"Abr",
|
||||||
|
"Mai",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Ago",
|
||||||
|
"Set",
|
||||||
|
"Out",
|
||||||
|
"Nov",
|
||||||
|
"Dez",
|
||||||
|
],
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,14 +2,49 @@
|
|||||||
* Romanian translation for bootstrap-datepicker
|
* Romanian translation for bootstrap-datepicker
|
||||||
* Cristian Vasile <cristi.mie@gmail.com>
|
* Cristian Vasile <cristi.mie@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['ro'] = {
|
$.fn.datepicker.dates.ro = {
|
||||||
days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"],
|
days: [
|
||||||
|
"Duminică",
|
||||||
|
"Luni",
|
||||||
|
"Marţi",
|
||||||
|
"Miercuri",
|
||||||
|
"Joi",
|
||||||
|
"Vineri",
|
||||||
|
"Sâmbătă",
|
||||||
|
"Duminică",
|
||||||
|
],
|
||||||
daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"],
|
daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"],
|
||||||
daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"],
|
daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"],
|
||||||
months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"],
|
months: [
|
||||||
monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
"Ianuarie",
|
||||||
|
"Februarie",
|
||||||
|
"Martie",
|
||||||
|
"Aprilie",
|
||||||
|
"Mai",
|
||||||
|
"Iunie",
|
||||||
|
"Iulie",
|
||||||
|
"August",
|
||||||
|
"Septembrie",
|
||||||
|
"Octombrie",
|
||||||
|
"Noiembrie",
|
||||||
|
"Decembrie",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Ian",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Mai",
|
||||||
|
"Iun",
|
||||||
|
"Iul",
|
||||||
|
"Aug",
|
||||||
|
"Sep",
|
||||||
|
"Oct",
|
||||||
|
"Nov",
|
||||||
|
"Dec",
|
||||||
|
],
|
||||||
today: "Astăzi",
|
today: "Astăzi",
|
||||||
weekStart: 1
|
weekStart: 1,
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Serbian latin translation for bootstrap-datepicker
|
* Serbian latin translation for bootstrap-datepicker
|
||||||
* Bojan Milosavlević <milboj@gmail.com>
|
* Bojan Milosavlević <milboj@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['rs'] = {
|
$.fn.datepicker.dates.rs = {
|
||||||
days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"],
|
days: [
|
||||||
|
"Nedelja",
|
||||||
|
"Ponedeljak",
|
||||||
|
"Utorak",
|
||||||
|
"Sreda",
|
||||||
|
"Četvrtak",
|
||||||
|
"Petak",
|
||||||
|
"Subota",
|
||||||
|
"Nedelja",
|
||||||
|
],
|
||||||
daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"],
|
daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"],
|
||||||
daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"],
|
daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"],
|
||||||
months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"],
|
"Januar",
|
||||||
today: "Danas"
|
"Februar",
|
||||||
|
"Mart",
|
||||||
|
"April",
|
||||||
|
"Maj",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Avgust",
|
||||||
|
"Septembar",
|
||||||
|
"Oktobar",
|
||||||
|
"Novembar",
|
||||||
|
"Decembar",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Maj",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Avg",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Dec",
|
||||||
|
],
|
||||||
|
today: "Danas",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Serbian cyrillic translation for bootstrap-datepicker
|
* Serbian cyrillic translation for bootstrap-datepicker
|
||||||
* Bojan Milosavlević <milboj@gmail.com>
|
* Bojan Milosavlević <milboj@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['rs'] = {
|
$.fn.datepicker.dates.rs = {
|
||||||
days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"],
|
days: [
|
||||||
|
"Недеља",
|
||||||
|
"Понедељак",
|
||||||
|
"Уторак",
|
||||||
|
"Среда",
|
||||||
|
"Четвртак",
|
||||||
|
"Петак",
|
||||||
|
"Субота",
|
||||||
|
"Недеља",
|
||||||
|
],
|
||||||
daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"],
|
daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"],
|
||||||
daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"],
|
daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"],
|
||||||
months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"],
|
months: [
|
||||||
monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"],
|
"Јануар",
|
||||||
today: "Данас"
|
"Фебруар",
|
||||||
|
"Март",
|
||||||
|
"Април",
|
||||||
|
"Мај",
|
||||||
|
"Јун",
|
||||||
|
"Јул",
|
||||||
|
"Август",
|
||||||
|
"Септембар",
|
||||||
|
"Октобар",
|
||||||
|
"Новембар",
|
||||||
|
"Децембар",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Јан",
|
||||||
|
"Феб",
|
||||||
|
"Мар",
|
||||||
|
"Апр",
|
||||||
|
"Мај",
|
||||||
|
"Јун",
|
||||||
|
"Јул",
|
||||||
|
"Авг",
|
||||||
|
"Сеп",
|
||||||
|
"Окт",
|
||||||
|
"Нов",
|
||||||
|
"Дец",
|
||||||
|
],
|
||||||
|
today: "Данас",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Russian translation for bootstrap-datepicker
|
* Russian translation for bootstrap-datepicker
|
||||||
* Victor Taranenko <darwin@snowdale.com>
|
* Victor Taranenko <darwin@snowdale.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['ru'] = {
|
$.fn.datepicker.dates.ru = {
|
||||||
days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"],
|
days: [
|
||||||
|
"Воскресенье",
|
||||||
|
"Понедельник",
|
||||||
|
"Вторник",
|
||||||
|
"Среда",
|
||||||
|
"Четверг",
|
||||||
|
"Пятница",
|
||||||
|
"Суббота",
|
||||||
|
"Воскресенье",
|
||||||
|
],
|
||||||
daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"],
|
daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"],
|
||||||
daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"],
|
daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"],
|
||||||
months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
|
months: [
|
||||||
monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"],
|
"Январь",
|
||||||
today: "Сегодня"
|
"Февраль",
|
||||||
|
"Март",
|
||||||
|
"Апрель",
|
||||||
|
"Май",
|
||||||
|
"Июнь",
|
||||||
|
"Июль",
|
||||||
|
"Август",
|
||||||
|
"Сентябрь",
|
||||||
|
"Октябрь",
|
||||||
|
"Ноябрь",
|
||||||
|
"Декабрь",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Янв",
|
||||||
|
"Фев",
|
||||||
|
"Мар",
|
||||||
|
"Апр",
|
||||||
|
"Май",
|
||||||
|
"Июн",
|
||||||
|
"Июл",
|
||||||
|
"Авг",
|
||||||
|
"Сен",
|
||||||
|
"Окт",
|
||||||
|
"Ноя",
|
||||||
|
"Дек",
|
||||||
|
],
|
||||||
|
today: "Сегодня",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -3,13 +3,48 @@
|
|||||||
* Marek Lichtner <marek@licht.sk>
|
* Marek Lichtner <marek@licht.sk>
|
||||||
* Fixes by Michal Remiš <michal.remis@gmail.com>
|
* Fixes by Michal Remiš <michal.remis@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates["sk"] = {
|
$.fn.datepicker.dates.sk = {
|
||||||
days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"],
|
days: [
|
||||||
|
"Nedeľa",
|
||||||
|
"Pondelok",
|
||||||
|
"Utorok",
|
||||||
|
"Streda",
|
||||||
|
"Štvrtok",
|
||||||
|
"Piatok",
|
||||||
|
"Sobota",
|
||||||
|
"Nedeľa",
|
||||||
|
],
|
||||||
daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"],
|
daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"],
|
||||||
daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So", "Ne"],
|
daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So", "Ne"],
|
||||||
months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"],
|
"Január",
|
||||||
today: "Dnes"
|
"Február",
|
||||||
|
"Marec",
|
||||||
|
"Apríl",
|
||||||
|
"Máj",
|
||||||
|
"Jún",
|
||||||
|
"Júl",
|
||||||
|
"August",
|
||||||
|
"September",
|
||||||
|
"Október",
|
||||||
|
"November",
|
||||||
|
"December",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Máj",
|
||||||
|
"Jún",
|
||||||
|
"Júl",
|
||||||
|
"Aug",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Dec",
|
||||||
|
],
|
||||||
|
today: "Dnes",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Slovene translation for bootstrap-datepicker
|
* Slovene translation for bootstrap-datepicker
|
||||||
* Gregor Rudolf <gregor.rudolf@gmail.com>
|
* Gregor Rudolf <gregor.rudolf@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['sl'] = {
|
$.fn.datepicker.dates.sl = {
|
||||||
days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"],
|
days: [
|
||||||
|
"Nedelja",
|
||||||
|
"Ponedeljek",
|
||||||
|
"Torek",
|
||||||
|
"Sreda",
|
||||||
|
"Četrtek",
|
||||||
|
"Petek",
|
||||||
|
"Sobota",
|
||||||
|
"Nedelja",
|
||||||
|
],
|
||||||
daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"],
|
daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"],
|
||||||
daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"],
|
daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"],
|
||||||
months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"],
|
"Januar",
|
||||||
today: "Danes"
|
"Februar",
|
||||||
|
"Marec",
|
||||||
|
"April",
|
||||||
|
"Maj",
|
||||||
|
"Junij",
|
||||||
|
"Julij",
|
||||||
|
"Avgust",
|
||||||
|
"September",
|
||||||
|
"Oktober",
|
||||||
|
"November",
|
||||||
|
"December",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Maj",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Avg",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Dec",
|
||||||
|
],
|
||||||
|
today: "Danes",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Swedish translation for bootstrap-datepicker
|
* Swedish translation for bootstrap-datepicker
|
||||||
* Patrik Ragnarsson <patrik@starkast.net>
|
* Patrik Ragnarsson <patrik@starkast.net>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['sv'] = {
|
$.fn.datepicker.dates.sv = {
|
||||||
days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"],
|
days: [
|
||||||
|
"Söndag",
|
||||||
|
"Måndag",
|
||||||
|
"Tisdag",
|
||||||
|
"Onsdag",
|
||||||
|
"Torsdag",
|
||||||
|
"Fredag",
|
||||||
|
"Lördag",
|
||||||
|
"Söndag",
|
||||||
|
],
|
||||||
daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"],
|
daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"],
|
||||||
daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"],
|
daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"],
|
||||||
months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
|
"Januari",
|
||||||
today: "I Dag"
|
"Februari",
|
||||||
|
"Mars",
|
||||||
|
"April",
|
||||||
|
"Maj",
|
||||||
|
"Juni",
|
||||||
|
"Juli",
|
||||||
|
"Augusti",
|
||||||
|
"September",
|
||||||
|
"Oktober",
|
||||||
|
"November",
|
||||||
|
"December",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Apr",
|
||||||
|
"Maj",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Aug",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Dec",
|
||||||
|
],
|
||||||
|
today: "I Dag",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -3,13 +3,48 @@
|
|||||||
* Edwin Mugendi <https://github.com/edwinmugendi>
|
* Edwin Mugendi <https://github.com/edwinmugendi>
|
||||||
* Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku
|
* Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['sw'] = {
|
$.fn.datepicker.dates.sw = {
|
||||||
days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"],
|
days: [
|
||||||
|
"Jumapili",
|
||||||
|
"Jumatatu",
|
||||||
|
"Jumanne",
|
||||||
|
"Jumatano",
|
||||||
|
"Alhamisi",
|
||||||
|
"Ijumaa",
|
||||||
|
"Jumamosi",
|
||||||
|
"Jumapili",
|
||||||
|
],
|
||||||
daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"],
|
daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"],
|
||||||
daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"],
|
daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"],
|
||||||
months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"],
|
months: [
|
||||||
monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"],
|
"Januari",
|
||||||
today: "Leo"
|
"Februari",
|
||||||
|
"Machi",
|
||||||
|
"Aprili",
|
||||||
|
"Mei",
|
||||||
|
"Juni",
|
||||||
|
"Julai",
|
||||||
|
"Agosti",
|
||||||
|
"Septemba",
|
||||||
|
"Oktoba",
|
||||||
|
"Novemba",
|
||||||
|
"Desemba",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Jan",
|
||||||
|
"Feb",
|
||||||
|
"Mac",
|
||||||
|
"Apr",
|
||||||
|
"Mei",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Ago",
|
||||||
|
"Sep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Des",
|
||||||
|
],
|
||||||
|
today: "Leo",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Thai translation for bootstrap-datepicker
|
* Thai translation for bootstrap-datepicker
|
||||||
* Suchau Jiraprapot <seroz24@gmail.com>
|
* Suchau Jiraprapot <seroz24@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['th'] = {
|
$.fn.datepicker.dates.th = {
|
||||||
days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"],
|
days: [
|
||||||
|
"อาทิตย์",
|
||||||
|
"จันทร์",
|
||||||
|
"อังคาร",
|
||||||
|
"พุธ",
|
||||||
|
"พฤหัส",
|
||||||
|
"ศุกร์",
|
||||||
|
"เสาร์",
|
||||||
|
"อาทิตย์",
|
||||||
|
],
|
||||||
daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"],
|
daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"],
|
||||||
daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"],
|
daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"],
|
||||||
months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"],
|
months: [
|
||||||
monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."],
|
"มกราคม",
|
||||||
today: "วันนี้"
|
"กุมภาพันธ์",
|
||||||
|
"มีนาคม",
|
||||||
|
"เมษายน",
|
||||||
|
"พฤษภาคม",
|
||||||
|
"มิถุนายน",
|
||||||
|
"กรกฎาคม",
|
||||||
|
"สิงหาคม",
|
||||||
|
"กันยายน",
|
||||||
|
"ตุลาคม",
|
||||||
|
"พฤศจิกายน",
|
||||||
|
"ธันวาคม",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"ม.ค.",
|
||||||
|
"ก.พ.",
|
||||||
|
"มี.ค.",
|
||||||
|
"เม.ย.",
|
||||||
|
"พ.ค.",
|
||||||
|
"มิ.ย.",
|
||||||
|
"ก.ค.",
|
||||||
|
"ส.ค.",
|
||||||
|
"ก.ย.",
|
||||||
|
"ต.ค.",
|
||||||
|
"พ.ย.",
|
||||||
|
"ธ.ค.",
|
||||||
|
],
|
||||||
|
today: "วันนี้",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,14 +2,48 @@
|
|||||||
* Turkish translation for bootstrap-datepicker
|
* Turkish translation for bootstrap-datepicker
|
||||||
* Serkan Algur <kaisercrazy_2@hotmail.com>
|
* Serkan Algur <kaisercrazy_2@hotmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['tr'] = {
|
$.fn.datepicker.dates.tr = {
|
||||||
days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"],
|
days: [
|
||||||
|
"Pazar",
|
||||||
|
"Pazartesi",
|
||||||
|
"Salı",
|
||||||
|
"Çarşamba",
|
||||||
|
"Perşembe",
|
||||||
|
"Cuma",
|
||||||
|
"Cumartesi",
|
||||||
|
"Pazar",
|
||||||
|
],
|
||||||
daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"],
|
daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"],
|
||||||
daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"],
|
daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"],
|
||||||
months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
|
months: [
|
||||||
monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"],
|
"Ocak",
|
||||||
today: "Bugün"
|
"Şubat",
|
||||||
|
"Mart",
|
||||||
|
"Nisan",
|
||||||
|
"Mayıs",
|
||||||
|
"Haziran",
|
||||||
|
"Temmuz",
|
||||||
|
"Ağustos",
|
||||||
|
"Eylül",
|
||||||
|
"Ekim",
|
||||||
|
"Kasım",
|
||||||
|
"Aralık",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Oca",
|
||||||
|
"Şub",
|
||||||
|
"Mar",
|
||||||
|
"Nis",
|
||||||
|
"May",
|
||||||
|
"Haz",
|
||||||
|
"Tem",
|
||||||
|
"Ağu",
|
||||||
|
"Eyl",
|
||||||
|
"Eki",
|
||||||
|
"Kas",
|
||||||
|
"Ara",
|
||||||
|
],
|
||||||
|
today: "Bugün",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Ukrainian translation for bootstrap-datepicker
|
* Ukrainian translation for bootstrap-datepicker
|
||||||
* Andrey Vityuk <andrey [dot] vityuk [at] gmail.com>
|
* Andrey Vityuk <andrey [dot] vityuk [at] gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['uk'] = {
|
$.fn.datepicker.dates.uk = {
|
||||||
days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"],
|
days: [
|
||||||
|
"Неділя",
|
||||||
|
"Понеділок",
|
||||||
|
"Вівторок",
|
||||||
|
"Середа",
|
||||||
|
"Четвер",
|
||||||
|
"П'ятниця",
|
||||||
|
"Субота",
|
||||||
|
"Неділя",
|
||||||
|
],
|
||||||
daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"],
|
daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"],
|
||||||
daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"],
|
daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"],
|
||||||
months: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"],
|
months: [
|
||||||
monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"],
|
"Січень",
|
||||||
today: "Сьогодні"
|
"Лютий",
|
||||||
|
"Березень",
|
||||||
|
"Квітень",
|
||||||
|
"Травень",
|
||||||
|
"Червень",
|
||||||
|
"Липень",
|
||||||
|
"Серпень",
|
||||||
|
"Вересень",
|
||||||
|
"Жовтень",
|
||||||
|
"Листопад",
|
||||||
|
"Грудень",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"Січ",
|
||||||
|
"Лют",
|
||||||
|
"Бер",
|
||||||
|
"Кві",
|
||||||
|
"Тра",
|
||||||
|
"Чер",
|
||||||
|
"Лип",
|
||||||
|
"Сер",
|
||||||
|
"Вер",
|
||||||
|
"Жов",
|
||||||
|
"Лис",
|
||||||
|
"Гру",
|
||||||
|
],
|
||||||
|
today: "Сьогодні",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,13 +2,48 @@
|
|||||||
* Simplified Chinese translation for bootstrap-datepicker
|
* Simplified Chinese translation for bootstrap-datepicker
|
||||||
* Yuan Cheung <advanimal@gmail.com>
|
* Yuan Cheung <advanimal@gmail.com>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['zh-CN'] = {
|
$.fn.datepicker.dates["zh-CN"] = {
|
||||||
days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
|
days: [
|
||||||
|
"星期日",
|
||||||
|
"星期一",
|
||||||
|
"星期二",
|
||||||
|
"星期三",
|
||||||
|
"星期四",
|
||||||
|
"星期五",
|
||||||
|
"星期六",
|
||||||
|
"星期日",
|
||||||
|
],
|
||||||
daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
|
daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
|
||||||
daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"],
|
daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"],
|
||||||
months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
months: [
|
||||||
monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
"一月",
|
||||||
today: "今日"
|
"二月",
|
||||||
|
"三月",
|
||||||
|
"四月",
|
||||||
|
"五月",
|
||||||
|
"六月",
|
||||||
|
"七月",
|
||||||
|
"八月",
|
||||||
|
"九月",
|
||||||
|
"十月",
|
||||||
|
"十一月",
|
||||||
|
"十二月",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"一月",
|
||||||
|
"二月",
|
||||||
|
"三月",
|
||||||
|
"四月",
|
||||||
|
"五月",
|
||||||
|
"六月",
|
||||||
|
"七月",
|
||||||
|
"八月",
|
||||||
|
"九月",
|
||||||
|
"十月",
|
||||||
|
"十一月",
|
||||||
|
"十二月",
|
||||||
|
],
|
||||||
|
today: "今日",
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -2,12 +2,47 @@
|
|||||||
* Traditional Chinese translation for bootstrap-datepicker
|
* Traditional Chinese translation for bootstrap-datepicker
|
||||||
* Rung-Sheng Jang <daniel@i-trend.co.cc>
|
* Rung-Sheng Jang <daniel@i-trend.co.cc>
|
||||||
*/
|
*/
|
||||||
;(function($){
|
(function ($) {
|
||||||
$.fn.datepicker.dates['zh-TW'] = {
|
$.fn.datepicker.dates["zh-TW"] = {
|
||||||
days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
|
days: [
|
||||||
|
"星期日",
|
||||||
|
"星期一",
|
||||||
|
"星期二",
|
||||||
|
"星期三",
|
||||||
|
"星期四",
|
||||||
|
"星期五",
|
||||||
|
"星期六",
|
||||||
|
"星期日",
|
||||||
|
],
|
||||||
daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
|
daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
|
||||||
daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"],
|
daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"],
|
||||||
months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
months: [
|
||||||
monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"]
|
"一月",
|
||||||
|
"二月",
|
||||||
|
"三月",
|
||||||
|
"四月",
|
||||||
|
"五月",
|
||||||
|
"六月",
|
||||||
|
"七月",
|
||||||
|
"八月",
|
||||||
|
"九月",
|
||||||
|
"十月",
|
||||||
|
"十一月",
|
||||||
|
"十二月",
|
||||||
|
],
|
||||||
|
monthsShort: [
|
||||||
|
"一月",
|
||||||
|
"二月",
|
||||||
|
"三月",
|
||||||
|
"四月",
|
||||||
|
"五月",
|
||||||
|
"六月",
|
||||||
|
"七月",
|
||||||
|
"八月",
|
||||||
|
"九月",
|
||||||
|
"十月",
|
||||||
|
"十一月",
|
||||||
|
"十二月",
|
||||||
|
],
|
||||||
};
|
};
|
||||||
}(jQuery));
|
})(jQuery);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ from freezegun import freeze_time
|
|||||||
from odoo import fields
|
from odoo import fields
|
||||||
from odoo.exceptions import ValidationError
|
from odoo.exceptions import ValidationError
|
||||||
from odoo.tests import Form
|
from odoo.tests import Form
|
||||||
|
|
||||||
from .common import TestPms
|
from .common import TestPms
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<form string="Sale Channel">
|
<form string="Sale Channel">
|
||||||
<sheet>
|
<sheet>
|
||||||
<group>
|
<group>
|
||||||
<field name="icon" widget="image"/>
|
<field name="icon" widget="image" />
|
||||||
<field name="name" colspan="1" />
|
<field name="name" colspan="1" />
|
||||||
<field name="channel_type" />
|
<field name="channel_type" />
|
||||||
<field name="is_on_line" />
|
<field name="is_on_line" />
|
||||||
|
|||||||
@@ -69,10 +69,7 @@
|
|||||||
<t t-call="portal.portal_layout">
|
<t t-call="portal.portal_layout">
|
||||||
<t t-set="checkins_count" t-value="1" />
|
<t t-set="checkins_count" t-value="1" />
|
||||||
<t t-foreach="reservation.checkin_partner_ids" t-as="checkin_partner">
|
<t t-foreach="reservation.checkin_partner_ids" t-as="checkin_partner">
|
||||||
<form
|
<form t-att-action="checkin_partner.get_portal_url()" method="post">
|
||||||
t-att-action="checkin_partner.get_portal_url()"
|
|
||||||
method="post"
|
|
||||||
>
|
|
||||||
<div class="checkin-card">
|
<div class="checkin-card">
|
||||||
<input
|
<input
|
||||||
class="d-none"
|
class="d-none"
|
||||||
@@ -1081,7 +1078,9 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<center>
|
<center>
|
||||||
<t t-if="len(folio.checkin_partner_ids.filtered(lambda c: c.state in ['dummy','draft'])) >= 1">
|
<t
|
||||||
|
t-if="len(folio.checkin_partner_ids.filtered(lambda c: c.state in ['dummy','draft'])) >= 1"
|
||||||
|
>
|
||||||
<div>
|
<div>
|
||||||
If you wish, you can share with the rest of the guests the access to their check-in so that they can fill it out.<br
|
If you wish, you can share with the rest of the guests the access to their check-in so that they can fill it out.<br
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -6,9 +6,6 @@ POS PMS LINK
|
|||||||
.. contents::
|
.. contents::
|
||||||
:local:
|
:local:
|
||||||
|
|
||||||
POS PMS LINK
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
Settings
|
Settings
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|||||||
0
pos_pms_link/__init__.py
Executable file → Normal file
0
pos_pms_link/__init__.py
Executable file → Normal file
0
pos_pms_link/models/__init__.py
Executable file → Normal file
0
pos_pms_link/models/__init__.py
Executable file → Normal file
@@ -17,15 +17,22 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
from odoo import models, api
|
from odoo import api, models
|
||||||
|
|
||||||
|
|
||||||
class PMSReservation(models.Model):
|
class PMSReservation(models.Model):
|
||||||
_inherit = 'pms.reservation'
|
_inherit = "pms.reservation"
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
||||||
if self.env.context.get("pos_user_force", False):
|
if self.env.context.get("pos_user_force", False):
|
||||||
return super().sudo().with_context(pos_user_force=False).search_read(domain, fields, offset, limit, order)
|
return (
|
||||||
|
super()
|
||||||
|
.sudo()
|
||||||
|
.with_context(pos_user_force=False)
|
||||||
|
.search_read(domain, fields, offset, limit, order)
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
return super(PMSReservation, self).search_read(domain, fields, offset, limit, order)
|
return super(PMSReservation, self).search_read(
|
||||||
|
domain, fields, offset, limit, order
|
||||||
|
)
|
||||||
|
|||||||
@@ -17,14 +17,22 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
from odoo import models, api
|
from odoo import api, models
|
||||||
|
|
||||||
|
|
||||||
class PMSService(models.Model):
|
class PMSService(models.Model):
|
||||||
_inherit = 'pms.service'
|
_inherit = "pms.service"
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
||||||
if self.env.context.get("pos_user_force", False):
|
if self.env.context.get("pos_user_force", False):
|
||||||
return super().sudo().with_context(pos_user_force=False).search_read(domain, fields, offset, limit, order)
|
return (
|
||||||
|
super()
|
||||||
|
.sudo()
|
||||||
|
.with_context(pos_user_force=False)
|
||||||
|
.search_read(domain, fields, offset, limit, order)
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
return super(PMSService, self).search_read(domain, fields, offset, limit, order)
|
return super(PMSService, self).search_read(
|
||||||
|
domain, fields, offset, limit, order
|
||||||
|
)
|
||||||
|
|||||||
@@ -17,14 +17,11 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
from odoo import fields, models, api, _
|
from odoo import api, fields, models
|
||||||
from odoo.osv.expression import AND
|
|
||||||
import pytz
|
|
||||||
from datetime import timedelta
|
|
||||||
from odoo.addons.point_of_sale.wizard.pos_box import PosBox
|
|
||||||
|
|
||||||
class PMSServiceLine(models.Model):
|
class PMSServiceLine(models.Model):
|
||||||
_inherit = 'pms.service.line'
|
_inherit = "pms.service.line"
|
||||||
|
|
||||||
pos_order_line_ids = fields.One2many(
|
pos_order_line_ids = fields.One2many(
|
||||||
string="POS lines",
|
string="POS lines",
|
||||||
@@ -35,6 +32,13 @@ class PMSServiceLine(models.Model):
|
|||||||
@api.model
|
@api.model
|
||||||
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
||||||
if self.env.context.get("pos_user_force", False):
|
if self.env.context.get("pos_user_force", False):
|
||||||
return super().sudo().with_context(pos_user_force=False).search_read(domain, fields, offset, limit, order)
|
return (
|
||||||
|
super()
|
||||||
|
.sudo()
|
||||||
|
.with_context(pos_user_force=False)
|
||||||
|
.search_read(domain, fields, offset, limit, order)
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
return super(PMSServiceLine, self).search_read(domain, fields, offset, limit, order)
|
return super(PMSServiceLine, self).search_read(
|
||||||
|
domain, fields, offset, limit, order
|
||||||
|
)
|
||||||
|
|||||||
@@ -18,24 +18,34 @@
|
|||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
import json
|
|
||||||
from odoo import api, fields, models, _
|
|
||||||
from odoo.exceptions import Warning, UserError
|
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from odoo import api, fields, models
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class PosConfig(models.Model):
|
class PosConfig(models.Model):
|
||||||
_inherit = 'pos.config'
|
_inherit = "pos.config"
|
||||||
|
|
||||||
pay_on_reservation = fields.Boolean('Pay on reservation', default=False)
|
pay_on_reservation = fields.Boolean("Pay on reservation", default=False)
|
||||||
pay_on_reservation_method_id = fields.Many2one('pos.payment.method', string='Pay on reservation method')
|
pay_on_reservation_method_id = fields.Many2one(
|
||||||
reservation_allowed_propertie_ids = fields.Many2many('pms.property', string='Reservation allowed properties')
|
"pos.payment.method", string="Pay on reservation method"
|
||||||
|
)
|
||||||
|
reservation_allowed_propertie_ids = fields.Many2many(
|
||||||
|
"pms.property", string="Reservation allowed properties"
|
||||||
|
)
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
||||||
if self.env.context.get("pos_user_force", False):
|
if self.env.context.get("pos_user_force", False):
|
||||||
return super().sudo().with_context(pos_user_force=False).search_read(domain, fields, offset, limit, order)
|
return (
|
||||||
|
super()
|
||||||
|
.sudo()
|
||||||
|
.with_context(pos_user_force=False)
|
||||||
|
.search_read(domain, fields, offset, limit, order)
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
return super(PosConfig, self).search_read(domain, fields, offset, limit, order)
|
return super(PosConfig, self).search_read(
|
||||||
|
domain, fields, offset, limit, order
|
||||||
|
)
|
||||||
|
|||||||
@@ -17,52 +17,61 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
from odoo import fields, models, api, _
|
from datetime import datetime
|
||||||
from odoo.osv.expression import AND
|
|
||||||
import pytz
|
from odoo import _, api, fields, models
|
||||||
from datetime import datetime, timedelta
|
|
||||||
from odoo.addons.point_of_sale.wizard.pos_box import PosBox
|
|
||||||
from odoo.exceptions import UserError
|
from odoo.exceptions import UserError
|
||||||
|
|
||||||
class PosOrder(models.Model):
|
|
||||||
_inherit = 'pos.order'
|
|
||||||
|
|
||||||
paid_on_reservation = fields.Boolean('Paid on reservation', default=False)
|
class PosOrder(models.Model):
|
||||||
pms_reservation_id = fields.Many2one('pms.reservation', string='PMS reservation')
|
_inherit = "pos.order"
|
||||||
|
|
||||||
|
paid_on_reservation = fields.Boolean("Paid on reservation", default=False)
|
||||||
|
pms_reservation_id = fields.Many2one("pms.reservation", string="PMS reservation")
|
||||||
|
|
||||||
def _get_fields_for_draft_order(self):
|
def _get_fields_for_draft_order(self):
|
||||||
res = super(PosOrder, self)._get_fields_for_draft_order()
|
res = super(PosOrder, self)._get_fields_for_draft_order()
|
||||||
res.append('paid_on_reservation')
|
res.append("paid_on_reservation")
|
||||||
res.append('pms_reservation_id')
|
res.append("pms_reservation_id")
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def _order_fields(self, ui_order):
|
def _order_fields(self, ui_order):
|
||||||
order_fields = super(PosOrder, self)._order_fields(ui_order)
|
order_fields = super(PosOrder, self)._order_fields(ui_order)
|
||||||
order_fields['paid_on_reservation'] = ui_order.get('paid_on_reservation', False)
|
order_fields["paid_on_reservation"] = ui_order.get("paid_on_reservation", False)
|
||||||
order_fields['pms_reservation_id'] = ui_order.get('pms_reservation_id', False)
|
order_fields["pms_reservation_id"] = ui_order.get("pms_reservation_id", False)
|
||||||
return order_fields
|
return order_fields
|
||||||
|
|
||||||
def _get_fields_for_order_line(self):
|
def _get_fields_for_order_line(self):
|
||||||
res = super(PosOrder, self)._get_fields_for_order_line()
|
res = super(PosOrder, self)._get_fields_for_order_line()
|
||||||
res.append('pms_service_line_id')
|
res.append("pms_service_line_id")
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def _get_order_lines(self, orders):
|
def _get_order_lines(self, orders):
|
||||||
super(PosOrder, self)._get_order_lines(orders)
|
super(PosOrder, self)._get_order_lines(orders)
|
||||||
for order in orders:
|
for order in orders:
|
||||||
if 'lines' in order:
|
if "lines" in order:
|
||||||
for line in order['lines']:
|
for line in order["lines"]:
|
||||||
line[2]['pms_service_line_id'] = line[2]['pms_service_line_id'][0] if line[2]['pms_service_line_id'] else False
|
line[2]["pms_service_line_id"] = (
|
||||||
|
line[2]["pms_service_line_id"][0]
|
||||||
|
if line[2]["pms_service_line_id"]
|
||||||
|
else False
|
||||||
|
)
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def _process_order(self, pos_order, draft, existing_order):
|
def _process_order(self, pos_order, draft, existing_order):
|
||||||
data = pos_order.get('data', False)
|
data = pos_order.get("data", False)
|
||||||
if data and data.get("paid_on_reservation", False) and data.get("pms_reservation_id", False):
|
if (
|
||||||
pms_reservation_id = data.pop('pms_reservation_id')
|
data
|
||||||
|
and data.get("paid_on_reservation", False)
|
||||||
|
and data.get("pms_reservation_id", False)
|
||||||
|
):
|
||||||
|
pms_reservation_id = data.pop("pms_reservation_id")
|
||||||
res = super(PosOrder, self)._process_order(pos_order, draft, existing_order)
|
res = super(PosOrder, self)._process_order(pos_order, draft, existing_order)
|
||||||
order_id = self.env['pos.order'].browse(res)
|
order_id = self.env["pos.order"].browse(res)
|
||||||
pms_reservation_id = self.sudo().env['pms.reservation'].browse(pms_reservation_id)
|
pms_reservation_id = (
|
||||||
|
self.sudo().env["pms.reservation"].browse(pms_reservation_id)
|
||||||
|
)
|
||||||
if not pms_reservation_id:
|
if not pms_reservation_id:
|
||||||
raise UserError(_("Reservation does not exists."))
|
raise UserError(_("Reservation does not exists."))
|
||||||
order_id.pms_reservation_id = pms_reservation_id.id
|
order_id.pms_reservation_id = pms_reservation_id.id
|
||||||
@@ -72,12 +81,15 @@ class PosOrder(models.Model):
|
|||||||
return super()._process_order(pos_order, draft, existing_order)
|
return super()._process_order(pos_order, draft, existing_order)
|
||||||
|
|
||||||
def add_order_lines_to_reservation(self, pms_reservation_id):
|
def add_order_lines_to_reservation(self, pms_reservation_id):
|
||||||
self.lines.filtered(lambda x: not x.pms_service_line_id)._generate_pms_service(pms_reservation_id)
|
self.lines.filtered(lambda x: not x.pms_service_line_id)._generate_pms_service(
|
||||||
|
pms_reservation_id
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class PosOrderLine(models.Model):
|
class PosOrderLine(models.Model):
|
||||||
_inherit = 'pos.order.line'
|
_inherit = "pos.order.line"
|
||||||
|
|
||||||
pms_service_line_id = fields.Many2one('pms.service.line', string='PMS Service line')
|
pms_service_line_id = fields.Many2one("pms.service.line", string="PMS Service line")
|
||||||
|
|
||||||
def _generate_pms_service(self, pms_reservation_id):
|
def _generate_pms_service(self, pms_reservation_id):
|
||||||
for line in self:
|
for line in self:
|
||||||
@@ -100,6 +112,4 @@ class PosOrderLine(models.Model):
|
|||||||
}
|
}
|
||||||
service = self.sudo().env["pms.service"].create(vals)
|
service = self.sudo().env["pms.service"].create(vals)
|
||||||
|
|
||||||
line.write({
|
line.write({"pms_service_line_id": service.service_line_ids.id})
|
||||||
'pms_service_line_id': service.service_line_ids.id
|
|
||||||
})
|
|
||||||
|
|||||||
@@ -17,16 +17,20 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
from odoo import api, fields, models, _
|
from odoo import api, models
|
||||||
|
|
||||||
|
|
||||||
class PosPayment(models.Model):
|
class PosPayment(models.Model):
|
||||||
_inherit = "pos.payment"
|
_inherit = "pos.payment"
|
||||||
|
|
||||||
@api.constrains('payment_method_id')
|
@api.constrains("payment_method_id")
|
||||||
def _check_payment_method_id(self):
|
def _check_payment_method_id(self):
|
||||||
for payment in self:
|
for payment in self:
|
||||||
if payment.session_id.config_id.pay_on_reservation and payment.session_id.config_id.pay_on_reservation_method_id == payment.payment_method_id:
|
if (
|
||||||
|
payment.session_id.config_id.pay_on_reservation
|
||||||
|
and payment.session_id.config_id.pay_on_reservation_method_id
|
||||||
|
== payment.payment_method_id
|
||||||
|
):
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
super(PosPayment, payment)._check_payment_method_id()
|
super(PosPayment, payment)._check_payment_method_id()
|
||||||
|
|||||||
@@ -18,26 +18,35 @@
|
|||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
from collections import defaultdict
|
|
||||||
import json
|
|
||||||
from odoo import api, fields, models, _
|
|
||||||
from odoo.exceptions import Warning, UserError
|
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
|
from odoo import models
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class PosSession(models.Model):
|
class PosSession(models.Model):
|
||||||
_inherit = 'pos.session'
|
_inherit = "pos.session"
|
||||||
|
|
||||||
def _accumulate_amounts(self, data):
|
def _accumulate_amounts(self, data): # noqa: C901 # too-complex
|
||||||
res = super(PosSession, self)._accumulate_amounts(data)
|
res = super(PosSession, self)._accumulate_amounts(data)
|
||||||
if self.config_id.pay_on_reservation and self.config_id.pay_on_reservation_method_id:
|
if (
|
||||||
amounts = lambda: {'amount': 0.0, 'amount_converted': 0.0}
|
self.config_id.pay_on_reservation
|
||||||
tax_amounts = lambda: {'amount': 0.0, 'amount_converted': 0.0, 'base_amount': 0.0, 'base_amount_converted': 0.0}
|
and self.config_id.pay_on_reservation_method_id
|
||||||
|
):
|
||||||
|
amounts = lambda: {"amount": 0.0, "amount_converted": 0.0} # noqa E731
|
||||||
|
tax_amounts = lambda: { # noqa: E731
|
||||||
|
"amount": 0.0,
|
||||||
|
"amount_converted": 0.0,
|
||||||
|
"base_amount": 0.0,
|
||||||
|
"base_amount_converted": 0.0,
|
||||||
|
}
|
||||||
sales = defaultdict(amounts)
|
sales = defaultdict(amounts)
|
||||||
taxes = defaultdict(tax_amounts)
|
taxes = defaultdict(tax_amounts)
|
||||||
rounded_globally = self.company_id.tax_calculation_rounding_method == 'round_globally'
|
rounded_globally = (
|
||||||
|
self.company_id.tax_calculation_rounding_method == "round_globally"
|
||||||
|
)
|
||||||
|
|
||||||
reservation_orders = self.order_ids.filtered(lambda x: x.pms_reservation_id)
|
reservation_orders = self.order_ids.filtered(lambda x: x.pms_reservation_id)
|
||||||
|
|
||||||
@@ -47,22 +56,32 @@ class PosSession(models.Model):
|
|||||||
# Combine sales/refund lines
|
# Combine sales/refund lines
|
||||||
sale_key = (
|
sale_key = (
|
||||||
# account
|
# account
|
||||||
line['income_account_id'],
|
line["income_account_id"],
|
||||||
# sign
|
# sign
|
||||||
-1 if line['amount'] < 0 else 1,
|
-1 if line["amount"] < 0 else 1,
|
||||||
# for taxes
|
# for taxes
|
||||||
tuple((tax['id'], tax['account_id'], tax['tax_repartition_line_id']) for tax in line['taxes']),
|
tuple(
|
||||||
line['base_tags'],
|
(tax["id"], tax["account_id"], tax["tax_repartition_line_id"])
|
||||||
|
for tax in line["taxes"]
|
||||||
|
),
|
||||||
|
line["base_tags"],
|
||||||
|
)
|
||||||
|
sales[sale_key] = self._update_amounts(
|
||||||
|
sales[sale_key], {"amount": line["amount"]}, line["date_order"]
|
||||||
)
|
)
|
||||||
sales[sale_key] = self._update_amounts(sales[sale_key], {'amount': line['amount']}, line['date_order'])
|
|
||||||
# Combine tax lines
|
# Combine tax lines
|
||||||
for tax in line['taxes']:
|
for tax in line["taxes"]:
|
||||||
tax_key = (tax['account_id'] or line['income_account_id'], tax['tax_repartition_line_id'], tax['id'], tuple(tax['tag_ids']))
|
tax_key = (
|
||||||
|
tax["account_id"] or line["income_account_id"],
|
||||||
|
tax["tax_repartition_line_id"],
|
||||||
|
tax["id"],
|
||||||
|
tuple(tax["tag_ids"]),
|
||||||
|
)
|
||||||
order_taxes[tax_key] = self._update_amounts(
|
order_taxes[tax_key] = self._update_amounts(
|
||||||
order_taxes[tax_key],
|
order_taxes[tax_key],
|
||||||
{'amount': tax['amount'], 'base_amount': tax['base']},
|
{"amount": tax["amount"], "base_amount": tax["base"]},
|
||||||
tax['date_order'],
|
tax["date_order"],
|
||||||
round=not rounded_globally
|
round=not rounded_globally,
|
||||||
)
|
)
|
||||||
for tax_key, amounts in order_taxes.items():
|
for tax_key, amounts in order_taxes.items():
|
||||||
if rounded_globally:
|
if rounded_globally:
|
||||||
@@ -72,25 +91,37 @@ class PosSession(models.Model):
|
|||||||
|
|
||||||
for element, value in dict(res["taxes"]).items():
|
for element, value in dict(res["taxes"]).items():
|
||||||
if element in taxes:
|
if element in taxes:
|
||||||
value['amount'] = value['amount'] - taxes[element]['amount']
|
value["amount"] = value["amount"] - taxes[element]["amount"]
|
||||||
value['amount_converted'] = value['amount_converted'] - taxes[element]['amount_converted']
|
value["amount_converted"] = (
|
||||||
value['base_amount'] = value['base_amount'] - taxes[element]['base_amount']
|
value["amount_converted"] - taxes[element]["amount_converted"]
|
||||||
value['base_amount_converted'] = value['base_amount_converted'] - taxes[element]['base_amount_converted']
|
)
|
||||||
|
value["base_amount"] = (
|
||||||
|
value["base_amount"] - taxes[element]["base_amount"]
|
||||||
|
)
|
||||||
|
value["base_amount_converted"] = (
|
||||||
|
value["base_amount_converted"]
|
||||||
|
- taxes[element]["base_amount_converted"]
|
||||||
|
)
|
||||||
|
|
||||||
for element, value in dict(res["sales"]).items():
|
for element, value in dict(res["sales"]).items():
|
||||||
if element in sales:
|
if element in sales:
|
||||||
value['amount'] = value['amount'] - sales[element]['amount']
|
value["amount"] = value["amount"] - sales[element]["amount"]
|
||||||
value['amount_converted'] = value['amount_converted'] - sales[element]['amount_converted']
|
value["amount_converted"] = (
|
||||||
|
value["amount_converted"] - sales[element]["amount_converted"]
|
||||||
|
)
|
||||||
|
|
||||||
if self.config_id.pay_on_reservation_method_id.split_transactions:
|
if self.config_id.pay_on_reservation_method_id.split_transactions:
|
||||||
for element, value in dict(res["split_receivables"]).items():
|
for element, value in dict(res["split_receivables"]).items():
|
||||||
if element.payment_method_id == self.config_id.pay_on_reservation_method_id:
|
if (
|
||||||
value['amount'] = 0.0
|
element.payment_method_id
|
||||||
value['amount_converted'] = 0.0
|
== self.config_id.pay_on_reservation_method_id
|
||||||
|
):
|
||||||
|
value["amount"] = 0.0
|
||||||
|
value["amount_converted"] = 0.0
|
||||||
|
|
||||||
else:
|
else:
|
||||||
for element, value in dict(res["combine_receivables"]).items():
|
for element, value in dict(res["combine_receivables"]).items():
|
||||||
if element == self.config_id.pay_on_reservation_method_id:
|
if element == self.config_id.pay_on_reservation_method_id:
|
||||||
value['amount'] = 0.0
|
value["amount"] = 0.0
|
||||||
value['amount_converted'] = 0.0
|
value["amount_converted"] = 0.0
|
||||||
return res
|
return res
|
||||||
@@ -17,24 +17,40 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
from odoo import models, api
|
from odoo import api, models
|
||||||
|
|
||||||
|
|
||||||
class ProductPricelist(models.Model):
|
class ProductPricelist(models.Model):
|
||||||
_inherit = 'product.pricelist'
|
_inherit = "product.pricelist"
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
||||||
if self.env.context.get("pos_user_force", False):
|
if self.env.context.get("pos_user_force", False):
|
||||||
return super().sudo().with_context(pos_user_force=False).search_read(domain, fields, offset, limit, order)
|
return (
|
||||||
|
super()
|
||||||
|
.sudo()
|
||||||
|
.with_context(pos_user_force=False)
|
||||||
|
.search_read(domain, fields, offset, limit, order)
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
return super(ProductPricelist, self).search_read(domain, fields, offset, limit, order)
|
return super(ProductPricelist, self).search_read(
|
||||||
|
domain, fields, offset, limit, order
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ProductPricelistItem(models.Model):
|
class ProductPricelistItem(models.Model):
|
||||||
_inherit = 'product.pricelist.item'
|
_inherit = "product.pricelist.item"
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
||||||
if self.env.context.get("pos_user_force", False):
|
if self.env.context.get("pos_user_force", False):
|
||||||
return super().sudo().with_context(pos_user_force=False).search_read(domain, fields, offset, limit, order)
|
return (
|
||||||
|
super()
|
||||||
|
.sudo()
|
||||||
|
.with_context(pos_user_force=False)
|
||||||
|
.search_read(domain, fields, offset, limit, order)
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
return super(ProductPricelistItem, self).search_read(domain, fields, offset, limit, order)
|
return super(ProductPricelistItem, self).search_read(
|
||||||
|
domain, fields, offset, limit, order
|
||||||
|
)
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
odoo.define('pos_pms_link.ReservationSelectionButton', function(require) {
|
odoo.define("pos_pms_link.ReservationSelectionButton", function (require) {
|
||||||
'use strict';
|
"use strict";
|
||||||
|
|
||||||
const PosComponent = require('point_of_sale.PosComponent');
|
const PosComponent = require("point_of_sale.PosComponent");
|
||||||
const ProductScreen = require('point_of_sale.ProductScreen');
|
const ProductScreen = require("point_of_sale.ProductScreen");
|
||||||
const { useListener } = require('web.custom_hooks');
|
const {useListener} = require("web.custom_hooks");
|
||||||
const Registries = require('point_of_sale.Registries');
|
const Registries = require("point_of_sale.Registries");
|
||||||
const { Gui } = require('point_of_sale.Gui');
|
const {Gui} = require("point_of_sale.Gui");
|
||||||
var core = require('web.core');
|
var core = require("web.core");
|
||||||
var QWeb = core.qweb;
|
var QWeb = core.qweb;
|
||||||
|
|
||||||
var _t = core._t;
|
var _t = core._t;
|
||||||
@@ -14,26 +14,26 @@ odoo.define('pos_pms_link.ReservationSelectionButton', function(require) {
|
|||||||
class ReservationSelectionButton extends PosComponent {
|
class ReservationSelectionButton extends PosComponent {
|
||||||
constructor() {
|
constructor() {
|
||||||
super(...arguments);
|
super(...arguments);
|
||||||
useListener('click', this.onClick);
|
useListener("click", this.onClick);
|
||||||
}
|
}
|
||||||
get currentOrder() {
|
get currentOrder() {
|
||||||
return this.env.pos.get_order();
|
return this.env.pos.get_order();
|
||||||
}
|
}
|
||||||
async onClick() {
|
async onClick() {
|
||||||
const { confirmed, payload: newReservation } = await this.showTempScreen(
|
const {
|
||||||
'ReservationListScreen',
|
confirmed,
|
||||||
{ reservation: null }
|
payload: newReservation,
|
||||||
);
|
} = await this.showTempScreen("ReservationListScreen", {reservation: null});
|
||||||
if (confirmed) {
|
if (confirmed) {
|
||||||
this.currentOrder.add_reservation_services(newReservation);
|
this.currentOrder.add_reservation_services(newReservation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ReservationSelectionButton.template = 'ReservationSelectionButton';
|
ReservationSelectionButton.template = "ReservationSelectionButton";
|
||||||
|
|
||||||
ProductScreen.addControlButton({
|
ProductScreen.addControlButton({
|
||||||
component: ReservationSelectionButton,
|
component: ReservationSelectionButton,
|
||||||
condition: function() {
|
condition: function () {
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,37 +1,44 @@
|
|||||||
odoo.define('pos_pms_link.PaymentScreen', function (require) {
|
odoo.define("pos_pms_link.PaymentScreen", function (require) {
|
||||||
'use strict';
|
"use strict";
|
||||||
|
|
||||||
const PaymentScreen = require('point_of_sale.PaymentScreen');
|
const PaymentScreen = require("point_of_sale.PaymentScreen");
|
||||||
const Registries = require('point_of_sale.Registries');
|
const Registries = require("point_of_sale.Registries");
|
||||||
const session = require('web.session');
|
const session = require("web.session");
|
||||||
|
|
||||||
const PosPMSLinkPaymentScreen = (PaymentScreen) =>
|
const PosPMSLinkPaymentScreen = (PaymentScreen) =>
|
||||||
class extends PaymentScreen {
|
class extends PaymentScreen {
|
||||||
async selectReservation() {
|
async selectReservation() {
|
||||||
const { confirmed, payload: newReservation } = await this.showTempScreen(
|
const {confirmed, payload: newReservation} = await this.showTempScreen(
|
||||||
'ReservationListScreen',
|
"ReservationListScreen",
|
||||||
{ reservation: null }
|
{
|
||||||
|
reservation: null,
|
||||||
|
}
|
||||||
);
|
);
|
||||||
if (confirmed) {
|
if (confirmed) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
const { confirmed } = await this.showPopup('ConfirmPopup', {
|
const {confirmed} = await this.showPopup("ConfirmPopup", {
|
||||||
title: this.env._t('Pay order with reservation ?'),
|
title: this.env._t("Pay order with reservation ?"),
|
||||||
body: this.env._t(
|
body: this.env._t(
|
||||||
'This operation will add all the products in the order to the reservation. RESERVATION: ' + newReservation['name'] + ' PARTNER : ' + newReservation['partner_name'] + ' ROOM: ' + newReservation['rooms']
|
"This operation will add all the products in the order to the reservation. RESERVATION: " +
|
||||||
|
newReservation.name +
|
||||||
|
" PARTNER : " +
|
||||||
|
newReservation.partner_name +
|
||||||
|
" ROOM: " +
|
||||||
|
newReservation.rooms
|
||||||
),
|
),
|
||||||
});
|
});
|
||||||
if (confirmed) {
|
if (confirmed) {
|
||||||
var payment_method = {
|
var payment_method = {
|
||||||
'id': self.env.pos.config.pay_on_reservation_method_id[0],
|
id: self.env.pos.config.pay_on_reservation_method_id[0],
|
||||||
'name': self.env.pos.config.pay_on_reservation_method_id[1],
|
name: self.env.pos.config.pay_on_reservation_method_id[1],
|
||||||
'is_cash_count': false,
|
is_cash_count: false,
|
||||||
'pos_mercury_config_id': false,
|
pos_mercury_config_id: false,
|
||||||
'use_payment_terminal': false,
|
use_payment_terminal: false,
|
||||||
}
|
};
|
||||||
self.trigger('new-payment-line', payment_method);
|
self.trigger("new-payment-line", payment_method);
|
||||||
this.currentOrder.set_paid_on_reservation(true);
|
this.currentOrder.set_paid_on_reservation(true);
|
||||||
this.currentOrder.set_pms_reservation_id(newReservation['id']);
|
this.currentOrder.set_pms_reservation_id(newReservation.id);
|
||||||
self.validateOrder(false);
|
self.validateOrder(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
odoo.define('pos_pms_link.OrderReceipt', function (require) {
|
odoo.define("pos_pms_link.OrderReceipt", function (require) {
|
||||||
'use strict';
|
"use strict";
|
||||||
|
|
||||||
const OrderReceipt = require('point_of_sale.OrderReceipt');
|
const OrderReceipt = require("point_of_sale.OrderReceipt");
|
||||||
const Registries = require('point_of_sale.Registries');
|
const Registries = require("point_of_sale.Registries");
|
||||||
const session = require('web.session');
|
const session = require("web.session");
|
||||||
|
|
||||||
const PosPMSLinkOrderReceipt = (OrderReceipt) =>
|
const PosPMSLinkOrderReceipt = (OrderReceipt) =>
|
||||||
class extends OrderReceipt {
|
class extends OrderReceipt {
|
||||||
@@ -11,7 +11,11 @@ odoo.define('pos_pms_link.OrderReceipt', function (require) {
|
|||||||
return this.receiptEnv.receipt.paid_on_reservation;
|
return this.receiptEnv.receipt.paid_on_reservation;
|
||||||
}
|
}
|
||||||
get reservation_name() {
|
get reservation_name() {
|
||||||
return this.env.pos.db.get_reservation_by_id(this.receiptEnv.receipt.pms_reservation_id).partner_name || "";
|
return (
|
||||||
|
this.env.pos.db.get_reservation_by_id(
|
||||||
|
this.receiptEnv.receipt.pms_reservation_id
|
||||||
|
).partner_name || ""
|
||||||
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
odoo.define('pos_pms_link.ReservationDetailsEdit', function(require) {
|
odoo.define("pos_pms_link.ReservationDetailsEdit", function (require) {
|
||||||
'use strict';
|
"use strict";
|
||||||
|
|
||||||
const { _t } = require('web.core');
|
const {_t} = require("web.core");
|
||||||
const { getDataURLFromFile } = require('web.utils');
|
const {getDataURLFromFile} = require("web.utils");
|
||||||
const PosComponent = require('point_of_sale.PosComponent');
|
const PosComponent = require("point_of_sale.PosComponent");
|
||||||
const Registries = require('point_of_sale.Registries');
|
const Registries = require("point_of_sale.Registries");
|
||||||
|
|
||||||
class ReservationDetailsEdit extends PosComponent {
|
class ReservationDetailsEdit extends PosComponent {
|
||||||
constructor() {
|
constructor() {
|
||||||
@@ -12,10 +12,10 @@ odoo.define('pos_pms_link.ReservationDetailsEdit', function(require) {
|
|||||||
const reservation = this.props.reservation;
|
const reservation = this.props.reservation;
|
||||||
}
|
}
|
||||||
mounted() {
|
mounted() {
|
||||||
this.env.bus.on('save-reservation', this, this.saveChanges);
|
this.env.bus.on("save-reservation", this, this.saveChanges);
|
||||||
}
|
}
|
||||||
willUnmount() {
|
willUnmount() {
|
||||||
this.env.bus.off('save-reservation', this);
|
this.env.bus.off("save-reservation", this);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Save to field `changes` all input changes from the form fields.
|
* Save to field `changes` all input changes from the form fields.
|
||||||
@@ -24,25 +24,27 @@ odoo.define('pos_pms_link.ReservationDetailsEdit', function(require) {
|
|||||||
this.changes[event.target.name] = event.target.value;
|
this.changes[event.target.name] = event.target.value;
|
||||||
}
|
}
|
||||||
saveChanges() {
|
saveChanges() {
|
||||||
let processedChanges = {};
|
const processedChanges = {};
|
||||||
for (let [key, value] of Object.entries(this.changes)) {
|
for (const [key, value] of Object.entries(this.changes)) {
|
||||||
if (this.intFields.includes(key)) {
|
if (this.intFields.includes(key)) {
|
||||||
processedChanges[key] = parseInt(value) || false;
|
processedChanges[key] = parseInt(value) || false;
|
||||||
} else {
|
} else {
|
||||||
processedChanges[key] = value;
|
processedChanges[key] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((!this.props.reservation.name && !processedChanges.name) ||
|
if (
|
||||||
processedChanges.name === '' ){
|
(!this.props.reservation.name && !processedChanges.name) ||
|
||||||
return this.showPopup('ErrorPopup', {
|
processedChanges.name === ""
|
||||||
title: _t('A Customer Name Is Required'),
|
) {
|
||||||
|
return this.showPopup("ErrorPopup", {
|
||||||
|
title: _t("A Customer Name Is Required"),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
processedChanges.id = this.props.reservation.id || false;
|
processedChanges.id = this.props.reservation.id || false;
|
||||||
this.trigger('save-changes', { processedChanges });
|
this.trigger("save-changes", {processedChanges});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ReservationDetailsEdit.template = 'ReservationDetailsEdit';
|
ReservationDetailsEdit.template = "ReservationDetailsEdit";
|
||||||
|
|
||||||
Registries.Component.add(ReservationDetailsEdit);
|
Registries.Component.add(ReservationDetailsEdit);
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,17 @@
|
|||||||
odoo.define('pos_pms_link.ReservationLine', function(require) {
|
odoo.define("pos_pms_link.ReservationLine", function (require) {
|
||||||
'use strict';
|
"use strict";
|
||||||
|
|
||||||
const PosComponent = require('point_of_sale.PosComponent');
|
const PosComponent = require("point_of_sale.PosComponent");
|
||||||
const Registries = require('point_of_sale.Registries');
|
const Registries = require("point_of_sale.Registries");
|
||||||
|
|
||||||
class ReservationLine extends PosComponent {
|
class ReservationLine extends PosComponent {
|
||||||
get highlight() {
|
get highlight() {
|
||||||
return this.props.reservation !== this.props.selectedReservation ? '' : 'highlight';
|
return this.props.reservation !== this.props.selectedReservation
|
||||||
|
? ""
|
||||||
|
: "highlight";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ReservationLine.template = 'ReservationLine';
|
ReservationLine.template = "ReservationLine";
|
||||||
|
|
||||||
Registries.Component.add(ReservationLine);
|
Registries.Component.add(ReservationLine);
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
odoo.define('pos_pms_link.ReservationListScreen', function(require) {
|
odoo.define("pos_pms_link.ReservationListScreen", function (require) {
|
||||||
'use strict';
|
"use strict";
|
||||||
|
|
||||||
const { debounce } = owl.utils;
|
const {debounce} = owl.utils;
|
||||||
const PosComponent = require('point_of_sale.PosComponent');
|
const PosComponent = require("point_of_sale.PosComponent");
|
||||||
const Registries = require('point_of_sale.Registries');
|
const Registries = require("point_of_sale.Registries");
|
||||||
const { useListener } = require('web.custom_hooks');
|
const {useListener} = require("web.custom_hooks");
|
||||||
const { isRpcError } = require('point_of_sale.utils');
|
const {isRpcError} = require("point_of_sale.utils");
|
||||||
const { useAsyncLockedMethod } = require('point_of_sale.custom_hooks');
|
const {useAsyncLockedMethod} = require("point_of_sale.custom_hooks");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render this screen using `showTempScreen` to select client.
|
* Render this screen using `showTempScreen` to select client.
|
||||||
@@ -27,9 +27,9 @@ odoo.define('pos_pms_link.ReservationListScreen', function(require) {
|
|||||||
constructor() {
|
constructor() {
|
||||||
super(...arguments);
|
super(...arguments);
|
||||||
this.lockedSaveChanges = useAsyncLockedMethod(this.saveChanges);
|
this.lockedSaveChanges = useAsyncLockedMethod(this.saveChanges);
|
||||||
useListener('click-save', () => this.env.bus.trigger('save-customer'));
|
useListener("click-save", () => this.env.bus.trigger("save-customer"));
|
||||||
useListener('click-edit', () => this.editReservation());
|
useListener("click-edit", () => this.editReservation());
|
||||||
useListener('save-changes', this.lockedSaveChanges);
|
useListener("save-changes", this.lockedSaveChanges);
|
||||||
|
|
||||||
// We are not using useState here because the object
|
// We are not using useState here because the object
|
||||||
// passed to useState converts the object and its contents
|
// passed to useState converts the object and its contents
|
||||||
@@ -42,7 +42,7 @@ odoo.define('pos_pms_link.ReservationListScreen', function(require) {
|
|||||||
detailIsShown: false,
|
detailIsShown: false,
|
||||||
isEditMode: false,
|
isEditMode: false,
|
||||||
editModeProps: {
|
editModeProps: {
|
||||||
reservation: {}
|
reservation: {},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
this.updateReservationList = debounce(this.updateReservationList, 70);
|
this.updateReservationList = debounce(this.updateReservationList, 70);
|
||||||
@@ -50,17 +50,20 @@ odoo.define('pos_pms_link.ReservationListScreen', function(require) {
|
|||||||
|
|
||||||
// Lifecycle hooks
|
// Lifecycle hooks
|
||||||
back() {
|
back() {
|
||||||
if(this.state.detailIsShown) {
|
if (this.state.detailIsShown) {
|
||||||
this.state.detailIsShown = false;
|
this.state.detailIsShown = false;
|
||||||
this.render();
|
this.render();
|
||||||
} else {
|
} else {
|
||||||
this.props.resolve({ confirmed: false, payload: false });
|
this.props.resolve({confirmed: false, payload: false});
|
||||||
this.trigger('close-temp-screen');
|
this.trigger("close-temp-screen");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
confirm() {
|
confirm() {
|
||||||
this.props.resolve({ confirmed: true, payload: this.state.selectedReservation });
|
this.props.resolve({
|
||||||
this.trigger('close-temp-screen');
|
confirmed: true,
|
||||||
|
payload: this.state.selectedReservation,
|
||||||
|
});
|
||||||
|
this.trigger("close-temp-screen");
|
||||||
}
|
}
|
||||||
// Getters
|
// Getters
|
||||||
|
|
||||||
@@ -69,14 +72,13 @@ odoo.define('pos_pms_link.ReservationListScreen', function(require) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get reservations() {
|
get reservations() {
|
||||||
if (this.state.query && this.state.query.trim() !== '') {
|
if (this.state.query && this.state.query.trim() !== "") {
|
||||||
return this.env.pos.db.search_reservation(this.state.query.trim());
|
return this.env.pos.db.search_reservation(this.state.query.trim());
|
||||||
} else {
|
}
|
||||||
return this.env.pos.db.get_reservations_sorted(1000);
|
return this.env.pos.db.get_reservations_sorted(1000);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
get isNextButtonVisible() {
|
get isNextButtonVisible() {
|
||||||
return this.state.selectedReservation ? true : false;
|
return Boolean(this.state.selectedReservation);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Returns the text and command of the next button.
|
* Returns the text and command of the next button.
|
||||||
@@ -84,12 +86,14 @@ odoo.define('pos_pms_link.ReservationListScreen', function(require) {
|
|||||||
*/
|
*/
|
||||||
get nextButton() {
|
get nextButton() {
|
||||||
if (!this.props.reservation) {
|
if (!this.props.reservation) {
|
||||||
return { command: 'set', text: this.env._t('Set Reservation') };
|
return {command: "set", text: this.env._t("Set Reservation")};
|
||||||
} else if (this.props.reservation && this.props.reservation === this.state.selectedReservation) {
|
} else if (
|
||||||
return { command: 'deselect', text: this.env._t('Deselect Reservation') };
|
this.props.reservation &&
|
||||||
} else {
|
this.props.reservation === this.state.selectedReservation
|
||||||
return { command: 'set', text: this.env._t('Change Reservation') };
|
) {
|
||||||
|
return {command: "deselect", text: this.env._t("Deselect Reservation")};
|
||||||
}
|
}
|
||||||
|
return {command: "set", text: this.env._t("Change Reservation")};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Methods
|
// Methods
|
||||||
@@ -99,7 +103,7 @@ odoo.define('pos_pms_link.ReservationListScreen', function(require) {
|
|||||||
updateReservationList(event) {
|
updateReservationList(event) {
|
||||||
this.state.query = event.target.value;
|
this.state.query = event.target.value;
|
||||||
const reservations = this.reservations;
|
const reservations = this.reservations;
|
||||||
if (event.code === 'Enter' && reservations.length === 1) {
|
if (event.code === "Enter" && reservations.length === 1) {
|
||||||
this.state.selectedReservation = reservations[0];
|
this.state.selectedReservation = reservations[0];
|
||||||
this.clickNext();
|
this.clickNext();
|
||||||
} else {
|
} else {
|
||||||
@@ -107,7 +111,7 @@ odoo.define('pos_pms_link.ReservationListScreen', function(require) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
clickReservation(event) {
|
clickReservation(event) {
|
||||||
let reservation = event.detail.reservation;
|
const reservation = event.detail.reservation;
|
||||||
if (this.state.selectedReservation === reservation) {
|
if (this.state.selectedReservation === reservation) {
|
||||||
this.state.selectedCReservation = null;
|
this.state.selectedCReservation = null;
|
||||||
} else {
|
} else {
|
||||||
@@ -123,11 +127,14 @@ odoo.define('pos_pms_link.ReservationListScreen', function(require) {
|
|||||||
this.render();
|
this.render();
|
||||||
}
|
}
|
||||||
clickNext() {
|
clickNext() {
|
||||||
this.state.selectedReservation = this.nextButton.command === 'set' ? this.state.selectedReservation : null;
|
this.state.selectedReservation =
|
||||||
|
this.nextButton.command === "set"
|
||||||
|
? this.state.selectedReservation
|
||||||
|
: null;
|
||||||
this.confirm();
|
this.confirm();
|
||||||
}
|
}
|
||||||
activateEditMode(event) {
|
activateEditMode(event) {
|
||||||
const { isNewReservation } = event.detail;
|
const {isNewReservation} = event.detail;
|
||||||
this.state.isEditMode = true;
|
this.state.isEditMode = true;
|
||||||
this.state.detailIsShown = true;
|
this.state.detailIsShown = true;
|
||||||
this.state.isNewReservation = isNewReservation;
|
this.state.isNewReservation = isNewReservation;
|
||||||
@@ -149,7 +156,7 @@ odoo.define('pos_pms_link.ReservationListScreen', function(require) {
|
|||||||
this.deactivateEditMode();
|
this.deactivateEditMode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ReservationListScreen.template = 'ReservationListScreen';
|
ReservationListScreen.template = "ReservationListScreen";
|
||||||
|
|
||||||
Registries.Component.add(ReservationListScreen);
|
Registries.Component.add(ReservationListScreen);
|
||||||
|
|
||||||
|
|||||||
@@ -34,48 +34,61 @@ odoo.define("pos_pms_link.db", function (require) {
|
|||||||
this.reservation_search_string = "";
|
this.reservation_search_string = "";
|
||||||
this.reservation_id = null;
|
this.reservation_id = null;
|
||||||
},
|
},
|
||||||
get_reservation_by_id: function(id){
|
get_reservation_by_id: function (id) {
|
||||||
return this.reservation_by_id[id];
|
return this.reservation_by_id[id];
|
||||||
},
|
},
|
||||||
get_reservations_sorted: function(max_count){
|
get_reservations_sorted: function (max_count) {
|
||||||
max_count = max_count ? Math.min(this.reservation_sorted.length, max_count) : this.reservation_sorted.length;
|
max_count = max_count
|
||||||
|
? Math.min(this.reservation_sorted.length, max_count)
|
||||||
|
: this.reservation_sorted.length;
|
||||||
var reservations = [];
|
var reservations = [];
|
||||||
for (var i = 0; i < max_count; i++) {
|
for (var i = 0; i < max_count; i++) {
|
||||||
reservations.push(this.reservation_by_id[this.reservation_sorted[i]]);
|
reservations.push(this.reservation_by_id[this.reservation_sorted[i]]);
|
||||||
}
|
}
|
||||||
return reservations;
|
return reservations;
|
||||||
},
|
},
|
||||||
search_reservation: function(query){
|
search_reservation: function (query) {
|
||||||
try {
|
try {
|
||||||
query = query.replace(/[\[\]\(\)\+\*\?\.\-\!\&\^\$\|\~\_\{\}\:\,\\\/]/g,'.');
|
query = query.replace(
|
||||||
query = query.replace(/ /g,'.+');
|
/[\[\]\(\)\+\*\?\.\-\!\&\^\$\|\~\_\{\}\:\,\\\/]/g,
|
||||||
var re = RegExp("([0-9]+):.*?"+utils.unaccent(query),"gi");
|
"."
|
||||||
}catch(e){
|
);
|
||||||
|
query = query.replace(/ /g, ".+");
|
||||||
|
var re = RegExp("([0-9]+):.*?" + utils.unaccent(query), "gi");
|
||||||
|
} catch (e) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
var results = [];
|
var results = [];
|
||||||
for(var i = 0; i < this.limit; i++){
|
for (var i = 0; i < this.limit; i++) {
|
||||||
var r = re.exec(this.reservation_search_string);
|
var r = re.exec(this.reservation_search_string);
|
||||||
if(r){
|
if (r) {
|
||||||
var id = Number(r[1]);
|
var id = Number(r[1]);
|
||||||
results.push(this.get_reservation_by_id(id));
|
results.push(this.get_reservation_by_id(id));
|
||||||
}else{
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return results;
|
return results;
|
||||||
},
|
},
|
||||||
_reservation_search_string: function(reservation){
|
_reservation_search_string: function (reservation) {
|
||||||
var str = reservation.name || '';
|
var str = reservation.name || "";
|
||||||
var room_str = reservation.rooms || '';
|
var room_str = reservation.rooms || "";
|
||||||
var partner_str = reservation.partner_name || '';
|
var partner_str = reservation.partner_name || "";
|
||||||
str = '' + reservation.id + ':' + str.replace(':', '').replace(/\n/g, ' ') + ':' + room_str.replace(':', '').replace(/\n/g, ' ') + ':' + partner_str.replace(':', '').replace(/\n/g, ' ') + '\n';
|
str =
|
||||||
|
String(reservation.id) +
|
||||||
|
":" +
|
||||||
|
str.replace(":", "").replace(/\n/g, " ") +
|
||||||
|
":" +
|
||||||
|
room_str.replace(":", "").replace(/\n/g, " ") +
|
||||||
|
":" +
|
||||||
|
partner_str.replace(":", "").replace(/\n/g, " ") +
|
||||||
|
"\n";
|
||||||
return str;
|
return str;
|
||||||
},
|
},
|
||||||
add_reservations: function(reservations){
|
add_reservations: function (reservations) {
|
||||||
var updated_count = 0;
|
var updated_count = 0;
|
||||||
var reservation;
|
var reservation;
|
||||||
for(var i = 0, len = reservations.length; i < len; i++){
|
for (var i = 0, len = reservations.length; i < len; i++) {
|
||||||
reservation = reservations[i];
|
reservation = reservations[i];
|
||||||
|
|
||||||
if (!this.reservation_by_id[reservation.id]) {
|
if (!this.reservation_by_id[reservation.id]) {
|
||||||
@@ -93,13 +106,17 @@ odoo.define("pos_pms_link.db", function (require) {
|
|||||||
for (var id in this.reservation_by_id) {
|
for (var id in this.reservation_by_id) {
|
||||||
reservation = this.reservation_by_id[id];
|
reservation = this.reservation_by_id[id];
|
||||||
|
|
||||||
if(reservation.barcode){
|
if (reservation.barcode) {
|
||||||
this.reservation_by_barcode[reservation.barcode] = reservation;
|
this.reservation_by_barcode[reservation.barcode] = reservation;
|
||||||
}
|
}
|
||||||
this.reservation_search_string += this._reservation_search_string(reservation);
|
this.reservation_search_string += this._reservation_search_string(
|
||||||
|
reservation
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.reservation_search_string = utils.unaccent(this.reservation_search_string);
|
this.reservation_search_string = utils.unaccent(
|
||||||
|
this.reservation_search_string
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return updated_count;
|
return updated_count;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -20,130 +20,157 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
*/
|
*/
|
||||||
|
|
||||||
odoo.define('pos_pms_link.models', function (require) {
|
odoo.define("pos_pms_link.models", function (require) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var models = require('point_of_sale.models');
|
var models = require("point_of_sale.models");
|
||||||
var utils = require('web.utils');
|
var utils = require("web.utils");
|
||||||
var round_di = utils.round_decimals;
|
var round_di = utils.round_decimals;
|
||||||
var core = require('web.core');
|
var core = require("web.core");
|
||||||
const { Gui } = require('point_of_sale.Gui');
|
const {Gui} = require("point_of_sale.Gui");
|
||||||
var QWeb = core.qweb;
|
var QWeb = core.qweb;
|
||||||
const session = require('web.session');
|
const session = require("web.session");
|
||||||
|
|
||||||
var _t = core._t;
|
var _t = core._t;
|
||||||
|
|
||||||
var _super_order = models.Order.prototype;
|
var _super_order = models.Order.prototype;
|
||||||
|
|
||||||
models.Order = models.Order.extend({
|
models.Order = models.Order.extend({
|
||||||
initialize: function(attr, options) {
|
initialize: function (attr, options) {
|
||||||
_super_order.initialize.apply(this,arguments);
|
_super_order.initialize.apply(this, arguments);
|
||||||
this.paid_on_reservation = this.paid_on_reservation || null;
|
this.paid_on_reservation = this.paid_on_reservation || null;
|
||||||
this.pms_reservation_id = this.pms_reservation_id || null;
|
this.pms_reservation_id = this.pms_reservation_id || null;
|
||||||
},
|
},
|
||||||
|
|
||||||
get_paid_on_reservation: function() {
|
get_paid_on_reservation: function () {
|
||||||
var paid_on_reservation = this.paid_on_reservation;
|
var paid_on_reservation = this.paid_on_reservation;
|
||||||
return paid_on_reservation;
|
return paid_on_reservation;
|
||||||
},
|
},
|
||||||
|
|
||||||
set_paid_on_reservation: function(value) {
|
set_paid_on_reservation: function (value) {
|
||||||
this.paid_on_reservation = value;
|
this.paid_on_reservation = value;
|
||||||
this.trigger('change', this);
|
this.trigger("change", this);
|
||||||
},
|
},
|
||||||
|
|
||||||
get_pms_reservation_id: function() {
|
get_pms_reservation_id: function () {
|
||||||
var pms_reservation_id = this.pms_reservation_id;
|
var pms_reservation_id = this.pms_reservation_id;
|
||||||
return pms_reservation_id;
|
return pms_reservation_id;
|
||||||
},
|
},
|
||||||
|
|
||||||
set_pms_reservation_id: function(value) {
|
set_pms_reservation_id: function (value) {
|
||||||
this.pms_reservation_id = value;
|
this.pms_reservation_id = value;
|
||||||
this.trigger('change', this);
|
this.trigger("change", this);
|
||||||
},
|
},
|
||||||
|
|
||||||
export_as_JSON: function() {
|
export_as_JSON: function () {
|
||||||
var json = _super_order.export_as_JSON.apply(this,arguments);
|
var json = _super_order.export_as_JSON.apply(this, arguments);
|
||||||
json.paid_on_reservation = this.paid_on_reservation;
|
json.paid_on_reservation = this.paid_on_reservation;
|
||||||
json.pms_reservation_id = this.pms_reservation_id;
|
json.pms_reservation_id = this.pms_reservation_id;
|
||||||
return json;
|
return json;
|
||||||
},
|
},
|
||||||
|
|
||||||
init_from_JSON: function(json) {
|
init_from_JSON: function (json) {
|
||||||
_super_order.init_from_JSON.apply(this,arguments);
|
_super_order.init_from_JSON.apply(this, arguments);
|
||||||
this.paid_on_reservation = json.paid_on_reservation;
|
this.paid_on_reservation = json.paid_on_reservation;
|
||||||
this.pms_reservation_id = json.pms_reservation_id;
|
this.pms_reservation_id = json.pms_reservation_id;
|
||||||
},
|
},
|
||||||
|
|
||||||
apply_ms_data: function(data) {
|
apply_ms_data: function (data) {
|
||||||
if (typeof data.paid_on_reservation !== "undefined") {
|
if (typeof data.paid_on_reservation !== "undefined") {
|
||||||
this.set_paid_on_reservation(data.paid_on_reservation);
|
this.set_paid_on_reservation(data.paid_on_reservation);
|
||||||
}
|
}
|
||||||
if (typeof data.pms_reservation_id !== "undefined") {
|
if (typeof data.pms_reservation_id !== "undefined") {
|
||||||
this.set_pms_reservation_id(data.pms_reservation_id);
|
this.set_pms_reservation_id(data.pms_reservation_id);
|
||||||
}
|
}
|
||||||
this.trigger('change', this);
|
this.trigger("change", this);
|
||||||
},
|
},
|
||||||
|
|
||||||
add_reservation_services: function(reservation) {
|
add_reservation_services: function (reservation) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
var month = d.getMonth()+1;
|
var month = d.getMonth() + 1;
|
||||||
var day = d.getDate();
|
var day = d.getDate();
|
||||||
|
|
||||||
var current_date = d.getFullYear() + '-' +
|
var current_date =
|
||||||
(month<10 ? '0' : '') + month + '-' +
|
d.getFullYear() +
|
||||||
(day<10 ? '0' : '') + day;
|
"-" +
|
||||||
|
(month < 10 ? "0" : "") +
|
||||||
|
month +
|
||||||
|
"-" +
|
||||||
|
(day < 10 ? "0" : "") +
|
||||||
|
day;
|
||||||
|
|
||||||
var service_line_ids = reservation.service_ids.map(x => x.service_line_ids) || false;
|
var service_line_ids =
|
||||||
var today_service_lines = []
|
reservation.service_ids.map((x) => x.service_line_ids) || false;
|
||||||
_.each(service_line_ids, function(service_array){
|
var today_service_lines = [];
|
||||||
today_service_lines.push(service_array.find(x => x.date === current_date));
|
_.each(service_line_ids, function (service_array) {
|
||||||
|
today_service_lines.push(
|
||||||
|
service_array.find((x) => x.date === current_date)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
_.each(today_service_lines, function(service_line_id){
|
_.each(today_service_lines, function (service_line_id) {
|
||||||
if (service_line_id){
|
if (service_line_id) {
|
||||||
var qty = service_line_id.day_qty
|
var qty = service_line_id.day_qty;
|
||||||
if (service_line_id.pos_order_line_ids.length > 0) {
|
if (service_line_id.pos_order_line_ids.length > 0) {
|
||||||
_.each(service_line_id.pos_order_line_ids, function(order_line_id){
|
_.each(service_line_id.pos_order_line_ids, function (
|
||||||
|
order_line_id
|
||||||
|
) {
|
||||||
qty -= order_line_id.qty;
|
qty -= order_line_id.qty;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (qty > 0) {
|
if (qty > 0) {
|
||||||
var options = {
|
var options = {
|
||||||
'quantity': qty,
|
quantity: qty,
|
||||||
'pms_service_line_id': service_line_id.id,
|
pms_service_line_id: service_line_id.id,
|
||||||
'price': 0.0,
|
price: 0.0,
|
||||||
};
|
};
|
||||||
var service_product = self.pos.db.get_product_by_id(service_line_id.product_id[0]);
|
var service_product = self.pos.db.get_product_by_id(
|
||||||
|
service_line_id.product_id[0]
|
||||||
|
);
|
||||||
self.pos.get_order().add_product(service_product, options);
|
self.pos.get_order().add_product(service_product, options);
|
||||||
var last_line = self.pos.get_order().get_last_orderline();
|
var last_line = self.pos.get_order().get_last_orderline();
|
||||||
last_line.set_note("RESERVATION: " + reservation.name + " ROOMS: " + reservation.rooms);
|
last_line.set_note(
|
||||||
var r_service_line_id = reservation.service_ids.map(x => x.service_line_ids)[0].find(x=>x.id==service_line_id.id);
|
"RESERVATION: " +
|
||||||
|
reservation.name +
|
||||||
|
" ROOMS: " +
|
||||||
|
reservation.rooms
|
||||||
|
);
|
||||||
|
var r_service_line_id = reservation.service_ids
|
||||||
|
.map((x) => x.service_line_ids)[0]
|
||||||
|
.find((x) => x.id == service_line_id.id);
|
||||||
if (r_service_line_id.pos_order_line_ids.length == 0) {
|
if (r_service_line_id.pos_order_line_ids.length == 0) {
|
||||||
r_service_line_id.pos_order_line_ids.push({
|
r_service_line_id.pos_order_line_ids.push({
|
||||||
'id': 0,
|
id: 0,
|
||||||
'qty': parseInt(qty)
|
qty: parseInt(qty),
|
||||||
});
|
});
|
||||||
} else if (r_service_line_id.pos_order_line_ids.length == 1 && r_service_line_id.pos_order_line_ids[0].id == 0){
|
} else if (
|
||||||
|
r_service_line_id.pos_order_line_ids.length == 1 &&
|
||||||
|
r_service_line_id.pos_order_line_ids[0].id == 0
|
||||||
|
) {
|
||||||
r_service_line_id.pos_order_line_ids[0].qty = parseInt(qty);
|
r_service_line_id.pos_order_line_ids[0].qty = parseInt(qty);
|
||||||
} else if (r_service_line_id.pos_order_line_ids.length == 1 && r_service_line_id.pos_order_line_ids[0].id != 0){
|
} else if (
|
||||||
|
r_service_line_id.pos_order_line_ids.length == 1 &&
|
||||||
|
r_service_line_id.pos_order_line_ids[0].id != 0
|
||||||
|
) {
|
||||||
r_service_line_id.pos_order_line_ids.push({
|
r_service_line_id.pos_order_line_ids.push({
|
||||||
'id': 0,
|
id: 0,
|
||||||
'qty': parseInt(qty)
|
qty: parseInt(qty),
|
||||||
});
|
});
|
||||||
} else if (r_service_line_id.pos_order_line_ids.length > 1){
|
} else if (r_service_line_id.pos_order_line_ids.length > 1) {
|
||||||
var id_in_lines = false;
|
var id_in_lines = false;
|
||||||
_.each(r_service_line_id.pos_order_line_ids, function(pos_line_id){
|
_.each(r_service_line_id.pos_order_line_ids, function (
|
||||||
if(pos_line_id.id == self.id) {
|
pos_line_id
|
||||||
|
) {
|
||||||
|
if (pos_line_id.id == self.id) {
|
||||||
pos_line_id.qty = parseInt(qty);
|
pos_line_id.qty = parseInt(qty);
|
||||||
id_in_lines = true;
|
id_in_lines = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (id_in_lines == false) {
|
if (id_in_lines == false) {
|
||||||
r_service_line_id.pos_order_line_ids.push({
|
r_service_line_id.pos_order_line_ids.push({
|
||||||
'id': self.id,
|
id: self.id,
|
||||||
'qty': parseInt(qty)
|
qty: parseInt(qty),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -152,62 +179,62 @@ odoo.define('pos_pms_link.models', function (require) {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
add_product: function(product, options){
|
add_product: function (product, options) {
|
||||||
_super_order.add_product.apply(this,arguments);
|
_super_order.add_product.apply(this, arguments);
|
||||||
if (options.pms_service_line_id) {
|
if (options.pms_service_line_id) {
|
||||||
this.selected_orderline.set_pms_service_line_id(options.pms_service_line_id);
|
this.selected_orderline.set_pms_service_line_id(
|
||||||
|
options.pms_service_line_id
|
||||||
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
export_for_printing: function () {
|
export_for_printing: function () {
|
||||||
let result = _super_order.export_for_printing.apply(this, arguments);
|
const result = _super_order.export_for_printing.apply(this, arguments);
|
||||||
result.paid_on_reservation = this.paid_on_reservation;
|
result.paid_on_reservation = this.paid_on_reservation;
|
||||||
result.pms_reservation_id = this.pms_reservation_id;
|
result.pms_reservation_id = this.pms_reservation_id;
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
});
|
||||||
})
|
|
||||||
|
|
||||||
var _super_orderline = models.Orderline.prototype;
|
var _super_orderline = models.Orderline.prototype;
|
||||||
|
|
||||||
models.Orderline = models.Orderline.extend({
|
models.Orderline = models.Orderline.extend({
|
||||||
|
initialize: function (attr, options) {
|
||||||
initialize: function(attr, options) {
|
_super_orderline.initialize.call(this, attr, options);
|
||||||
_super_orderline.initialize.call(this,attr,options);
|
|
||||||
this.server_id = this.server_id || null;
|
this.server_id = this.server_id || null;
|
||||||
this.pms_service_line_id = this.pms_service_line_id || null;
|
this.pms_service_line_id = this.pms_service_line_id || null;
|
||||||
},
|
},
|
||||||
|
|
||||||
get_pms_service_line_id: function() {
|
get_pms_service_line_id: function () {
|
||||||
var pms_service_line_id = this.pms_service_line_id;
|
var pms_service_line_id = this.pms_service_line_id;
|
||||||
return pms_service_line_id;
|
return pms_service_line_id;
|
||||||
},
|
},
|
||||||
|
|
||||||
set_pms_service_line_id: function(value) {
|
set_pms_service_line_id: function (value) {
|
||||||
this.pms_service_line_id = value;
|
this.pms_service_line_id = value;
|
||||||
this.trigger('change', this);
|
this.trigger("change", this);
|
||||||
},
|
},
|
||||||
|
|
||||||
export_as_JSON: function() {
|
export_as_JSON: function () {
|
||||||
var json = _super_orderline.export_as_JSON.apply(this,arguments);
|
var json = _super_orderline.export_as_JSON.apply(this, arguments);
|
||||||
json.pms_service_line_id = this.pms_service_line_id;
|
json.pms_service_line_id = this.pms_service_line_id;
|
||||||
return json;
|
return json;
|
||||||
},
|
},
|
||||||
|
|
||||||
init_from_JSON: function(json) {
|
init_from_JSON: function (json) {
|
||||||
_super_orderline.init_from_JSON.apply(this,arguments);
|
_super_orderline.init_from_JSON.apply(this, arguments);
|
||||||
this.pms_service_line_id = json.pms_service_line_id;
|
this.pms_service_line_id = json.pms_service_line_id;
|
||||||
this.server_id = json.server_id;
|
this.server_id = json.server_id;
|
||||||
},
|
},
|
||||||
|
|
||||||
apply_ms_data: function(data) {
|
apply_ms_data: function (data) {
|
||||||
if (typeof data.pms_service_line_id !== "undefined") {
|
if (typeof data.pms_service_line_id !== "undefined") {
|
||||||
this.set_pms_service_line_id(data.pms_service_line_id);
|
this.set_pms_service_line_id(data.pms_service_line_id);
|
||||||
}
|
}
|
||||||
this.trigger('change', this);
|
this.trigger("change", this);
|
||||||
},
|
},
|
||||||
|
|
||||||
set_quantity: function(quantity, keep_price) {
|
set_quantity: function (quantity, keep_price) {
|
||||||
_super_orderline.set_quantity.apply(this, arguments);
|
_super_orderline.set_quantity.apply(this, arguments);
|
||||||
var is_real_qty = true;
|
var is_real_qty = true;
|
||||||
if (!quantity || quantity == "remove") {
|
if (!quantity || quantity == "remove") {
|
||||||
@@ -215,123 +242,167 @@ odoo.define('pos_pms_link.models', function (require) {
|
|||||||
}
|
}
|
||||||
var self = this;
|
var self = this;
|
||||||
if (self.pms_service_line_id) {
|
if (self.pms_service_line_id) {
|
||||||
this.pos.reservations.map(function(x) {
|
this.pos.reservations.map(function (x) {
|
||||||
_.each(x.service_ids, function(service){
|
_.each(x.service_ids, function (service) {
|
||||||
_.each(service.service_line_ids, function(line){
|
_.each(service.service_line_ids, function (line) {
|
||||||
if (line.id == self.pms_service_line_id) {
|
if (line.id == self.pms_service_line_id) {
|
||||||
if (line.pos_order_line_ids.length == 0 && is_real_qty) {
|
if (
|
||||||
|
line.pos_order_line_ids.length == 0 &&
|
||||||
|
is_real_qty
|
||||||
|
) {
|
||||||
line.pos_order_line_ids.push({
|
line.pos_order_line_ids.push({
|
||||||
'id': self.server_id || 0,
|
id: self.server_id || 0,
|
||||||
'qty': parseInt(quantity)
|
qty: parseInt(quantity),
|
||||||
});
|
});
|
||||||
} else if (line.pos_order_line_ids.length == 1 && line.pos_order_line_ids[0].id == self.server_id){
|
} else if (
|
||||||
|
line.pos_order_line_ids.length == 1 &&
|
||||||
|
line.pos_order_line_ids[0].id == self.server_id
|
||||||
|
) {
|
||||||
if (is_real_qty) {
|
if (is_real_qty) {
|
||||||
line.pos_order_line_ids[0].qty = parseInt(quantity);
|
line.pos_order_line_ids[0].qty = parseInt(
|
||||||
|
quantity
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
line.pos_order_line_ids.pop(line.pos_order_line_ids[0]);
|
line.pos_order_line_ids.pop(
|
||||||
|
line.pos_order_line_ids[0]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
} else if (line.pos_order_line_ids.length == 1 && line.pos_order_line_ids[0].id != self.server_id && is_real_qty){
|
} else if (
|
||||||
|
line.pos_order_line_ids.length == 1 &&
|
||||||
|
line.pos_order_line_ids[0].id != self.server_id &&
|
||||||
|
is_real_qty
|
||||||
|
) {
|
||||||
line.pos_order_line_ids.push({
|
line.pos_order_line_ids.push({
|
||||||
'id': self.server_id || 0,
|
id: self.server_id || 0,
|
||||||
'qty': parseInt(quantity)
|
qty: parseInt(quantity),
|
||||||
});
|
});
|
||||||
} else if (line.pos_order_line_ids.length > 1){
|
} else if (line.pos_order_line_ids.length > 1) {
|
||||||
var id_in_lines = false;
|
var id_in_lines = false;
|
||||||
_.each(line.pos_order_line_ids, function(pos_line_id){
|
_.each(line.pos_order_line_ids, function (
|
||||||
if(pos_line_id.id == self.server_id) {
|
pos_line_id
|
||||||
|
) {
|
||||||
|
if (pos_line_id.id == self.server_id) {
|
||||||
if (is_real_qty) {
|
if (is_real_qty) {
|
||||||
pos_line_id.qty = parseInt(quantity);
|
pos_line_id.qty = parseInt(quantity);
|
||||||
} else {
|
} else {
|
||||||
line.pos_order_line_ids.pop(pos_line_id);
|
line.pos_order_line_ids.pop(
|
||||||
|
pos_line_id
|
||||||
|
);
|
||||||
}
|
}
|
||||||
id_in_lines = true;
|
id_in_lines = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
_.each(line.pos_order_line_ids, function(pos_line_id){
|
_.each(line.pos_order_line_ids, function (
|
||||||
if(pos_line_id.id == 0) {
|
pos_line_id
|
||||||
|
) {
|
||||||
|
if (pos_line_id.id == 0) {
|
||||||
if (is_real_qty) {
|
if (is_real_qty) {
|
||||||
pos_line_id.qty = parseInt(quantity);
|
pos_line_id.qty = parseInt(quantity);
|
||||||
} else {
|
} else {
|
||||||
line.pos_order_line_ids.pop(pos_line_id);
|
line.pos_order_line_ids.pop(
|
||||||
|
pos_line_id
|
||||||
|
);
|
||||||
}
|
}
|
||||||
id_in_lines = true;
|
id_in_lines = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (id_in_lines == false && is_real_qty) {
|
if (id_in_lines == false && is_real_qty) {
|
||||||
line.pos_order_line_ids.push({
|
line.pos_order_line_ids.push({
|
||||||
'id': self.server_id || 0,
|
id: self.server_id || 0,
|
||||||
'qty': parseInt(quantity)
|
qty: parseInt(quantity),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var _super_posmodel = models.PosModel.prototype;
|
var _super_posmodel = models.PosModel.prototype;
|
||||||
|
|
||||||
models.PosModel = models.PosModel.extend({
|
models.PosModel = models.PosModel.extend({
|
||||||
initialize: function(attr, options) {
|
initialize: function (attr, options) {
|
||||||
_super_posmodel.initialize.apply(this,arguments);
|
_super_posmodel.initialize.apply(this, arguments);
|
||||||
this.reservations = [];
|
this.reservations = [];
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
models.load_models({
|
models.load_models({
|
||||||
model: 'pms.reservation',
|
model: "pms.reservation",
|
||||||
fields: ['name', 'id', 'state', 'service_ids', 'partner_name', 'adults', 'children', 'checkin', 'checkout', 'folio_internal_comment', 'rooms'],
|
fields: [
|
||||||
context: function(self){
|
"name",
|
||||||
var ctx_copy = session.user_context
|
"id",
|
||||||
ctx_copy['pos_user_force'] = true;
|
"state",
|
||||||
|
"service_ids",
|
||||||
|
"partner_name",
|
||||||
|
"adults",
|
||||||
|
"children",
|
||||||
|
"checkin",
|
||||||
|
"checkout",
|
||||||
|
"folio_internal_comment",
|
||||||
|
"rooms",
|
||||||
|
],
|
||||||
|
context: function (self) {
|
||||||
|
var ctx_copy = session.user_context;
|
||||||
|
ctx_copy.pos_user_force = true;
|
||||||
return ctx_copy;
|
return ctx_copy;
|
||||||
},
|
},
|
||||||
domain: function(self){
|
domain: function (self) {
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
var month = d.getMonth()+1;
|
var month = d.getMonth() + 1;
|
||||||
var day = d.getDate();
|
var day = d.getDate();
|
||||||
|
|
||||||
var current_date = d.getFullYear() + '-' +
|
var current_date =
|
||||||
(month<10 ? '0' : '') + month + '-' +
|
d.getFullYear() +
|
||||||
(day<10 ? '0' : '') + day;
|
"-" +
|
||||||
|
(month < 10 ? "0" : "") +
|
||||||
|
month +
|
||||||
|
"-" +
|
||||||
|
(day < 10 ? "0" : "") +
|
||||||
|
day;
|
||||||
|
|
||||||
var domain = [
|
var domain = [
|
||||||
'|', ['state', '=', 'onboard'],
|
"|",
|
||||||
'&', ['checkout', '=', current_date],
|
["state", "=", "onboard"],
|
||||||
['state', '!=', 'cancel']
|
"&",
|
||||||
|
["checkout", "=", current_date],
|
||||||
|
["state", "!=", "cancel"],
|
||||||
];
|
];
|
||||||
if (self.config_id && self.config.reservation_allowed_propertie_ids) domain.push(['pms_property_id', 'in', self.config.reservation_allowed_propertie_ids]);
|
if (self.config_id && self.config.reservation_allowed_propertie_ids)
|
||||||
|
domain.push([
|
||||||
|
"pms_property_id",
|
||||||
|
"in",
|
||||||
|
self.config.reservation_allowed_propertie_ids,
|
||||||
|
]);
|
||||||
return domain;
|
return domain;
|
||||||
},
|
},
|
||||||
loaded: function(self, reservations) {
|
loaded: function (self, reservations) {
|
||||||
self.reservations = reservations;
|
self.reservations = reservations;
|
||||||
self.db.add_reservations(reservations);
|
self.db.add_reservations(reservations);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
models.load_models({
|
models.load_models({
|
||||||
model: 'pms.service',
|
model: "pms.service",
|
||||||
fields: ['name', 'id', 'service_line_ids', 'product_id', 'reservation_id'],
|
fields: ["name", "id", "service_line_ids", "product_id", "reservation_id"],
|
||||||
context: function(self){
|
context: function (self) {
|
||||||
var ctx_copy = session.user_context
|
var ctx_copy = session.user_context;
|
||||||
ctx_copy['pos_user_force'] = true;
|
ctx_copy.pos_user_force = true;
|
||||||
return ctx_copy;
|
return ctx_copy;
|
||||||
},
|
},
|
||||||
domain: function(self){
|
domain: function (self) {
|
||||||
return [['reservation_id', 'in', self.reservations.map(x => x.id)]];
|
return [["reservation_id", "in", self.reservations.map((x) => x.id)]];
|
||||||
},
|
},
|
||||||
loaded: function (self, services){
|
loaded: function (self, services) {
|
||||||
self.services = services;
|
self.services = services;
|
||||||
var services = []
|
var services = [];
|
||||||
_.each(self.reservations, function(reservation){
|
_.each(self.reservations, function (reservation) {
|
||||||
services = [];
|
services = [];
|
||||||
_.each(reservation.service_ids, function(service_id){
|
_.each(reservation.service_ids, function (service_id) {
|
||||||
services.push(self.services.find(x => x.id === service_id));
|
services.push(self.services.find((x) => x.id === service_id));
|
||||||
});
|
});
|
||||||
reservation.service_ids = services;
|
reservation.service_ids = services;
|
||||||
});
|
});
|
||||||
@@ -339,24 +410,33 @@ odoo.define('pos_pms_link.models', function (require) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
models.load_models({
|
models.load_models({
|
||||||
model: 'pms.service.line',
|
model: "pms.service.line",
|
||||||
fields: ['date', 'service_id', 'id', 'product_id', 'day_qty', 'pos_order_line_ids'],
|
fields: [
|
||||||
context: function(self){
|
"date",
|
||||||
var ctx_copy = session.user_context
|
"service_id",
|
||||||
ctx_copy['pos_user_force'] = true;
|
"id",
|
||||||
|
"product_id",
|
||||||
|
"day_qty",
|
||||||
|
"pos_order_line_ids",
|
||||||
|
],
|
||||||
|
context: function (self) {
|
||||||
|
var ctx_copy = session.user_context;
|
||||||
|
ctx_copy.pos_user_force = true;
|
||||||
return ctx_copy;
|
return ctx_copy;
|
||||||
},
|
},
|
||||||
domain: function(self){
|
domain: function (self) {
|
||||||
return [['service_id', 'in', self.services.map(x => x.id)]];
|
return [["service_id", "in", self.services.map((x) => x.id)]];
|
||||||
},
|
},
|
||||||
loaded: function (self, service_lines){
|
loaded: function (self, service_lines) {
|
||||||
self.service_lines = service_lines;
|
self.service_lines = service_lines;
|
||||||
var service_lines = []
|
var service_lines = [];
|
||||||
_.each(self.reservations, function(reservation){
|
_.each(self.reservations, function (reservation) {
|
||||||
_.each(reservation.service_ids, function(service_id){
|
_.each(reservation.service_ids, function (service_id) {
|
||||||
service_lines = [];
|
service_lines = [];
|
||||||
_.each(service_id.service_line_ids, function(line_id){
|
_.each(service_id.service_line_ids, function (line_id) {
|
||||||
service_lines.push(self.service_lines.find(x => x.id === line_id));
|
service_lines.push(
|
||||||
|
self.service_lines.find((x) => x.id === line_id)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
service_id.service_line_ids = service_lines;
|
service_id.service_line_ids = service_lines;
|
||||||
});
|
});
|
||||||
@@ -365,25 +445,27 @@ odoo.define('pos_pms_link.models', function (require) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
models.load_models({
|
models.load_models({
|
||||||
model: 'pos.order.line',
|
model: "pos.order.line",
|
||||||
fields: ['qty', 'id'],
|
fields: ["qty", "id"],
|
||||||
domain: function(self){
|
domain: function (self) {
|
||||||
var order_line_ids = [];
|
var order_line_ids = [];
|
||||||
_.each(self.service_lines, function(service_line) {
|
_.each(self.service_lines, function (service_line) {
|
||||||
if(service_line.pos_order_line_ids.length > 0) {
|
if (service_line.pos_order_line_ids.length > 0) {
|
||||||
_.each(service_line.pos_order_line_ids, function(line_id) {
|
_.each(service_line.pos_order_line_ids, function (line_id) {
|
||||||
order_line_ids.push(line_id);
|
order_line_ids.push(line_id);
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return [['id', 'in', order_line_ids]];
|
return [["id", "in", order_line_ids]];
|
||||||
},
|
},
|
||||||
loaded: function (self, pos_order_lines){
|
loaded: function (self, pos_order_lines) {
|
||||||
self.pos_order_lines = pos_order_lines;
|
self.pos_order_lines = pos_order_lines;
|
||||||
_.each(self.service_lines, function(service_line){
|
_.each(self.service_lines, function (service_line) {
|
||||||
var order_lines = []
|
var order_lines = [];
|
||||||
_.each(service_line.pos_order_line_ids, function(order_line){
|
_.each(service_line.pos_order_line_ids, function (order_line) {
|
||||||
order_lines.push(self.pos_order_lines.find(x => x.id === order_line));
|
order_lines.push(
|
||||||
|
self.pos_order_lines.find((x) => x.id === order_line)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
service_line.pos_order_line_ids = order_lines;
|
service_line.pos_order_line_ids = order_lines;
|
||||||
});
|
});
|
||||||
@@ -405,5 +487,4 @@ odoo.define('pos_pms_link.models', function (require) {
|
|||||||
};
|
};
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<templates id="template" xml:space="preserve">
|
<templates id="template" xml:space="preserve">
|
||||||
|
|
||||||
<t t-name="ReservationSelectionButton" owl="1">
|
<t t-name="ReservationSelectionButton" owl="1">
|
||||||
|
|||||||
@@ -1,10 +1,19 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<templates id="template" xml:space="preserve">
|
<templates id="template" xml:space="preserve">
|
||||||
|
|
||||||
<t t-name="pos_pms_link.PaymentScreen" t-inherit="point_of_sale.PaymentScreen" t-inherit-mode="extension" owl="1">
|
<t
|
||||||
|
t-name="pos_pms_link.PaymentScreen"
|
||||||
|
t-inherit="point_of_sale.PaymentScreen"
|
||||||
|
t-inherit-mode="extension"
|
||||||
|
owl="1"
|
||||||
|
>
|
||||||
<xpath expr="//div[hasclass('paymentmethods')]" position="inside">
|
<xpath expr="//div[hasclass('paymentmethods')]" position="inside">
|
||||||
<div class="button paymentmethod">
|
<div class="button paymentmethod">
|
||||||
<div class="payment-name" t-if="env.pos.config.pay_on_reservation and currentOrder.paymentlines.length == 0" t-on-click="selectReservation">Reservation</div>
|
<div
|
||||||
|
class="payment-name"
|
||||||
|
t-if="env.pos.config.pay_on_reservation and currentOrder.paymentlines.length == 0"
|
||||||
|
t-on-click="selectReservation"
|
||||||
|
>Reservation</div>
|
||||||
</div>
|
</div>
|
||||||
</xpath>
|
</xpath>
|
||||||
</t>
|
</t>
|
||||||
|
|||||||
@@ -1,13 +1,18 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<templates id="template" xml:space="preserve">
|
<templates id="template" xml:space="preserve">
|
||||||
|
|
||||||
<t t-name="OrderReceipt" t-inherit="point_of_sale.OrderReceipt" t-inherit-mode="extension" owl="1">
|
<t
|
||||||
|
t-name="OrderReceipt"
|
||||||
|
t-inherit="point_of_sale.OrderReceipt"
|
||||||
|
t-inherit-mode="extension"
|
||||||
|
owl="1"
|
||||||
|
>
|
||||||
<xpath expr="//div[hasclass('before-footer')]" position="before">
|
<xpath expr="//div[hasclass('before-footer')]" position="before">
|
||||||
<t t-if="paid_on_reservation">
|
<t t-if="paid_on_reservation">
|
||||||
<br/><br/>
|
<br /><br />
|
||||||
<div>
|
<div>
|
||||||
Signature: <br/><br/>
|
Signature: <br /><br />
|
||||||
<span t-esc="reservation_name" style="font-size: 100%;"/><br/>
|
<span t-esc="reservation_name" style="font-size: 100%;" /><br />
|
||||||
-------------------
|
-------------------
|
||||||
</div>
|
</div>
|
||||||
</t>
|
</t>
|
||||||
|
|||||||
@@ -1,17 +1,35 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<templates id="template" xml:space="preserve">
|
<templates id="template" xml:space="preserve">
|
||||||
|
|
||||||
<t t-name="ReservationDetailsEdit" owl="1">
|
<t t-name="ReservationDetailsEdit" owl="1">
|
||||||
<section class="client-details edit">
|
<section class="client-details edit">
|
||||||
<h3 class="detail client-name" t-esc="props.reservation.name"/>
|
<h3 class="detail client-name" t-esc="props.reservation.name" />
|
||||||
<div class="client-details-box clearfix">
|
<div class="client-details-box clearfix">
|
||||||
<div class="client-details-row">
|
<div class="client-details-row">
|
||||||
Name: <span class="detail client-partner-name" t-esc="props.reservation.partner_name"/><br/>
|
Name: <span
|
||||||
Checkin: <span class="detail client-aduls" t-esc="props.reservation.checkin"/><br/>
|
class="detail client-partner-name"
|
||||||
Checkout: <span class="detail client-aduls" t-esc="props.reservation.checkout"/><br/>
|
t-esc="props.reservation.partner_name"
|
||||||
Adults: <span class="detail client-aduls" t-esc="props.reservation.adults"/><br/>
|
/><br />
|
||||||
Children: <span class="detail client-children" t-esc="props.reservation.children"/><br/>
|
Checkin: <span
|
||||||
Internal comment: <span class="detail client-aduls" t-esc="props.reservation.folio_internal_comment"/><br/>
|
class="detail client-aduls"
|
||||||
|
t-esc="props.reservation.checkin"
|
||||||
|
/><br />
|
||||||
|
Checkout: <span
|
||||||
|
class="detail client-aduls"
|
||||||
|
t-esc="props.reservation.checkout"
|
||||||
|
/><br />
|
||||||
|
Adults: <span
|
||||||
|
class="detail client-aduls"
|
||||||
|
t-esc="props.reservation.adults"
|
||||||
|
/><br />
|
||||||
|
Children: <span
|
||||||
|
class="detail client-children"
|
||||||
|
t-esc="props.reservation.children"
|
||||||
|
/><br />
|
||||||
|
Internal comment: <span
|
||||||
|
class="detail client-aduls"
|
||||||
|
t-esc="props.reservation.folio_internal_comment"
|
||||||
|
/><br />
|
||||||
</div>
|
</div>
|
||||||
<h3 class="detail client-name">Services:</h3>
|
<h3 class="detail client-name">Services:</h3>
|
||||||
<div class="client-details-row">
|
<div class="client-details-row">
|
||||||
@@ -23,14 +41,28 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<t t-foreach="props.reservation.service_ids" t-as="service" t-key="service.id">
|
<t
|
||||||
|
t-foreach="props.reservation.service_ids"
|
||||||
|
t-as="service"
|
||||||
|
t-key="service.id"
|
||||||
|
>
|
||||||
<tr>
|
<tr>
|
||||||
<td t-esc="service_value['name']"/>
|
<td t-esc="service_value['name']" />
|
||||||
<td>
|
<td>
|
||||||
<ul>
|
<ul>
|
||||||
<t t-foreach="service_value['service_line_ids']" t-as="line_service" t-key="line_service.id">
|
<t
|
||||||
|
t-foreach="service_value['service_line_ids']"
|
||||||
|
t-as="line_service"
|
||||||
|
t-key="line_service.id"
|
||||||
|
>
|
||||||
<li>
|
<li>
|
||||||
<span t-esc="line_service_value['date']"/> - <span t-esc="line_service_value['product_id'][1]"/> - <span t-esc="line_service_value['day_qty']"/>
|
<span
|
||||||
|
t-esc="line_service_value['date']"
|
||||||
|
/> - <span
|
||||||
|
t-esc="line_service_value['product_id'][1]"
|
||||||
|
/> - <span
|
||||||
|
t-esc="line_service_value['day_qty']"
|
||||||
|
/>
|
||||||
</li>
|
</li>
|
||||||
</t>
|
</t>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -1,13 +1,19 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<templates id="template" xml:space="preserve">
|
<templates id="template" xml:space="preserve">
|
||||||
|
|
||||||
<t t-name="ReservationLine" owl="1">
|
<t t-name="ReservationLine" owl="1">
|
||||||
<tr t-attf-class="client-line {{highlight}}" t-att-data-id="props.reservation.id"
|
<tr
|
||||||
t-on-click="trigger('click-reservation', {reservation: props.reservation})">
|
t-attf-class="client-line {{highlight}}"
|
||||||
|
t-att-data-id="props.reservation.id"
|
||||||
|
t-on-click="trigger('click-reservation', {reservation: props.reservation})"
|
||||||
|
>
|
||||||
<td>
|
<td>
|
||||||
<t t-esc="props.reservation.name" />
|
<t t-esc="props.reservation.name" />
|
||||||
<span t-if="highlight">
|
<span t-if="highlight">
|
||||||
<br/><button class="edit-client-button" t-on-click.stop="trigger('click-edit')">VIEW</button>
|
<br /><button
|
||||||
|
class="edit-client-button"
|
||||||
|
t-on-click.stop="trigger('click-edit')"
|
||||||
|
>VIEW</button>
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
@@ -1,43 +1,71 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<templates id="template" xml:space="preserve">
|
<templates id="template" xml:space="preserve">
|
||||||
|
|
||||||
<t t-name="ReservationListScreen" owl="1">
|
<t t-name="ReservationListScreen" owl="1">
|
||||||
<div class="clientlist-screen screen" t-on-activate-edit-mode="activateEditMode">
|
<div
|
||||||
|
class="clientlist-screen screen"
|
||||||
|
t-on-activate-edit-mode="activateEditMode"
|
||||||
|
>
|
||||||
<div class="screen-content">
|
<div class="screen-content">
|
||||||
<div class="top-content">
|
<div class="top-content">
|
||||||
<div t-if="isNextButtonVisible" t-on-click="clickNext"
|
<div
|
||||||
class="button next highlight">
|
t-if="isNextButtonVisible"
|
||||||
|
t-on-click="clickNext"
|
||||||
|
class="button next highlight"
|
||||||
|
>
|
||||||
<t t-if="!env.isMobile">
|
<t t-if="!env.isMobile">
|
||||||
<t t-esc="nextButton.text" />
|
<t t-esc="nextButton.text" />
|
||||||
</t>
|
</t>
|
||||||
<t t-else="">
|
<t t-else="">
|
||||||
<i t-if="nextButton.command === 'deselect'" class="fa fa-trash"></i>
|
<i
|
||||||
<i t-if="nextButton.command === 'set'" class="fa fa-check"></i>
|
t-if="nextButton.command === 'deselect'"
|
||||||
|
class="fa fa-trash"
|
||||||
|
/>
|
||||||
|
<i
|
||||||
|
t-if="nextButton.command === 'set'"
|
||||||
|
class="fa fa-check"
|
||||||
|
/>
|
||||||
</t>
|
</t>
|
||||||
</div>
|
</div>
|
||||||
<div class="button back" t-on-click="back">
|
<div class="button back" t-on-click="back">
|
||||||
<t t-if="!env.isMobile">Discard</t>
|
<t t-if="!env.isMobile">Discard</t>
|
||||||
<t t-else="">
|
<t t-else="">
|
||||||
<i class="fa fa-undo"></i>
|
<i class="fa fa-undo" />
|
||||||
</t>
|
</t>
|
||||||
</div>
|
</div>
|
||||||
<div t-if="!state.detailIsShown" class="searchbox-client top-content-center">
|
<div
|
||||||
<input placeholder="Search Reservations" size="1" t-on-keyup="updateReservationList" />
|
t-if="!state.detailIsShown"
|
||||||
<span class="search-clear-client"></span>
|
class="searchbox-client top-content-center"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
placeholder="Search Reservations"
|
||||||
|
size="1"
|
||||||
|
t-on-keyup="updateReservationList"
|
||||||
|
/>
|
||||||
|
<span class="search-clear-client" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<section class="full-content">
|
<section class="full-content">
|
||||||
<div class="client-window">
|
<div class="client-window">
|
||||||
<section class="subwindow collapsed">
|
<section class="subwindow collapsed">
|
||||||
<div class="subwindow-container collapsed">
|
<div class="subwindow-container collapsed">
|
||||||
<div t-if="state.detailIsShown" class="client-details-contents subwindow-container-fix">
|
<div
|
||||||
<ReservationDetailsEdit t-props="state.editModeProps" t-on-cancel-edit="cancelEdit"/>
|
t-if="state.detailIsShown"
|
||||||
|
class="client-details-contents subwindow-container-fix"
|
||||||
|
>
|
||||||
|
<ReservationDetailsEdit
|
||||||
|
t-props="state.editModeProps"
|
||||||
|
t-on-cancel-edit="cancelEdit"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section class="subwindow list">
|
<section class="subwindow list">
|
||||||
<div class="subwindow-container">
|
<div class="subwindow-container">
|
||||||
<div t-if="!state.detailIsShown" class="subwindow-container-fix scrollable-y">
|
<div
|
||||||
|
t-if="!state.detailIsShown"
|
||||||
|
class="subwindow-container-fix scrollable-y"
|
||||||
|
>
|
||||||
<table class="client-list">
|
<table class="client-list">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -51,12 +79,17 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="client-list-contents">
|
<tbody class="client-list-contents">
|
||||||
<t t-foreach="reservations" t-as="reservation"
|
<t
|
||||||
t-key="reservation.id">
|
t-foreach="reservations"
|
||||||
<ReservationLine reservation="reservation"
|
t-as="reservation"
|
||||||
|
t-key="reservation.id"
|
||||||
|
>
|
||||||
|
<ReservationLine
|
||||||
|
reservation="reservation"
|
||||||
selectedReservation="state.selectedReservation"
|
selectedReservation="state.selectedReservation"
|
||||||
detailIsShown="state.detailIsShown"
|
detailIsShown="state.detailIsShown"
|
||||||
t-on-click-reservation="clickReservation" />
|
t-on-click-reservation="clickReservation"
|
||||||
|
/>
|
||||||
</t>
|
</t>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -1,16 +1,34 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
|
|
||||||
<template id="assets" name="pos_pms_link assets" inherit_id="point_of_sale.assets">
|
<template id="assets" name="pos_pms_link assets" inherit_id="point_of_sale.assets">
|
||||||
<xpath expr="." position="inside">
|
<xpath expr="." position="inside">
|
||||||
<script type="text/javascript" src="/pos_pms_link/static/src/js/db.js"></script>
|
<script type="text/javascript" src="/pos_pms_link/static/src/js/db.js" />
|
||||||
<script type="text/javascript" src="/pos_pms_link/static/src/js/models.js"></script>
|
<script type="text/javascript" src="/pos_pms_link/static/src/js/models.js" />
|
||||||
<script type="text/javascript" src="/pos_pms_link/static/src/js/ReservationSelectionButton.js"></script>
|
<script
|
||||||
<script type="text/javascript" src="/pos_pms_link/static/src/js/Screens/ReservationListScreen/ReservationDetailsEdit.js"></script>
|
type="text/javascript"
|
||||||
<script type="text/javascript" src="/pos_pms_link/static/src/js/Screens/ReservationListScreen/ReservationLine.js"></script>
|
src="/pos_pms_link/static/src/js/ReservationSelectionButton.js"
|
||||||
<script type="text/javascript" src="/pos_pms_link/static/src/js/Screens/ReservationListScreen/ReservationListScreen.js"></script>
|
/>
|
||||||
<script type="text/javascript" src="/pos_pms_link/static/src/js/Screens/PaymentScreen/PaymentScreen.js"></script>
|
<script
|
||||||
<script type="text/javascript" src="/pos_pms_link/static/src/js/Screens/ReceiptScreen/OrderReceipt.js"></script>
|
type="text/javascript"
|
||||||
|
src="/pos_pms_link/static/src/js/Screens/ReservationListScreen/ReservationDetailsEdit.js"
|
||||||
|
/>
|
||||||
|
<script
|
||||||
|
type="text/javascript"
|
||||||
|
src="/pos_pms_link/static/src/js/Screens/ReservationListScreen/ReservationLine.js"
|
||||||
|
/>
|
||||||
|
<script
|
||||||
|
type="text/javascript"
|
||||||
|
src="/pos_pms_link/static/src/js/Screens/ReservationListScreen/ReservationListScreen.js"
|
||||||
|
/>
|
||||||
|
<script
|
||||||
|
type="text/javascript"
|
||||||
|
src="/pos_pms_link/static/src/js/Screens/PaymentScreen/PaymentScreen.js"
|
||||||
|
/>
|
||||||
|
<script
|
||||||
|
type="text/javascript"
|
||||||
|
src="/pos_pms_link/static/src/js/Screens/ReceiptScreen/OrderReceipt.js"
|
||||||
|
/>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
|
|
||||||
<record id="pms_service_line_view_tree" model="ir.ui.view">
|
<record id="pms_service_line_view_tree" model="ir.ui.view">
|
||||||
<field name="name">inherit.pms.service.line.view.tree</field>
|
<field name="name">inherit.pms.service.line.view.tree</field>
|
||||||
<field name="model">pms.service.line</field>
|
<field name="model">pms.service.line</field>
|
||||||
<field name="inherit_id" ref="pms.pms_service_line_view_tree"/>
|
<field name="inherit_id" ref="pms.pms_service_line_view_tree" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='price_day_total']" position="after">
|
<xpath expr="//field[@name='price_day_total']" position="after">
|
||||||
<field name="pos_order_line_ids" widget="many2many_tags"/>
|
<field name="pos_order_line_ids" widget="many2many_tags" />
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
|
|
||||||
<!-- pos.config -->
|
<!-- pos.config -->
|
||||||
@@ -6,28 +6,34 @@
|
|||||||
<record id="pos_config_view_form" model="ir.ui.view">
|
<record id="pos_config_view_form" model="ir.ui.view">
|
||||||
<field name="name">pos.config.form.view</field>
|
<field name="name">pos.config.form.view</field>
|
||||||
<field name="model">pos.config</field>
|
<field name="model">pos.config</field>
|
||||||
<field name="inherit_id" ref="point_of_sale.pos_config_view_form"/>
|
<field name="inherit_id" ref="point_of_sale.pos_config_view_form" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//div[@id='category_reference']" position="before">
|
<xpath expr="//div[@id='category_reference']" position="before">
|
||||||
<div class="col-12 col-lg-6 o_setting_box">
|
<div class="col-12 col-lg-6 o_setting_box">
|
||||||
<div class="o_setting_left_pane">
|
<div class="o_setting_left_pane">
|
||||||
<field name="pay_on_reservation"/>
|
<field name="pay_on_reservation" />
|
||||||
</div>
|
</div>
|
||||||
<div class="o_setting_right_pane" attrs="{'invisible': [('pay_on_reservation', '=', False)]}">
|
<div
|
||||||
<label for="pay_on_reservation"/>
|
class="o_setting_right_pane"
|
||||||
|
attrs="{'invisible': [('pay_on_reservation', '=', False)]}"
|
||||||
|
>
|
||||||
|
<label for="pay_on_reservation" />
|
||||||
<div class="text-muted">
|
<div class="text-muted">
|
||||||
Allow pay on reservations
|
Allow pay on reservations
|
||||||
</div>
|
</div>
|
||||||
<div class="content-group mt16">
|
<div class="content-group mt16">
|
||||||
<field name="pay_on_reservation_method_id"/>
|
<field name="pay_on_reservation_method_id" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label for="pay_on_reservation"/>
|
<label for="pay_on_reservation" />
|
||||||
<div class="text-muted">
|
<div class="text-muted">
|
||||||
Allowed properties
|
Allowed properties
|
||||||
</div>
|
</div>
|
||||||
<div class="content-group mt16">
|
<div class="content-group mt16">
|
||||||
<field name="reservation_allowed_propertie_ids" widget="many2many_tags"/>
|
<field
|
||||||
|
name="reservation_allowed_propertie_ids"
|
||||||
|
widget="many2many_tags"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
|
|
||||||
<record id="view_pos_pos_form" model="ir.ui.view">
|
<record id="view_pos_pos_form" model="ir.ui.view">
|
||||||
<field name="name">inherit.view.pos.pos.form</field>
|
<field name="name">inherit.view.pos.pos.form</field>
|
||||||
<field name="model">pos.order</field>
|
<field name="model">pos.order</field>
|
||||||
<field name="inherit_id" ref="point_of_sale.view_pos_pos_form"/>
|
<field name="inherit_id" ref="point_of_sale.view_pos_pos_form" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//page[@name='products']//field[@name='price_subtotal_incl']" position="after">
|
<xpath
|
||||||
<field name="pms_service_line_id"/>
|
expr="//page[@name='products']//field[@name='price_subtotal_incl']"
|
||||||
|
position="after"
|
||||||
|
>
|
||||||
|
<field name="pms_service_line_id" />
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|||||||
Reference in New Issue
Block a user