Cambios
|
@ -1,4 +1,4 @@
|
||||||
hedera-web (1.231-deb8) stable; urgency=low
|
hedera-web (1.232-deb8) stable; urgency=low
|
||||||
|
|
||||||
* Initial Release.
|
* Initial Release.
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
hedera-web_1.231-deb8_all.deb misc optional
|
|
|
@ -1,19 +0,0 @@
|
||||||
dh_auto_configure
|
|
||||||
dh_auto_build
|
|
||||||
dh_auto_test
|
|
||||||
dh_prep
|
|
||||||
dh_auto_install
|
|
||||||
dh_install
|
|
||||||
dh_installdocs
|
|
||||||
dh_installchangelogs
|
|
||||||
dh_installcron
|
|
||||||
dh_perl
|
|
||||||
dh_link
|
|
||||||
dh_strip_nondeterminism
|
|
||||||
dh_compress
|
|
||||||
dh_fixperms
|
|
||||||
dh_installdeb
|
|
||||||
dh_gencontrol
|
|
||||||
dh_md5sums
|
|
||||||
dh_builddeb
|
|
||||||
dh_builddeb
|
|
|
@ -1,2 +0,0 @@
|
||||||
misc:Depends=
|
|
||||||
misc:Pre-Depends=
|
|
|
@ -1,3 +0,0 @@
|
||||||
/etc/cron.d/hedera-web
|
|
||||||
/etc/hedera-web/apache.conf
|
|
||||||
/etc/hedera-web/config.php
|
|
|
@ -1,12 +0,0 @@
|
||||||
Package: hedera-web
|
|
||||||
Version: 1.231-deb8
|
|
||||||
Architecture: all
|
|
||||||
Maintainer: Juan Ferrer Toribio <juan@verdnatura.es>
|
|
||||||
Installed-Size: 5439
|
|
||||||
Depends: apache2, php5-mysql, php-vn-web
|
|
||||||
Suggests: php-text-captcha, php5-imap, vn-image, tinymce
|
|
||||||
Section: misc
|
|
||||||
Priority: optional
|
|
||||||
Homepage: http://www.verdnatura.es
|
|
||||||
Description: Verdnatura's web page
|
|
||||||
Verdnatura's web page.
|
|
|
@ -1,482 +0,0 @@
|
||||||
9016f3bf40f1593ac0fbb5723208112b usr/share/doc/hedera-web/Htk.odg
|
|
||||||
c7c0628416bdb80db8dee0dd9cfc6d65 usr/share/doc/hedera-web/changelog.Debian.gz
|
|
||||||
cf9a957e8a6c4c92648ceb473f0d71c0 usr/share/doc/hedera-web/copyright
|
|
||||||
a23fa744fbff94491df1db91127345dd usr/share/hedera-web/forms/account/address-list/address-list.js
|
|
||||||
e23d86cb18540d51e815a717088dc066 usr/share/hedera-web/forms/account/address-list/style.css
|
|
||||||
a544c571b4962ba244f76378bed62a07 usr/share/hedera-web/forms/account/address-list/ui.xml
|
|
||||||
a3596b3db2ae936ac3454c7cdb0d7c7b usr/share/hedera-web/forms/account/address/address.js
|
|
||||||
f627dfd5c014efc8c031485bd1f557dc usr/share/hedera-web/forms/account/address/style.css
|
|
||||||
15bb25f56c6610dffb8633a1927331b4 usr/share/hedera-web/forms/account/address/ui.xml
|
|
||||||
5121a6f34a57b17cae2f3f84f1c99945 usr/share/hedera-web/forms/account/conf/conf.js
|
|
||||||
240c73e8e763711c08a836e2be507782 usr/share/hedera-web/forms/account/conf/style.css
|
|
||||||
40ab7f0fa691e3438df0cc24fd38166a usr/share/hedera-web/forms/account/conf/ui.xml
|
|
||||||
a96570784090cfc026690ec97ed0f99a usr/share/hedera-web/forms/admin/access-log/access-log.js
|
|
||||||
0074b73b1547409e63cbec4439345d11 usr/share/hedera-web/forms/admin/access-log/style.css
|
|
||||||
2eb53f46f7ebf769a023f5d45c218f04 usr/share/hedera-web/forms/admin/access-log/ui.xml
|
|
||||||
e90cdff2090e482962f9b368f847057f usr/share/hedera-web/forms/admin/links/links.js
|
|
||||||
fde6112d1cbf58541c652d6426ebc440 usr/share/hedera-web/forms/admin/links/style.css
|
|
||||||
e32d0fa7c53ed43424db3cbc94efdbc2 usr/share/hedera-web/forms/admin/links/ui.xml
|
|
||||||
1f4cbb10e6008292dd34686f189b92e0 usr/share/hedera-web/forms/admin/photos/photos.js
|
|
||||||
ac251342821db29cfe1d2a9f7e9f9dc3 usr/share/hedera-web/forms/admin/photos/send-data.php
|
|
||||||
a12efe27dfbeb6dd9fefcd12d5e684cd usr/share/hedera-web/forms/admin/photos/style.css
|
|
||||||
6f3b2cfb2f940dd7eb5da583cf94bb51 usr/share/hedera-web/forms/admin/photos/ui.xml
|
|
||||||
909c7f88792fc669a6cbd7abcbc25838 usr/share/hedera-web/forms/admin/shelves/shelves.js
|
|
||||||
f27f0666f99f0caa6ac9851b611d0c97 usr/share/hedera-web/forms/admin/shelves/style.css
|
|
||||||
ed0624d17f524727d8f2b346ebb9faa5 usr/share/hedera-web/forms/admin/shelves/ui.xml
|
|
||||||
4ee1a16db84aab37215828f8e660dd20 usr/share/hedera-web/forms/admin/users/style.css
|
|
||||||
012b9d44aa0a5927c036fb17463a7674 usr/share/hedera-web/forms/admin/users/ui.xml
|
|
||||||
500eb3f311cc2473ad3e65ce76e8e07a usr/share/hedera-web/forms/admin/users/users.js
|
|
||||||
bfe8678ea7b10f8c9789eff81071acad usr/share/hedera-web/forms/admin/visits/style.css
|
|
||||||
128f78f1ac46f6512ef7f33bfba70959 usr/share/hedera-web/forms/admin/visits/ui.xml
|
|
||||||
0da1f3ac8f4aafd5a4f4ed01c5a08082 usr/share/hedera-web/forms/admin/visits/visits.js
|
|
||||||
1acadd40ffc54b60e5187bcfc87e251b usr/share/hedera-web/forms/agencies/packages/packages.js
|
|
||||||
53a296c44ebc64fc992c5bd90a309f90 usr/share/hedera-web/forms/agencies/packages/style.css
|
|
||||||
0097714389f863693a7e9585bb533791 usr/share/hedera-web/forms/agencies/packages/ui.xml
|
|
||||||
451f47645443bdfc36f254db7dd7e2aa usr/share/hedera-web/forms/agencies/provinces/provinces.js
|
|
||||||
b1bb9e698fa7da94410c888b24a2962c usr/share/hedera-web/forms/agencies/provinces/style.css
|
|
||||||
f0fa7f059ecc9e2b3750262a781ef91b usr/share/hedera-web/forms/agencies/provinces/ui.xml
|
|
||||||
4d1b9099abfd893f566c40779ce48f6b usr/share/hedera-web/forms/cms/about/about.js
|
|
||||||
ceb9f2a5c32805b7a6ca9dbe01e8d981 usr/share/hedera-web/forms/cms/about/image/2_control.png
|
|
||||||
932c8d417e108f675b65e29291d26e13 usr/share/hedera-web/forms/cms/about/image/4_control.png
|
|
||||||
4607c23c4971a646f0a74930076ab131 usr/share/hedera-web/forms/cms/about/image/agencies.png
|
|
||||||
232a903ae4df359b85f696c87051dda0 usr/share/hedera-web/forms/cms/about/image/auction.png
|
|
||||||
e50197ebd7eaec37a48c72241aab33b6 usr/share/hedera-web/forms/cms/about/image/commercial.png
|
|
||||||
b5bf105dc64f398ebef43965045cefff usr/share/hedera-web/forms/cms/about/image/courses.png
|
|
||||||
c00cb92129e83b547f4e419ae17a1a57 usr/share/hedera-web/forms/cms/about/image/dealer.png
|
|
||||||
460797ab38af1f695d2f5f9127fb85f8 usr/share/hedera-web/forms/cms/about/image/differentiates_us.png
|
|
||||||
dcb16eb44169445589052cdd923c86e3 usr/share/hedera-web/forms/cms/about/image/fit.png
|
|
||||||
1c410d9c69bcb7369050c40dc91d10c8 usr/share/hedera-web/forms/cms/about/image/glass.png
|
|
||||||
75317a9165ee9e206530609664201750 usr/share/hedera-web/forms/cms/about/image/goods_receive.png
|
|
||||||
8ddbc58164fadc2fe59eee7dba4e7af3 usr/share/hedera-web/forms/cms/about/image/goods_transport.png
|
|
||||||
da2324fe422e7b18cc9c7ec01f8e12a0 usr/share/hedera-web/forms/cms/about/image/palletizing.png
|
|
||||||
fa5aff1340d74f681f7f17bf48632f4f usr/share/hedera-web/forms/cms/about/image/producers.png
|
|
||||||
530723442e27b80f37bb99d252838449 usr/share/hedera-web/forms/cms/about/image/store.png
|
|
||||||
f4f72f3fcba055b20847490dbf5e927f usr/share/hedera-web/forms/cms/about/image/summary.png
|
|
||||||
3394700c6a605e92fa3f35f16d7fd7dc usr/share/hedera-web/forms/cms/about/image/trailer.png
|
|
||||||
6876809c8f8dc15040d7fbe4ab418bc5 usr/share/hedera-web/forms/cms/about/image/training.png
|
|
||||||
0ae30e889c25cb3e7e31072a8c4f75f1 usr/share/hedera-web/forms/cms/about/image/web.png
|
|
||||||
ae8054f9fc932bb8428a98843e162d51 usr/share/hedera-web/forms/cms/about/image/youtube.png
|
|
||||||
b24ee817ecef020f016488339607ecab usr/share/hedera-web/forms/cms/about/style.css
|
|
||||||
deefb16b66cff0540c4fb345af5bb28f usr/share/hedera-web/forms/cms/about/ui.xml
|
|
||||||
fce10663e886d04da880f2ea22b8d87a usr/share/hedera-web/forms/cms/contact/IndieFlower.ttf
|
|
||||||
04ae068770f2c0e16da033c96c2172c6 usr/share/hedera-web/forms/cms/contact/captcha.php
|
|
||||||
df7df38665073b51883143068bf35648 usr/share/hedera-web/forms/cms/contact/contact.js
|
|
||||||
1251b4a00bf6e23679d321c8d580827b usr/share/hedera-web/forms/cms/contact/send-data.php
|
|
||||||
6535957e88bf9977cb7517fafbec61b7 usr/share/hedera-web/forms/cms/contact/style.css
|
|
||||||
6d4efd6ad8de2694c715e0e75ab48d7b usr/share/hedera-web/forms/cms/contact/ui.xml
|
|
||||||
f38982221e168a95da4170f6b7e7e36f usr/share/hedera-web/forms/cms/home/home.js
|
|
||||||
fc2695c350a93d3519712001a2622722 usr/share/hedera-web/forms/cms/home/style.css
|
|
||||||
168a48777fca4cb50c911cdc784081ed usr/share/hedera-web/forms/cms/home/ui.xml
|
|
||||||
6365368204ef099a9f9b6c77a21ca6b3 usr/share/hedera-web/forms/cms/location/location.js
|
|
||||||
cb133bdc61e9038fb9385a3b2175e860 usr/share/hedera-web/forms/cms/location/style.css
|
|
||||||
f976b62260b60a8118c3dc7cfb4d608d usr/share/hedera-web/forms/cms/location/ui.xml
|
|
||||||
3112bd7cdba671676f6a1e1d39859655 usr/share/hedera-web/forms/cms/training/style.css
|
|
||||||
0130c8f50e0a57408ec69b827281f5e6 usr/share/hedera-web/forms/cms/training/training.js
|
|
||||||
20f7f2d160e4f82d02c4bc59ba884e78 usr/share/hedera-web/forms/cms/training/ui.xml
|
|
||||||
732dc175165033e6c45b5ecacae1e386 usr/share/hedera-web/forms/cms/why/style.css
|
|
||||||
088dc19028df7b0efe92b8d9c8612770 usr/share/hedera-web/forms/cms/why/ui.xml
|
|
||||||
19dd386e3ae75e0c2103404e3d79a27d usr/share/hedera-web/forms/cms/why/why.js
|
|
||||||
a4ca2fabb3d09408e328631dfabb2d3c usr/share/hedera-web/forms/ecomerce/basket/basket.js
|
|
||||||
6d7005dbfbea515f5e3e4bdf60e25523 usr/share/hedera-web/forms/ecomerce/basket/style.css
|
|
||||||
0e626579588b47a30bca4c160d98e9ce usr/share/hedera-web/forms/ecomerce/basket/ui.xml
|
|
||||||
8479e69cab0b1259c7ce2e1b2515649a usr/share/hedera-web/forms/ecomerce/catalog/catalog.js
|
|
||||||
67125eac4393bff75be4f72fef2d7177 usr/share/hedera-web/forms/ecomerce/catalog/mobile.css
|
|
||||||
df7c58017914ec399f6d1bab9c14a065 usr/share/hedera-web/forms/ecomerce/catalog/style.css
|
|
||||||
e3ba07432def24184ecb0185772cff09 usr/share/hedera-web/forms/ecomerce/catalog/ui.xml
|
|
||||||
68bae739659045f2b72b1d8b4cddd7f6 usr/share/hedera-web/forms/ecomerce/checkout/checkout.js
|
|
||||||
3afa62afebb4236a8dde2ed33c8495d3 usr/share/hedera-web/forms/ecomerce/checkout/style.css
|
|
||||||
bcac327180dd0b3dec80c8a9090bd8fb usr/share/hedera-web/forms/ecomerce/checkout/ui.xml
|
|
||||||
db98d7211c838b42a53009bf7fbaecea usr/share/hedera-web/forms/ecomerce/confirm/confirm.js
|
|
||||||
82160af4a74857107c12ddc30a482105 usr/share/hedera-web/forms/ecomerce/confirm/style.css
|
|
||||||
b55ac46aad9c1f6117f2c68335582195 usr/share/hedera-web/forms/ecomerce/confirm/ui.xml
|
|
||||||
eb9778cd03aed4aaa409362ec483de7b usr/share/hedera-web/forms/ecomerce/invoices/download.php
|
|
||||||
a8f45197a0c916c7fb9e3214e9d6811f usr/share/hedera-web/forms/ecomerce/invoices/get-invoice-path.sql
|
|
||||||
3031b021b3403e0773cfcad384e34db6 usr/share/hedera-web/forms/ecomerce/invoices/invoices.js
|
|
||||||
a2e5e2c177cdd9431f6d9d9e9bf67035 usr/share/hedera-web/forms/ecomerce/invoices/style.css
|
|
||||||
3a002fb9293a3b2b85f654a1e8037e5f usr/share/hedera-web/forms/ecomerce/invoices/ui.xml
|
|
||||||
d8ec4defab53c591fa0d71348d4e852b usr/share/hedera-web/forms/ecomerce/orders/orders.js
|
|
||||||
6cf663227b47aaf035b3bb72d0042687 usr/share/hedera-web/forms/ecomerce/orders/style.css
|
|
||||||
3946ed84eda32446343d853f5cdd9e93 usr/share/hedera-web/forms/ecomerce/orders/ui.xml
|
|
||||||
6ffc05c3e5ee6a8acdacc528640a1dbf usr/share/hedera-web/forms/ecomerce/ticket/style.css
|
|
||||||
d32c05583205dff4607dfc7e2bd896d2 usr/share/hedera-web/forms/ecomerce/ticket/ticket.js
|
|
||||||
24a6914ad105577110498abcc8ff8cdd usr/share/hedera-web/forms/ecomerce/ticket/ui.xml
|
|
||||||
4d41bb87b78611dd96b5dbf332991e70 usr/share/hedera-web/forms/news/new/new.js
|
|
||||||
2a5b5418b7706d74c5676e829f5fde96 usr/share/hedera-web/forms/news/new/style.css
|
|
||||||
72f9508160ab53edcfd19f6953ed34f2 usr/share/hedera-web/forms/news/new/ui.xml
|
|
||||||
9e54355772b5dbbc151442227c15a579 usr/share/hedera-web/forms/news/news/news.js
|
|
||||||
d8e69f0c0187b69cbddd974def963a3e usr/share/hedera-web/forms/news/news/style.css
|
|
||||||
39188f68b7f1ba52aa3825918fcb3f1c usr/share/hedera-web/forms/news/news/ui.xml
|
|
||||||
da98b2c4c84ed945137d5a605ecba1c0 usr/share/hedera-web/global/analytics.php
|
|
||||||
5da4f80f5fc6fef8890c86b39401af08 usr/share/hedera-web/global/metatags.php
|
|
||||||
ce15ad2b7a39cbf5d3d42ebd6853acdc usr/share/hedera-web/global/mobile.css
|
|
||||||
629a55a7e793da068dc580d184cc0e31 usr/share/hedera-web/global/opensans.ttf
|
|
||||||
c91187abe71428230e12dfd0399e8319 usr/share/hedera-web/global/report.css
|
|
||||||
ac3f799d5bbaf5196fab15ab8de8431c usr/share/hedera-web/global/roboto.ttf
|
|
||||||
344e0c8decf7d6e3d7b185eb053898e7 usr/share/hedera-web/global/style.css
|
|
||||||
5a98924736b8fab64b664ccb52ea31bf usr/share/hedera-web/image/access-log.svg
|
|
||||||
f433704056a7adb2615ca8f0f9243b3e usr/share/hedera-web/image/add.svg
|
|
||||||
1c57bef2217dff2abb818d899672cd0a usr/share/hedera-web/image/basket.svg
|
|
||||||
65d16f53b0d8523caf35e296cacbe3c3 usr/share/hedera-web/image/blogger.svg
|
|
||||||
f34bfad367e2803920deaf66d6909f6a usr/share/hedera-web/image/clean.svg
|
|
||||||
9db9446db220369c526b1ccd3a7fa34b usr/share/hedera-web/image/close.svg
|
|
||||||
89f991796b1dc2a9073ba71ac941758e usr/share/hedera-web/image/dark/add.svg
|
|
||||||
1686814cae6a5ad85b9917ecc4b00fa1 usr/share/hedera-web/image/dark/basket.svg
|
|
||||||
52163d8f69af40024227906c36b07774 usr/share/hedera-web/image/dark/close.svg
|
|
||||||
8cfbf93d3d7c363888758d610ea7aad2 usr/share/hedera-web/image/dark/connect.svg
|
|
||||||
78fa6dc05059bde9670bb56379937a5b usr/share/hedera-web/image/dark/delete.svg
|
|
||||||
a442d9fa939a5c47caa2f67049582cde usr/share/hedera-web/image/dark/go-next.svg
|
|
||||||
22c052955f54bc97c6b35e768f3a39fc usr/share/hedera-web/image/dark/go-previous.svg
|
|
||||||
1d03e55fc511e15133bcdee7298ffcf1 usr/share/hedera-web/image/dark/graph.svg
|
|
||||||
85b53b6b5be1ca15413c12b8d8ccf00b usr/share/hedera-web/image/dark/info.svg
|
|
||||||
38da07e9c4eba16b48cf671c73363cba usr/share/hedera-web/image/dark/logo.png
|
|
||||||
66ea1e7b798632421c9acdfffa9e3041 usr/share/hedera-web/image/dark/logo.svg
|
|
||||||
3a3a91f04f9d270a134e289f2e62bfe5 usr/share/hedera-web/image/dark/menu.svg
|
|
||||||
e691b22f0e5eeaba53abb5b8582cd5ab usr/share/hedera-web/image/dark/ok.svg
|
|
||||||
e78ea764620555d529e7bc28fa45e238 usr/share/hedera-web/image/dark/order.svg
|
|
||||||
ac6af0fd988bf576b904cb605c49571b usr/share/hedera-web/image/dark/pay.svg
|
|
||||||
fed98c72b68903ca8946bc48b396aee0 usr/share/hedera-web/image/dark/preferences.svg
|
|
||||||
174725ba54a53d2a1e151e88c13fe356 usr/share/hedera-web/image/dark/print.svg
|
|
||||||
2b448eb7234412dbb4bc01be69cef2f3 usr/share/hedera-web/image/dark/refresh.svg
|
|
||||||
6657ba32e1e09621b8c2d477eda626b4 usr/share/hedera-web/image/dark/search.svg
|
|
||||||
1e2909e80f14423720b1e3ca42845759 usr/share/hedera-web/image/dark/shipping.svg
|
|
||||||
d95ea63caf945da9418c65a81857fd76 usr/share/hedera-web/image/dark/user-info.svg
|
|
||||||
8ae0b93b433dbd0cad40806a17416c51 usr/share/hedera-web/image/debian.png
|
|
||||||
6b2d4f3eb8812fe4aedfc361b24448e3 usr/share/hedera-web/image/delete.svg
|
|
||||||
9c8c0e08200ee5cb524ecc11d3c43f14 usr/share/hedera-web/image/download.svg
|
|
||||||
72ec5336cba5e0a3154df6b5006c65dd usr/share/hedera-web/image/edit.svg
|
|
||||||
fbc1cb0f7bf56c2ae27245a6f1c705ae usr/share/hedera-web/image/empty.png
|
|
||||||
23280e899ad70afeaada21722acbf5a6 usr/share/hedera-web/image/error.svg
|
|
||||||
b1162f68113099473f2f7c9644851b33 usr/share/hedera-web/image/facebook.svg
|
|
||||||
65b97433522619cbe374baa0be20c620 usr/share/hedera-web/image/family/1.svg
|
|
||||||
eed8cbc246f95ba82f17323382a74abb usr/share/hedera-web/image/family/2.svg
|
|
||||||
17ce401dbfc0c3d05c90e4547ee274a8 usr/share/hedera-web/image/family/3.svg
|
|
||||||
0c9208800f8a1a602dd70844797fdf2b usr/share/hedera-web/image/family/4.svg
|
|
||||||
029e8dc181bd375c27a499bc856214c6 usr/share/hedera-web/image/family/5.svg
|
|
||||||
95093a8ae4fb98caf82381c7b04a3a1e usr/share/hedera-web/image/family/7.svg
|
|
||||||
2e6ad192a7e6a2b7e274d1c3bb69028e usr/share/hedera-web/image/favicon.ico
|
|
||||||
046b960fe9c73aa4c8cab4cca5482c1d usr/share/hedera-web/image/firefox.png
|
|
||||||
7f2e391de3291fc1ac583fcbe58d078c usr/share/hedera-web/image/git.svg
|
|
||||||
73133042e67f419117dbc8baebedd065 usr/share/hedera-web/image/go-next.svg
|
|
||||||
6ae06fbd75b59299063c5a295997d0ad usr/share/hedera-web/image/go-previous.svg
|
|
||||||
a95b8d24208a541ca192efa547d366a2 usr/share/hedera-web/image/google-plus.svg
|
|
||||||
ae1cfc6e36ae37d2253fe5bdd6ee8c74 usr/share/hedera-web/image/info.svg
|
|
||||||
2c7d2ac349358c7d48300032d4af51bd usr/share/hedera-web/image/invisible.png
|
|
||||||
039b50a3e85f039aa2259098d0d10ddd usr/share/hedera-web/image/loader-black.gif
|
|
||||||
d0ba08735e55241f3ef40995d4d39578 usr/share/hedera-web/image/loader-white.gif
|
|
||||||
27e6dffafb8e75ac7a303f6a6f5276b3 usr/share/hedera-web/image/loader.gif
|
|
||||||
14c4cec24e4ff36255aea52814f0ba5e usr/share/hedera-web/image/logo.svg
|
|
||||||
519af412f28a4e197b50b0fe6bd9c84d usr/share/hedera-web/image/menu.svg
|
|
||||||
903ad20c22b28eea771b720d1a06da5b usr/share/hedera-web/image/ok.svg
|
|
||||||
668f4d059d8b712ae6548c388356c04c usr/share/hedera-web/image/order.svg
|
|
||||||
284be98fa3701c84b289f703aaa5f5d3 usr/share/hedera-web/image/pay.svg
|
|
||||||
3489c1c731871e4b536c3bd1dc700a39 usr/share/hedera-web/image/preferences.svg
|
|
||||||
5f6210f7ffb4d9f574623d5387093128 usr/share/hedera-web/image/print.svg
|
|
||||||
521f87291b19cd11ea5a40f9eae33534 usr/share/hedera-web/image/refresh.svg
|
|
||||||
6e41c0943b91c72f3b18b60adfbbb3e6 usr/share/hedera-web/image/search.svg
|
|
||||||
88fcecfeeef348f8b4e00b49facebdda usr/share/hedera-web/image/shipping.svg
|
|
||||||
6e41c0943b91c72f3b18b60adfbbb3e6 usr/share/hedera-web/image/show.svg
|
|
||||||
ea6167966af2008493600023b1deaa15 usr/share/hedera-web/image/star.svg
|
|
||||||
4fde9fec31df281d1312302bbf19453f usr/share/hedera-web/image/step-cur.svg
|
|
||||||
821ed3db8aae2e1e7ea4fe46a3e5f984 usr/share/hedera-web/image/step.svg
|
|
||||||
a3f765bd12322976a565baf39e17506c usr/share/hedera-web/image/store.png
|
|
||||||
65618f7b2d156fe721516c309f6388b7 usr/share/hedera-web/image/supplant.png
|
|
||||||
85114f1a6433ebf18fbd484ba864c0e7 usr/share/hedera-web/image/unavailable.svg
|
|
||||||
1062840f4d1e1aea9c7cac7a4926be18 usr/share/hedera-web/image/update-browser.png
|
|
||||||
6fcf2107a5932ca5d00211950d52d033 usr/share/hedera-web/image/warning.svg
|
|
||||||
5596a90809aa6558a651c1827b27f6bf usr/share/hedera-web/image/youtube.svg
|
|
||||||
11dc471d438553776c7d3422b9a619ae usr/share/hedera-web/index.php
|
|
||||||
3621fba117aab66cd022bf733b8e07f4 usr/share/hedera-web/js/db/calc-sum.js
|
|
||||||
4b16d38b635e44ab51ac4a11548f9364 usr/share/hedera-web/js/db/calc.js
|
|
||||||
e6cd6a806d02538d2bce830fa33eae33 usr/share/hedera-web/js/db/conn.js
|
|
||||||
10a0dd177582a6e4f8bea9160608d7e0 usr/share/hedera-web/js/db/form.js
|
|
||||||
811e979276b75eec62bbc2189957e7f0 usr/share/hedera-web/js/db/iterator.js
|
|
||||||
0c114f4c93dd75fa80273013e8cb7859 usr/share/hedera-web/js/db/main.js
|
|
||||||
08014e11051dcacf054bb9f0e3c30ef0 usr/share/hedera-web/js/db/main.php
|
|
||||||
850da97d795bdf37d32376243ab7011d usr/share/hedera-web/js/db/model.js
|
|
||||||
f04b998bb318aae0043081d53aa34ac6 usr/share/hedera-web/js/db/param.js
|
|
||||||
4d61342ae31fea3cdf8ff33036071ef2 usr/share/hedera-web/js/db/query.js
|
|
||||||
1909a574f87f51496c8b1c8f2981c056 usr/share/hedera-web/js/db/result-set.js
|
|
||||||
c57c6d1432599ade3f99fe20d209dc69 usr/share/hedera-web/js/db/result.js
|
|
||||||
46f73991b9ca828aeb88166aa86409e7 usr/share/hedera-web/js/hedera/main.php
|
|
||||||
786e24a22e8330e07fcd55489b3ac541 usr/share/hedera-web/js/hedera/report.css
|
|
||||||
62ec149808b1b3a8151f2e4db7ab02ce usr/share/hedera-web/js/hedera/report.html
|
|
||||||
74095b42300a3bf2c7156c21e6a3e94f usr/share/hedera-web/js/hedera/report.js
|
|
||||||
4b6dc8723c6ec17246369e8824986acc usr/share/hedera-web/js/htk/assistant-bar.js
|
|
||||||
2fcb4a2227e2cc3bf5e312d8e4cb9fbd usr/share/hedera-web/js/htk/assistant.js
|
|
||||||
374d3cb7bbd3170e8e32608370f91684 usr/share/hedera-web/js/htk/column.js
|
|
||||||
7df5c7c0de236513e1d8de71c696f52b usr/share/hedera-web/js/htk/column/button.js
|
|
||||||
318ce98f7e2d03e3eb6e570dbc5eef3d usr/share/hedera-web/js/htk/column/check.js
|
|
||||||
3b61e7ca1322a1dd46ac1cb5b8189b31 usr/share/hedera-web/js/htk/column/date.js
|
|
||||||
06824829046eafd0b59497b80982e3c7 usr/share/hedera-web/js/htk/column/image.js
|
|
||||||
afc2fc24d72b3125094d4a557376af35 usr/share/hedera-web/js/htk/column/link.js
|
|
||||||
92b19f8cbcf617704c8a0f3690dc15fa usr/share/hedera-web/js/htk/column/radio.js
|
|
||||||
a22a0a1c7ff13507843959d23f41890c usr/share/hedera-web/js/htk/column/spin.js
|
|
||||||
0f37d8a8f44b359a085488e2832e8791 usr/share/hedera-web/js/htk/column/text.js
|
|
||||||
d5fa69c91869e25e5e1fd20dd30e4901 usr/share/hedera-web/js/htk/field.js
|
|
||||||
54a29ca6dced2611a4ca7b17f3517a5c usr/share/hedera-web/js/htk/field/button.js
|
|
||||||
19ac85f62c719ba16cd80e6a92b11d1f usr/share/hedera-web/js/htk/field/calendar.js
|
|
||||||
6b6567bac40292814042efc10318b343 usr/share/hedera-web/js/htk/field/check.js
|
|
||||||
064210dae613384aed96792799fcfe13 usr/share/hedera-web/js/htk/field/date-chooser.js
|
|
||||||
b33d19b55e4aa0f8ff3da50d8bdc4188 usr/share/hedera-web/js/htk/field/entry.js
|
|
||||||
74546afe2ae12d45a0b9c6f83fb08786 usr/share/hedera-web/js/htk/field/html.js
|
|
||||||
08b9701791d6d6b9d2cb7d84038d3d61 usr/share/hedera-web/js/htk/field/image.js
|
|
||||||
482fbc532f879c668b41664d6b570968 usr/share/hedera-web/js/htk/field/label.js
|
|
||||||
83d14c496f729306b98304ee4a2798e4 usr/share/hedera-web/js/htk/field/radio-group.js
|
|
||||||
78b81a3dfb9d5410fea16b74c0a64ec0 usr/share/hedera-web/js/htk/field/radio.js
|
|
||||||
24cd55a3572f9f9fce4004c354b2d760 usr/share/hedera-web/js/htk/field/select.js
|
|
||||||
17c178f1079f0d02e417537e51625a09 usr/share/hedera-web/js/htk/field/spin.js
|
|
||||||
1fe2f27a7446cb8de0ce28459acfafe3 usr/share/hedera-web/js/htk/field/table.js
|
|
||||||
0b6c70f166e3c119b051d724fd641da9 usr/share/hedera-web/js/htk/field/text-area.js
|
|
||||||
250c6bcf7b825043ab280253deb10c3b usr/share/hedera-web/js/htk/field/text.js
|
|
||||||
3dd48118b4e42757b7153d33c780db21 usr/share/hedera-web/js/htk/full-image.js
|
|
||||||
24de392fa5f8462df33d3160c89176e2 usr/share/hedera-web/js/htk/grid.js
|
|
||||||
40169b8c2f578a66d35fd788179da3ff usr/share/hedera-web/js/htk/htk.js
|
|
||||||
0bb6a03b481eadc309092b1e4fcad5cb usr/share/hedera-web/js/htk/image-editor.js
|
|
||||||
ecaa67f10d3a12b05559672fd1cee5c1 usr/share/hedera-web/js/htk/image-editor.xml
|
|
||||||
b1d9971bd7ddb1d5c61031f237adde94 usr/share/hedera-web/js/htk/main.js
|
|
||||||
7fd4ac6e0ce5284339bf422ae65dce73 usr/share/hedera-web/js/htk/main.php
|
|
||||||
c17742afbd01a66bd7938254f6abb1f1 usr/share/hedera-web/js/htk/popup.js
|
|
||||||
965811d052d8e2a2253ebed4a884a644 usr/share/hedera-web/js/htk/repeater.js
|
|
||||||
433f94861ba87da8c040373d763407e3 usr/share/hedera-web/js/htk/toast.js
|
|
||||||
25d25bc66f3fbeecc0fc1b79f6b99176 usr/share/hedera-web/js/htk/widget.js
|
|
||||||
a2a0e92074cc238ed817ce6665b491b7 usr/share/hedera-web/js/misc/main.php
|
|
||||||
1f4caae0d5c17c1a9d65f6166fbf0f6d usr/share/hedera-web/js/misc/mootools.js
|
|
||||||
045d04e17422d99e338da75b9c749b7c usr/share/hedera-web/js/misc/tinymce/license.txt
|
|
||||||
e26e97a318f82ec144b0818e5a8f8edb usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-cool.gif
|
|
||||||
e72bf995ceca9230273ed9909c5db9c8 usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-cry.gif
|
|
||||||
d59171236e6b0b96091eeda1f7b57ce3 usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-embarassed.gif
|
|
||||||
c12d9db6a14ad0b52f66f1e2cf2a38e7 usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif
|
|
||||||
59930208822fe755f651a67ef4b70530 usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-frown.gif
|
|
||||||
ec0477c8a206ff250782e40f9bae4b4c usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-innocent.gif
|
|
||||||
4ae8945f3960751b5d294f18242e144d usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-kiss.gif
|
|
||||||
c37f405db4e13cbebf24e745534687bf usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-laughing.gif
|
|
||||||
11c14bd1496afd0e21df115d25b68e96 usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-money-mouth.gif
|
|
||||||
bb828cb46b377d1589927a02f8fd1762 usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-sealed.gif
|
|
||||||
2968a664098d9580079c66d628dad1a8 usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-smile.gif
|
|
||||||
2e136ebd637bf3e6c9fc6bdc20cbe73e usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-surprised.gif
|
|
||||||
5ec3bb4781c8e43a51d3a1a948b98fc0 usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-tongue-out.gif
|
|
||||||
3c0c011d16b1a2331385ed97e160a42a usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-undecided.gif
|
|
||||||
897275ac7d07032b4d93fb83a0d2a41b usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-wink.gif
|
|
||||||
19bb8ebfe3c2f5ef3ffb9aa4a027900d usr/share/hedera-web/js/misc/tinymce/plugins/emoticons/img/smiley-yell.gif
|
|
||||||
375a02f296a02a8c1bc1026345c18dd2 usr/share/hedera-web/js/misc/tinymce/plugins/visualblocks/css/visualblocks.css
|
|
||||||
e438b17739e7dea20da625c54590c83d usr/share/hedera-web/js/misc/tinymce/skins/lightgray/content.inline.min.css
|
|
||||||
3fa0e763ae7456564829fa3e439c46f1 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/content.min.css
|
|
||||||
6f2ff03edaa59c1a94be0874d08971ee usr/share/hedera-web/js/misc/tinymce/skins/lightgray/fonts/tinymce-small.eot
|
|
||||||
d021d3e6b1bb2b4c39069ea63adba403 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/fonts/tinymce-small.json
|
|
||||||
7f65dde79eb89e98aa8dbe67fa5febc2 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/fonts/tinymce-small.svg
|
|
||||||
daa52e28bfd88f5fb5587f17e51a1325 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/fonts/tinymce-small.ttf
|
|
||||||
ebcf371dc5ff2088a4fe411ee8681466 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/fonts/tinymce-small.woff
|
|
||||||
248f6caf6179ea6c4035b7eaec7edd6e usr/share/hedera-web/js/misc/tinymce/skins/lightgray/fonts/tinymce.eot
|
|
||||||
b7f9f30c30bd24f8887cd90c0c3f2f96 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/fonts/tinymce.json
|
|
||||||
f38d04d3a3cf83c12435370fd77c997d usr/share/hedera-web/js/misc/tinymce/skins/lightgray/fonts/tinymce.svg
|
|
||||||
d2673bd2dd98e5359b733f57ee3c4778 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/fonts/tinymce.ttf
|
|
||||||
04e761d506e64836afab5d2550a3b8df usr/share/hedera-web/js/misc/tinymce/skins/lightgray/fonts/tinymce.woff
|
|
||||||
abd3613571800fdcc891181d5f34f840 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/img/anchor.gif
|
|
||||||
394bafc3cc4dfb3a0ee48c1f54669539 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/img/loader.gif
|
|
||||||
f3726450d7457d750a2f4d9441c7ee20 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/img/object.gif
|
|
||||||
12bf9e19374920de3146a64775f46a5e usr/share/hedera-web/js/misc/tinymce/skins/lightgray/img/trans.gif
|
|
||||||
09c1ba458c1670a68acbe8004e1c4b14 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/skin.ie7.min.css
|
|
||||||
ddef4827730dca9bd4f3a4d0deb11449 usr/share/hedera-web/js/misc/tinymce/skins/lightgray/skin.min.css
|
|
||||||
0673629e6090e7c5d0cecf8144153df8 usr/share/hedera-web/js/misc/tinymce/tinymce.min.js
|
|
||||||
7a1d6a57d40921d9b2144a4d1f5eed8c usr/share/hedera-web/js/sql/batch.js
|
|
||||||
c1221fec1672e19591a88866fe29cb07 usr/share/hedera-web/js/sql/delete.js
|
|
||||||
e0addd33670dea489e4a234075c80f9f usr/share/hedera-web/js/sql/dml.js
|
|
||||||
32dfccc36728ed4eaf8fe6aa6b006aa4 usr/share/hedera-web/js/sql/expr.js
|
|
||||||
d5c78e63549dfbce5cef45c24590185f usr/share/hedera-web/js/sql/field.js
|
|
||||||
25ee3732cc80088d1301440fc7bc2ef7 usr/share/hedera-web/js/sql/filter-item.js
|
|
||||||
9818ecc07e5f0b9ca9c2fc97eabd6d03 usr/share/hedera-web/js/sql/filter.js
|
|
||||||
133e224ebcc1e116813110ba0638f52e usr/share/hedera-web/js/sql/function.js
|
|
||||||
6135749bce50035afc80308948c8ba18 usr/share/hedera-web/js/sql/holder.js
|
|
||||||
5fcb0e3c24e79fa381ce7c6dad4b8261 usr/share/hedera-web/js/sql/insert.js
|
|
||||||
2e5595733d0d63c84a48200ae3f65260 usr/share/hedera-web/js/sql/list.js
|
|
||||||
6b1da9ff7ecf933c3c9ce7a7f397a006 usr/share/hedera-web/js/sql/main.js
|
|
||||||
c8a81f1ac67bab68ea94f0ff984a9628 usr/share/hedera-web/js/sql/main.php
|
|
||||||
74707a71cc18b3ca156878201a0b2e96 usr/share/hedera-web/js/sql/multi-stmt.js
|
|
||||||
ec320938bfd2d9551918e28e64e80d2b usr/share/hedera-web/js/sql/object.js
|
|
||||||
67590aef2416dc9791974177f6debd48 usr/share/hedera-web/js/sql/operation.js
|
|
||||||
6055b30b502641b63ee15cbc27d95f2c usr/share/hedera-web/js/sql/search-tags.js
|
|
||||||
2811670c4ee14a43ae8ccefd1fcc0295 usr/share/hedera-web/js/sql/select.js
|
|
||||||
d561cd5114d77f0c4f3733e6c0cef029 usr/share/hedera-web/js/sql/stmt.js
|
|
||||||
d5dc69ea8d8e3c6a76c9210a4741fccf usr/share/hedera-web/js/sql/string.js
|
|
||||||
a2287aa531c94fbbc50521cb237d9492 usr/share/hedera-web/js/sql/table.js
|
|
||||||
2bfca205db8fb56e538a469fcf7dceb2 usr/share/hedera-web/js/sql/target.js
|
|
||||||
3d8a53c2f189c7690db1402557a4ee35 usr/share/hedera-web/js/sql/update.js
|
|
||||||
6470da1256d716855058fd8eacfc59cf usr/share/hedera-web/js/sql/value.js
|
|
||||||
e42d43abaeed60d98acb1d77fc061c3e usr/share/hedera-web/js/vn/browser.js
|
|
||||||
dc4cee051d96c0e0ead458cfd75c6677 usr/share/hedera-web/js/vn/builder.js
|
|
||||||
5123761e333e6ded900fbc5c284e8a01 usr/share/hedera-web/js/vn/cookie.js
|
|
||||||
487e8ad76b6620de03d01802aa9d5ef9 usr/share/hedera-web/js/vn/date.js
|
|
||||||
20dd20e27f7ff2fe2459b3e67fac4ef1 usr/share/hedera-web/js/vn/error.js
|
|
||||||
fb9e38d171225df141de5c02c1e23c1e usr/share/hedera-web/js/vn/hash-listener.js
|
|
||||||
3213c82ba20add4c7f493ec96569fc7b usr/share/hedera-web/js/vn/hash-param.js
|
|
||||||
4f8fed8a0fd2b169c4f4e2885150aa3e usr/share/hedera-web/js/vn/hash.js
|
|
||||||
ed6469583742689838d5a5d06fb63590 usr/share/hedera-web/js/vn/http-request.js
|
|
||||||
f3a8b8a77e62220f9ba436dff1f2ad7f usr/share/hedera-web/js/vn/ie.js
|
|
||||||
9237d117a1401c2fd0a1a7951cdd8269 usr/share/hedera-web/js/vn/locale.js
|
|
||||||
6f04ee38448f253f3614c44426a18fec usr/share/hedera-web/js/vn/main.js
|
|
||||||
779cd9a70a04771748f2f6006642c598 usr/share/hedera-web/js/vn/main.php
|
|
||||||
dd223c04a40617e654ae03a15a257c51 usr/share/hedera-web/js/vn/mutators.js
|
|
||||||
23b7c87d6640433f8567c45231337f4f usr/share/hedera-web/js/vn/node.js
|
|
||||||
040d7463db0d9faa7bd7f88e265386d6 usr/share/hedera-web/js/vn/object.js
|
|
||||||
c0f776e6c3b86eaad9bddb909cd4dd3f usr/share/hedera-web/js/vn/param.js
|
|
||||||
14b10fba55ad7b6062d2fcd306e105b6 usr/share/hedera-web/js/vn/url.js
|
|
||||||
be757512d36e677f3526300c0e17edff usr/share/hedera-web/js/vn/value.js
|
|
||||||
5b4937500156e45318ae16814b0305bd usr/share/hedera-web/locale/ca/forms/account/address-list.json
|
|
||||||
5abc10bd97cb6caf12e56b58a4d05881 usr/share/hedera-web/locale/ca/forms/account/address.json
|
|
||||||
e19d39a70f6a95e4b9fad91a1c309563 usr/share/hedera-web/locale/ca/forms/account/conf.json
|
|
||||||
144bc43e65c431c39a07ba4473f745b2 usr/share/hedera-web/locale/ca/forms/admin/access-log.json
|
|
||||||
2d9a21b9f25efb172aee151c0bb5e977 usr/share/hedera-web/locale/ca/forms/admin/links.json
|
|
||||||
81d3d9090a802a39ce4515d4f70b25d8 usr/share/hedera-web/locale/ca/forms/admin/photos.json
|
|
||||||
cc5227262fc2bc90fdfe8533fb1977e5 usr/share/hedera-web/locale/ca/forms/admin/shelves.json
|
|
||||||
402d668690694cd62d81a032fd24d45a usr/share/hedera-web/locale/ca/forms/admin/users.json
|
|
||||||
2565ca6fe1054fe7de9e4623b3943dab usr/share/hedera-web/locale/ca/forms/admin/visits.json
|
|
||||||
d5f96ba467b58a48f59ec0725b073789 usr/share/hedera-web/locale/ca/forms/agencies/packages.json
|
|
||||||
f1b297a04e6e8fb1d09cee33a533e684 usr/share/hedera-web/locale/ca/forms/agencies/provinces.json
|
|
||||||
c9624a94cad083ab2d71301483bfcc2d usr/share/hedera-web/locale/ca/forms/cms/about.json
|
|
||||||
7d5e73c633ee607b205063c5cd5f219f usr/share/hedera-web/locale/ca/forms/cms/contact.json
|
|
||||||
19a5a33adcdefc27acd9730e7e5b0070 usr/share/hedera-web/locale/ca/forms/cms/home.json
|
|
||||||
d3f712ed87addced4f0a4eda780e7721 usr/share/hedera-web/locale/ca/forms/cms/location.json
|
|
||||||
8a80554c91d9fca8acb82f023de02f11 usr/share/hedera-web/locale/ca/forms/cms/training.json
|
|
||||||
900c2dbb181fcc19814bf93b2e7f8c7e usr/share/hedera-web/locale/ca/forms/cms/why.json
|
|
||||||
539b2fe10bf9fa46b53c09e231dcfd8a usr/share/hedera-web/locale/ca/forms/ecomerce/basket.json
|
|
||||||
5d9e365efa4aca63b8fb60b4090dfe7e usr/share/hedera-web/locale/ca/forms/ecomerce/catalog.json
|
|
||||||
74a0d063d86d58503df9d7c5082cc8c8 usr/share/hedera-web/locale/ca/forms/ecomerce/checkout.json
|
|
||||||
0d1e03623b575c5dd480dabf6b6b7b2c usr/share/hedera-web/locale/ca/forms/ecomerce/confirm.json
|
|
||||||
d1daa7948d610c3575d83a1cc1c4eaee usr/share/hedera-web/locale/ca/forms/ecomerce/invoices.json
|
|
||||||
27ca9c397090861b03f87f5edb1528e1 usr/share/hedera-web/locale/ca/forms/ecomerce/orders.json
|
|
||||||
3ec280e3a1444dd893d1bc05e8d91449 usr/share/hedera-web/locale/ca/forms/ecomerce/ticket.json
|
|
||||||
1ed0798e05eec101f07f1d4cac752eb8 usr/share/hedera-web/locale/ca/forms/news/new.json
|
|
||||||
5a2fb80b1c266cbe9bafd8c9b1dcd17f usr/share/hedera-web/locale/ca/forms/news/news.json
|
|
||||||
4c4654d00eefb696198d7fd6d8286348 usr/share/hedera-web/locale/ca/js/db.js
|
|
||||||
132c5d4c38bc580862e14122e08bf62f usr/share/hedera-web/locale/ca/js/htk.js
|
|
||||||
c2515a52304ee735d07f152a4861e11c usr/share/hedera-web/locale/ca/js/vn.js
|
|
||||||
686ab7166e4daf3913b0492d7d171ada usr/share/hedera-web/locale/ca/pages/login.json
|
|
||||||
496f5d1c60e5fadea8ad37024e0b4c81 usr/share/hedera-web/locale/ca/pages/tpv.json
|
|
||||||
b84a9a030b03120ebd4451236e649e73 usr/share/hedera-web/locale/ca/pages/update-browser.json
|
|
||||||
6a0e80c4f4e87fad9fe0ece79014342f usr/share/hedera-web/locale/ca/pages/version-menu.json
|
|
||||||
cd8d7f43b9737895da424df060d7b2e5 usr/share/hedera-web/locale/ca/pages/web.json
|
|
||||||
e9d2cb38583f0fc0e371e37d3e09d698 usr/share/hedera-web/locale/ca/rest/query.json
|
|
||||||
5f35ec46d79daa46823c578ee9c79ea1 usr/share/hedera-web/locale/es/forms/account/address-list.json
|
|
||||||
1cb66d51af601f4495de500d19c05c86 usr/share/hedera-web/locale/es/forms/account/address.json
|
|
||||||
2b7e3b4b02d16eac26adf0be11fe3ff3 usr/share/hedera-web/locale/es/forms/account/conf.json
|
|
||||||
b848cdfaa8ddaea079f876eba1786633 usr/share/hedera-web/locale/es/forms/admin/access-log.json
|
|
||||||
28ae9d57c724f9e4f7c7d5ada9913299 usr/share/hedera-web/locale/es/forms/admin/links.json
|
|
||||||
98ef85006a2bab4f1f5c4308cbafa258 usr/share/hedera-web/locale/es/forms/admin/photos.json
|
|
||||||
cc5227262fc2bc90fdfe8533fb1977e5 usr/share/hedera-web/locale/es/forms/admin/shelves.json
|
|
||||||
7292f95f63f5d71035479d0067132b62 usr/share/hedera-web/locale/es/forms/admin/users.json
|
|
||||||
0b3e07e71b43c402fbb4d3e2fb13294b usr/share/hedera-web/locale/es/forms/admin/visits.json
|
|
||||||
8bade347c5ccb776e74e2ee3146b5469 usr/share/hedera-web/locale/es/forms/agencies/packages.json
|
|
||||||
dde1d54b29c18f651a0955d3698d9a3e usr/share/hedera-web/locale/es/forms/agencies/provinces.json
|
|
||||||
f54b8bfab719781de40d26be1f15eff1 usr/share/hedera-web/locale/es/forms/cms/about.json
|
|
||||||
54e3bb52597c5ba9f56d8b8e44876757 usr/share/hedera-web/locale/es/forms/cms/contact.json
|
|
||||||
823cd3b63869ccd3e20d0af4214e151b usr/share/hedera-web/locale/es/forms/cms/home.json
|
|
||||||
d3f712ed87addced4f0a4eda780e7721 usr/share/hedera-web/locale/es/forms/cms/location.json
|
|
||||||
8a80554c91d9fca8acb82f023de02f11 usr/share/hedera-web/locale/es/forms/cms/training.json
|
|
||||||
61c7446681768c3abe7e2717ee8e1c44 usr/share/hedera-web/locale/es/forms/cms/why.json
|
|
||||||
a0e47b592a7569a48be74dde300e3f59 usr/share/hedera-web/locale/es/forms/ecomerce/basket.json
|
|
||||||
b7ac4c19321b1e32a87c3e86b48818dd usr/share/hedera-web/locale/es/forms/ecomerce/catalog.json
|
|
||||||
0fc1e03b368d54385d67129dbe2103e8 usr/share/hedera-web/locale/es/forms/ecomerce/checkout.json
|
|
||||||
d574e4ffbc8b2c10c2ad624aa343073d usr/share/hedera-web/locale/es/forms/ecomerce/confirm.json
|
|
||||||
d80013a61b39eabf58052bfb8e33315b usr/share/hedera-web/locale/es/forms/ecomerce/invoices.json
|
|
||||||
a2ac84e9e918769d29cf7d9fc0836ba3 usr/share/hedera-web/locale/es/forms/ecomerce/orders.json
|
|
||||||
d43df49c45e417d85ad959cf051965e5 usr/share/hedera-web/locale/es/forms/ecomerce/ticket.json
|
|
||||||
84381988df96520e5fa93bdc7532d9e9 usr/share/hedera-web/locale/es/forms/news/new.json
|
|
||||||
f2c8b5f373a6162928fabd97b98b903e usr/share/hedera-web/locale/es/forms/news/news.json
|
|
||||||
d884def5e10494cd6d6d5de19a532d1f usr/share/hedera-web/locale/es/js/db.js
|
|
||||||
34a2ba5fc9473047d7b940e7093df6b6 usr/share/hedera-web/locale/es/js/htk.js
|
|
||||||
d7df2b0d549d3a95a2593eab5fc81717 usr/share/hedera-web/locale/es/js/vn.js
|
|
||||||
8c8ecf36f930e852b71816dc72de85a3 usr/share/hedera-web/locale/es/pages/login.json
|
|
||||||
33153cbbe9876c9889d65f0451c26f43 usr/share/hedera-web/locale/es/pages/tpv.json
|
|
||||||
b5ebe89a4009f7fc194fe5560da6dbd5 usr/share/hedera-web/locale/es/pages/update-browser.json
|
|
||||||
a8a30c511e60ee272902107abd7c4216 usr/share/hedera-web/locale/es/pages/version-menu.json
|
|
||||||
4caebd9eb5ed83ec29a491a2c95e65ca usr/share/hedera-web/locale/es/pages/web.json
|
|
||||||
629cf43aeaea17830c0a2325d8cff6b8 usr/share/hedera-web/locale/es/rest/query.json
|
|
||||||
e8c1c9a87d8854768192c9c3604332fa usr/share/hedera-web/locale/fr/forms/account/address-list.json
|
|
||||||
f72113e257382cdac93e8a7619a34ec9 usr/share/hedera-web/locale/fr/forms/account/address.json
|
|
||||||
06a10438ff0314a254e3213c2a1ef827 usr/share/hedera-web/locale/fr/forms/account/conf.json
|
|
||||||
839b1e3b2c631130871a91b340b93f87 usr/share/hedera-web/locale/fr/forms/admin/access-log.json
|
|
||||||
4a4c16b0b4187fe5d1e352c10bf9ff14 usr/share/hedera-web/locale/fr/forms/admin/links.json
|
|
||||||
8038401247b9e0fb328abcaa4e7961c2 usr/share/hedera-web/locale/fr/forms/admin/photos.json
|
|
||||||
cc5227262fc2bc90fdfe8533fb1977e5 usr/share/hedera-web/locale/fr/forms/admin/shelves.json
|
|
||||||
49ce25ef24cc9d48694b44e8c831bffc usr/share/hedera-web/locale/fr/forms/admin/users.json
|
|
||||||
fecf197a622a235b00a35a6bb40a49f3 usr/share/hedera-web/locale/fr/forms/admin/visits.json
|
|
||||||
f0492b9789a37bfd46ce32b3c4caddea usr/share/hedera-web/locale/fr/forms/agencies/packages.json
|
|
||||||
1bd1d994d44ba40eb56e4abe91df83bd usr/share/hedera-web/locale/fr/forms/agencies/provinces.json
|
|
||||||
12117d0cfbe85e8580c8945010ce748b usr/share/hedera-web/locale/fr/forms/cms/about.json
|
|
||||||
065557906305dda325e88c7f432f138c usr/share/hedera-web/locale/fr/forms/cms/contact.json
|
|
||||||
f84fe550c7a4becc06e7c8d96b5bfebc usr/share/hedera-web/locale/fr/forms/cms/home.json
|
|
||||||
23518a44c2916939e809914a403ce7bd usr/share/hedera-web/locale/fr/forms/cms/location.json
|
|
||||||
8a80554c91d9fca8acb82f023de02f11 usr/share/hedera-web/locale/fr/forms/cms/training.json
|
|
||||||
312715d62d1cefe41883304473e441c2 usr/share/hedera-web/locale/fr/forms/cms/why.json
|
|
||||||
cad0918b30430f216e83f145239ce068 usr/share/hedera-web/locale/fr/forms/ecomerce/basket.json
|
|
||||||
459bd0a03b8b2173c2385d27139db896 usr/share/hedera-web/locale/fr/forms/ecomerce/catalog.json
|
|
||||||
6cfe3abae9e40d11bb8cd087891f3eba usr/share/hedera-web/locale/fr/forms/ecomerce/checkout.json
|
|
||||||
fea79ff2566adea2fa846e054f243f71 usr/share/hedera-web/locale/fr/forms/ecomerce/confirm.json
|
|
||||||
522cb2d2fd8463b96d51bcd77d399936 usr/share/hedera-web/locale/fr/forms/ecomerce/invoices.json
|
|
||||||
621a3d7c0825ba53ae7fde47b0859db4 usr/share/hedera-web/locale/fr/forms/ecomerce/orders.json
|
|
||||||
3a488a3c66c8e248287ce67152edd181 usr/share/hedera-web/locale/fr/forms/ecomerce/ticket.json
|
|
||||||
4dc55be898fd6880541f6ef3477bf073 usr/share/hedera-web/locale/fr/forms/news/new.json
|
|
||||||
1605669b9da04a8d432900b123bd41bd usr/share/hedera-web/locale/fr/forms/news/news.json
|
|
||||||
bc403b9d5c545a086208edb055fdd73f usr/share/hedera-web/locale/fr/js/db.js
|
|
||||||
a55964100b1b47f8bee417df02cd3079 usr/share/hedera-web/locale/fr/js/htk.js
|
|
||||||
132f4af8b8278f3e7a0a5a58449ffcb7 usr/share/hedera-web/locale/fr/js/vn.js
|
|
||||||
dbbf213596dda7e2075de3c14272a101 usr/share/hedera-web/locale/fr/pages/login.json
|
|
||||||
2107fb2d4c2463a8ad4637ba37904cf2 usr/share/hedera-web/locale/fr/pages/tpv.json
|
|
||||||
ae49195ba37522108ecc3ef3a0d8473b usr/share/hedera-web/locale/fr/pages/update-browser.json
|
|
||||||
c84e53764b4222bb9eb136ade0851ab5 usr/share/hedera-web/locale/fr/pages/version-menu.json
|
|
||||||
7e572998d11127780628df91ac1ba27d usr/share/hedera-web/locale/fr/pages/web.json
|
|
||||||
629cf43aeaea17830c0a2325d8cff6b8 usr/share/hedera-web/locale/fr/rest/query.json
|
|
||||||
693c00c7b772a509743c7e7301fafce5 usr/share/hedera-web/log.php
|
|
||||||
427fcd851eaf9b9ee754d6d645a2e5d9 usr/share/hedera-web/pages/login/head.php
|
|
||||||
caed0d20d197b2cc1c1e4c4f89f778e5 usr/share/hedera-web/pages/login/html.php
|
|
||||||
505b6c7c67c80937f02c60d132b93f7c usr/share/hedera-web/pages/login/login.js
|
|
||||||
b3bd8e048d52cb605fdf47995447193d usr/share/hedera-web/pages/login/login.php
|
|
||||||
a069e9b34d61b4542643b30fee5fa78e usr/share/hedera-web/pages/login/style.css
|
|
||||||
a76437affda8ce9d69fa043a08dd82ed usr/share/hedera-web/pages/tpv/html.php
|
|
||||||
01e25c929bfa675081bf4dbc112ff857 usr/share/hedera-web/pages/tpv/style.css
|
|
||||||
f7ed923499e72cf04c8818c800042703 usr/share/hedera-web/pages/update-browser/html.php
|
|
||||||
a7a2790cf93f5bdb834e0c773fbb1173 usr/share/hedera-web/pages/update-browser/style.css
|
|
||||||
de9916b089df8a1403d9abf5f29675a0 usr/share/hedera-web/pages/version-menu/html.php
|
|
||||||
4c9f95f258446e23c6bbea5315baa416 usr/share/hedera-web/pages/version-menu/new-web.svg
|
|
||||||
d3e4ed7cbf5f0bbd8522ce4c4327eedf usr/share/hedera-web/pages/version-menu/old-web.svg
|
|
||||||
b0457e671321de73b0784a17065064ed usr/share/hedera-web/pages/version-menu/style.css
|
|
||||||
c148b5cbeba003670cdcff7fdd98e974 usr/share/hedera-web/pages/web/head.php
|
|
||||||
39e0185729490e268121b8999a32a0cb usr/share/hedera-web/pages/web/html.php
|
|
||||||
bfcdf1cf3ed39bb4f0748ab692387367 usr/share/hedera-web/pages/web/mobile.css
|
|
||||||
21aaa91383d86c9c36879dff1a122ec0 usr/share/hedera-web/pages/web/module.js
|
|
||||||
67b7dc765029871b256118586587ebb5 usr/share/hedera-web/pages/web/style.css
|
|
||||||
faa5692608f89a9b7fb67cbe72ed51d3 usr/share/hedera-web/pages/web/tpv.js
|
|
||||||
3c0ac46fe8719a2c852043f2219a5a43 usr/share/hedera-web/pages/web/web.js
|
|
||||||
fb03346cc7791842fb515cff54695993 usr/share/hedera-web/pages/web/web.php
|
|
||||||
8a1f37b4f83fe560927c0082d424c8d0 usr/share/hedera-web/reports/shelves/report.xml
|
|
||||||
37eda0425fe099e00279b717b820dae8 usr/share/hedera-web/reports/shelves/shelves.js
|
|
||||||
aaf3207619e508943ce5f4404c188ee1 usr/share/hedera-web/reports/shelves/style.css
|
|
||||||
29b536ed112295b85e60534dc262b0f8 usr/share/hedera-web/rest.php
|
|
||||||
a7a16856c55f8f4abd7800b620fb095d usr/share/hedera-web/rest/image.php
|
|
||||||
6203ffbf087e96fa697d6b7c98076bf6 usr/share/hedera-web/rest/login.php
|
|
||||||
b5755c9ce32f02e43016f8b4cf83a699 usr/share/hedera-web/rest/logout.php
|
|
||||||
1b338a97f40b6935fe78cfba9d53dae2 usr/share/hedera-web/rest/query.php
|
|
||||||
7986b15f60b69c12d4501c198cd4cf45 usr/share/hedera-web/tpv/imap.php
|
|
||||||
e3ce4e25df2590d8091526abfbc2cec2 usr/share/hedera-web/tpv/post.php
|
|
||||||
72986dddc3b967f130863ab1b3a2c95c usr/share/hedera-web/tpv/soap-request.xml
|
|
||||||
8bc8249348c2c42f7f9fa35bd83c0d11 usr/share/hedera-web/tpv/soap-test.php
|
|
||||||
e7f240e74b905b57a69d5742ec1b39fa usr/share/hedera-web/tpv/soap.php
|
|
||||||
6566bbcdd700601b41a0ba900d684046 usr/share/hedera-web/unavailable.html
|
|
||||||
661edb035143513f107528e43fb51ecc usr/share/hedera-web/visits-sync.php
|
|
||||||
60f5a768e22fe1d12e704f1874328dad usr/share/php/vn/hedera/hedera.php
|
|
||||||
6bace7ec6436b9f44dcada4d504f39bd usr/share/php/vn/hedera/init.php
|
|
||||||
5c8b89461cd5a3f074a6306a92ebf0a2 usr/share/php/vn/hedera/js.php
|
|
||||||
e8df85e0ee4c4e30061e50aa5bbbd418 usr/share/php/vn/hedera/util.php
|
|
||||||
e0caac41eb6b8550d21af2784ce75950 usr/share/php/vn/hedera/web.php
|
|
||||||
da6f7a66e051faa275964dbfad9144bb usr/share/php/vn/rest/encoding.php
|
|
||||||
cb02cec5cef3837cd46567b8d4a9b5e9 usr/share/php/vn/rest/exception.php
|
|
||||||
0435f696e696e49f4bc1a171885520ba usr/share/php/vn/rest/message.php
|
|
||||||
d3a4548d59ec2968276c4e129602daba usr/share/php/vn/rest/module.php
|
|
||||||
42a1397adbeb28d0e3bcda041f39b561 usr/share/php/vn/rest/reply.php
|
|
||||||
789436a28eeeb85f11404d70ffb6a50b usr/share/php/vn/rest/rest.php
|
|
||||||
cb8ee19a8bc9596ed7f2dab424ab5b8b usr/share/php/vn/rest/service.php
|
|
||||||
6f514664d1f628e885a2b42a01972b62 usr/share/php/vn/tpv/soap-method.php
|
|
||||||
835c5948fdbcb6bef9e12b0bdf6be8c6 usr/share/php/vn/tpv/soap-reply.xml
|
|
||||||
ce3c43d77baf65f2b22a1b5c64315692 usr/share/php/vn/tpv/soap-request.dtd
|
|
||||||
4647e9312bc0cb6535f1a0d56a9249f1 usr/share/php/vn/tpv/soap.wsdl
|
|
||||||
4b026c4807179efb6e4ff84b63c101df usr/share/php/vn/tpv/tpv.php
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
a2enconf hedera-web
|
|
||||||
service apache2 reload
|
|
||||||
service cron restart
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
service apache2 reload
|
|
||||||
service cron restart
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../../hedera-web/apache.conf
|
|
|
@ -1,2 +0,0 @@
|
||||||
MAILTO=webmaster
|
|
||||||
*/4 * * * * www-data php5 /usr/share/hedera-web/tpv/imap.php
|
|
|
@ -1,22 +0,0 @@
|
||||||
# Alias /hedera-web /usr/share/hedera-web/
|
|
||||||
|
|
||||||
<Directory /usr/share/hedera-web/>
|
|
||||||
|
|
||||||
Options -Indexes -FollowSymLinks
|
|
||||||
AllowOverride None
|
|
||||||
|
|
||||||
Order Allow,Deny
|
|
||||||
Allow From All
|
|
||||||
|
|
||||||
<FilesMatch "\.(css|js|json|php|xml|html)$">
|
|
||||||
SetOutputFilter DEFLATE
|
|
||||||
</FilesMatch>
|
|
||||||
|
|
||||||
<FilesMatch "\.(ttf|otf|eot|woff)$">
|
|
||||||
<IfModule mod_headers.c>
|
|
||||||
Header set Access-Control-Allow-Origin "*"
|
|
||||||
</IfModule>
|
|
||||||
</FilesMatch>
|
|
||||||
|
|
||||||
</Directory>
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* Configuration file. Be careful to respect the PHP syntax.
|
|
||||||
**/
|
|
||||||
$conf = [
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Database parameters.
|
|
||||||
**/
|
|
||||||
'db' => [
|
|
||||||
'host' => 'db.verdnatura.es'
|
|
||||||
,'schema' => 'hedera-web'
|
|
||||||
,'user' => 'hedera-web'
|
|
||||||
,'pass' => 'base64pass'
|
|
||||||
]
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The default language.
|
|
||||||
**/
|
|
||||||
,'defaultLang' => 'es'
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
?>
|
|
|
@ -1,24 +0,0 @@
|
||||||
Format: http://dep.debian.net/deps/dep5
|
|
||||||
Name: hedera-web
|
|
||||||
Source: git://www.verdnatura.es/var/git/hedera-web
|
|
||||||
|
|
||||||
Files: *
|
|
||||||
Copyright: 2011-2015 Juan Ferrer Toribio <juan@verdnatura.es>
|
|
||||||
License: GPL-3.0+
|
|
||||||
|
|
||||||
License: GPL-3.0+
|
|
||||||
This package is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
.
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
.
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
.
|
|
||||||
On Debian systems, the complete text of the GNU General Public
|
|
||||||
License can be found in "/usr/share/common-licenses/GPL-3".
|
|
|
@ -1,42 +0,0 @@
|
||||||
|
|
||||||
Vn.AddressList = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
this.$('user-model').setInfo ('c', 'customer_view', 'hedera');
|
|
||||||
this.$('addresses').setInfo ('a', 'address_view', 'hedera');
|
|
||||||
}
|
|
||||||
|
|
||||||
,onAddAddressClick: function ()
|
|
||||||
{
|
|
||||||
this.hash.set ({
|
|
||||||
'form': 'account/address',
|
|
||||||
'address': 0
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
,onReturnClick: function ()
|
|
||||||
{
|
|
||||||
window.history.back();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onRemoveAddressClick: function (button, form)
|
|
||||||
{
|
|
||||||
if (confirm (_('AreYouSureDeleteAddress')))
|
|
||||||
{
|
|
||||||
form.set ('active', false);
|
|
||||||
form.refresh ();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
,onEditAddressClick: function (button, form)
|
|
||||||
{
|
|
||||||
this.hash.set ({
|
|
||||||
'form': 'account/address',
|
|
||||||
'address': form.get ('id')
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
|
|
||||||
.address-list
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.address-list .box
|
|
||||||
{
|
|
||||||
max-width: 40em;
|
|
||||||
}
|
|
||||||
.address-list .form
|
|
||||||
{
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 25em;
|
|
||||||
padding: 2em;
|
|
||||||
}
|
|
||||||
.address
|
|
||||||
{
|
|
||||||
color: #555;
|
|
||||||
padding: .5em;
|
|
||||||
}
|
|
||||||
.address p.consignee
|
|
||||||
{
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.address p
|
|
||||||
{
|
|
||||||
font-size: 1.4em;
|
|
||||||
margin: 0.2em 0;
|
|
||||||
}
|
|
||||||
.address .actions
|
|
||||||
{
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
|
@ -1,76 +0,0 @@
|
||||||
<vn>
|
|
||||||
<vn-group>
|
|
||||||
<db-form id="user-form">
|
|
||||||
<db-model id="user-model" updatable="true">
|
|
||||||
SELECT user_id, default_address
|
|
||||||
FROM customer_view c
|
|
||||||
</db-model>
|
|
||||||
</db-form>
|
|
||||||
<db-model id="addresses" updatable="true">
|
|
||||||
SELECT a.id, a.consignee, p.name province, a.zip_code, a.city, a.name, a.active, c.Pais country
|
|
||||||
FROM address_view a
|
|
||||||
LEFT JOIN vn2008.province p ON a.province_id = p.province_id
|
|
||||||
JOIN vn2008.Paises c ON c.Id = p.Paises_Id
|
|
||||||
WHERE active != FALSE
|
|
||||||
</db-model>
|
|
||||||
</vn-group>
|
|
||||||
<div id="form" class="address-list">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>Addresses</t></h1>
|
|
||||||
<div class="action-bar">
|
|
||||||
<button on-click="onReturnClick">
|
|
||||||
<img src="image/dark/go-previous.svg" alt=""/>
|
|
||||||
<t>Return</t>
|
|
||||||
</button>
|
|
||||||
<button on-click="onAddAddressClick">
|
|
||||||
<img src="image/dark/add.svg" alt=""/>
|
|
||||||
<t>AddAddress</t>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="clear"/>
|
|
||||||
</div>
|
|
||||||
<div class="form">
|
|
||||||
<htk-radio-group
|
|
||||||
id="default-address"
|
|
||||||
column="default_address"
|
|
||||||
form="user-form"/>
|
|
||||||
<htk-repeater model="addresses" form-id="iter">
|
|
||||||
<template>
|
|
||||||
<div class="address">
|
|
||||||
<p class="consignee">
|
|
||||||
<htk-text form="iter" column="consignee"/>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<htk-text form="iter" column="name"/>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<htk-text form="iter" column="zip_code"/>,
|
|
||||||
<htk-text form="iter" column="city"/>
|
|
||||||
</p>
|
|
||||||
<div class="actions">
|
|
||||||
<htk-radio
|
|
||||||
form="iter"
|
|
||||||
column="id"
|
|
||||||
radio-group="default-address"
|
|
||||||
tip="_SetAsDefault"/>
|
|
||||||
<htk-button
|
|
||||||
form="iter"
|
|
||||||
column="id"
|
|
||||||
tip="_RemoveAddress"
|
|
||||||
image="image/delete.svg"
|
|
||||||
on-click="onRemoveAddressClick"/>
|
|
||||||
<htk-button
|
|
||||||
form="iter"
|
|
||||||
column="id"
|
|
||||||
tip="_EditAddress"
|
|
||||||
image="image/edit.svg"
|
|
||||||
on-click="onEditAddressClick"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</htk-repeater>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,35 +0,0 @@
|
||||||
|
|
||||||
Vn.Address = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
this.$('model').setInfo ('a', 'address_view', 'hedera', ['id'], 'id');
|
|
||||||
this.$('model').setDefault ('customer_id', 'a',
|
|
||||||
new Sql.Func ({schema: 'account', name: 'user_get_id'}));
|
|
||||||
}
|
|
||||||
|
|
||||||
,onStatusChange: function (form)
|
|
||||||
{
|
|
||||||
if (form.ready && this.$('address').value == 0)
|
|
||||||
form.insertRow ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onOperationsDone: function ()
|
|
||||||
{
|
|
||||||
Htk.Toast.showMessage (_('AddressChangedSuccessfully'));
|
|
||||||
this.onReturnClick ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onAcceptClick: function ()
|
|
||||||
{
|
|
||||||
this.$('iter').performOperations ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onReturnClick: function ()
|
|
||||||
{
|
|
||||||
window.history.back();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
|
|
||||||
.address
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.address .box
|
|
||||||
{
|
|
||||||
max-width: 40em;
|
|
||||||
}
|
|
||||||
.address .box .body
|
|
||||||
{
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 25em;
|
|
||||||
padding: 3em;
|
|
||||||
}
|
|
||||||
div.form-group
|
|
||||||
{
|
|
||||||
padding: 0.4em;
|
|
||||||
}
|
|
||||||
.address label
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin-bottom: 0.5em;
|
|
||||||
}
|
|
||||||
.address input,
|
|
||||||
.address select
|
|
||||||
{
|
|
||||||
margin: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,77 +0,0 @@
|
||||||
<vn>
|
|
||||||
<vn-group>
|
|
||||||
<vn-param id="address">
|
|
||||||
<vn-hash-param key="address"/>
|
|
||||||
</vn-param>
|
|
||||||
<db-form id="iter" on-status-changed="onStatusChange">
|
|
||||||
<db-param id="country" one-way="true" column="country_id"/>
|
|
||||||
<db-model id="model" updatable="true" mode="ON_DEMAND" on-operations-done="onOperationsDone">
|
|
||||||
SELECT a.id, a.name, a.consignee, a.city, a.zip_code, a.province_id, c.Id country_id
|
|
||||||
FROM address_view a
|
|
||||||
LEFT JOIN vn2008.province p ON p.province_id = a.province_id
|
|
||||||
JOIN vn2008.Paises c ON c.Id = p.Paises_Id
|
|
||||||
WHERE active != FALSE AND a.id = #address
|
|
||||||
<sql-batch property="batch">
|
|
||||||
<item name="address" param="address"/>
|
|
||||||
</sql-batch>
|
|
||||||
</db-model>
|
|
||||||
</db-form>
|
|
||||||
</vn-group>
|
|
||||||
<div id="form" class="address">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>AddEditAddress</t></h1>
|
|
||||||
<div class="action-bar">
|
|
||||||
<button on-click="onReturnClick">
|
|
||||||
<img src="image/dark/go-previous.svg" alt=""/>
|
|
||||||
<t>Return</t>
|
|
||||||
</button>
|
|
||||||
<button on-click="onAcceptClick">
|
|
||||||
<img src="image/dark/ok.svg" alt=""/>
|
|
||||||
<t>Accept</t>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Name</t></label>
|
|
||||||
<htk-entry column="consignee" form="iter"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Address</t></label>
|
|
||||||
<htk-entry column="name" form="iter"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>City</t></label>
|
|
||||||
<htk-entry column="city" form="iter"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>ZipCode</t></label>
|
|
||||||
<htk-entry column="zip_code" form="iter"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Country</t></label>
|
|
||||||
<htk-combo param="country">
|
|
||||||
<db-model property="model">
|
|
||||||
SELECT Id, Pais FROM vn2008.Paises
|
|
||||||
ORDER BY Pais
|
|
||||||
</db-model>
|
|
||||||
</htk-combo>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Province</t></label>
|
|
||||||
<htk-combo column="province_id" form="iter">
|
|
||||||
<db-model property="model">
|
|
||||||
SELECT province_id, name FROM vn2008.province
|
|
||||||
WHERE Paises_Id = #country
|
|
||||||
ORDER BY name
|
|
||||||
<sql-batch property="batch">
|
|
||||||
<item name="country" param="country"/>
|
|
||||||
</sql-batch>
|
|
||||||
</db-model>
|
|
||||||
</htk-combo>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,58 +0,0 @@
|
||||||
|
|
||||||
Vn.Conf = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
this.$('user-model').setInfo ('u', 'user_view', 'hedera');
|
|
||||||
this.$('user-model').setInfo ('c', 'customer_view', 'hedera');
|
|
||||||
this.$('addresses').setInfo ('a', 'address_view', 'hedera');
|
|
||||||
}
|
|
||||||
|
|
||||||
,onPasswordChange: function ()
|
|
||||||
{
|
|
||||||
var newPassword = this.$('new-password').value;
|
|
||||||
var repeatedPassword = this.$('repeat-password').value;
|
|
||||||
|
|
||||||
if (newPassword != '' && repeatedPassword != '')
|
|
||||||
{
|
|
||||||
if (newPassword === repeatedPassword)
|
|
||||||
{
|
|
||||||
var batch = new Sql.Batch ();
|
|
||||||
batch.addValue ('password', newPassword);
|
|
||||||
|
|
||||||
var query = 'UPDATE user_view SET password = MD5(#password) '
|
|
||||||
+'WHERE id = account.user_get_id () LIMIT 1';
|
|
||||||
|
|
||||||
this.conn.execQuery (query, this.onPasswordUpdate.bind (this), batch);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Htk.Toast.showError (_('PasswordsDoesntMatch'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
,onPasswordUpdate: function (resultSet)
|
|
||||||
{
|
|
||||||
if (!resultSet.fetchResult ())
|
|
||||||
return;
|
|
||||||
|
|
||||||
this.relogin ();
|
|
||||||
Htk.Toast.showMessage (_('PasswordsChanged'));
|
|
||||||
}
|
|
||||||
|
|
||||||
,relogin: function ()
|
|
||||||
{
|
|
||||||
this.conn.open (
|
|
||||||
this.$('user-form').get ('name')
|
|
||||||
,this.$('new-password').value
|
|
||||||
,Vn.Cookie.check ('vn_pass')
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
,onAddressesClick: function ()
|
|
||||||
{
|
|
||||||
this.hash.set ({'form': 'account/address-list'});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
|
|
||||||
.conf
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.conf .box
|
|
||||||
{
|
|
||||||
max-width: 40em;
|
|
||||||
}
|
|
||||||
.conf .form
|
|
||||||
{
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 25em;
|
|
||||||
padding: 2em;
|
|
||||||
}
|
|
||||||
.conf .form-group
|
|
||||||
{
|
|
||||||
padding: 0.4em;
|
|
||||||
}
|
|
||||||
.conf .form-group label
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin-bottom: 0.5em;
|
|
||||||
}
|
|
||||||
.conf .form-group input[type=text],
|
|
||||||
.conf .form-group input[type=password]
|
|
||||||
{
|
|
||||||
margin: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.conf .form-group input[type=password]
|
|
||||||
{
|
|
||||||
margin-bottom: 0.5em;
|
|
||||||
}
|
|
|
@ -1,60 +0,0 @@
|
||||||
<vn>
|
|
||||||
<vn-group>
|
|
||||||
<db-form id="user-form">
|
|
||||||
<db-model id="user-model" updatable="true">
|
|
||||||
SELECT id, u.name, email, mail, c.user_id, c.default_address
|
|
||||||
FROM user_view u
|
|
||||||
LEFT JOIN customer_view c
|
|
||||||
ON u.id = c.user_id
|
|
||||||
</db-model>
|
|
||||||
</db-form>
|
|
||||||
<db-model id="addresses" updatable="true">
|
|
||||||
SELECT a.id, a.consignee, p.name province, a.zip_code, a.city, a.name, a.active, c.Pais country
|
|
||||||
FROM address_view a
|
|
||||||
LEFT JOIN vn2008.province p ON a.province_id = p.province_id
|
|
||||||
JOIN vn2008.Paises c ON c.Id = p.Paises_Id
|
|
||||||
WHERE active != FALSE
|
|
||||||
</db-model>
|
|
||||||
</vn-group>
|
|
||||||
<div id="form" class="conf">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>Configuration</t></h1>
|
|
||||||
<div class="action-bar">
|
|
||||||
<button on-click="onAddressesClick">
|
|
||||||
<img src="image/dark/shipping.svg" alt=""/>
|
|
||||||
<t>Addresses</t>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="clear"/>
|
|
||||||
</div>
|
|
||||||
<div class="form">
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="user-name"><t>UserName</t></label>
|
|
||||||
<htk-text column="name" form="user-form"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="user-pass"><t>Password</t></label>
|
|
||||||
<input
|
|
||||||
id="new-password"
|
|
||||||
type="password"
|
|
||||||
placeholder="_NewPassword"
|
|
||||||
on-change="onPasswordChange"/>
|
|
||||||
<input
|
|
||||||
id="repeat-password"
|
|
||||||
type="password"
|
|
||||||
placeholder="_RepeatPassword"
|
|
||||||
on-change="onPasswordChange"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="email"><t>Email</t></label>
|
|
||||||
<htk-entry column="email" form="user-form"></htk-entry>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="mail"><t>ReceiveInvoicesByEmail</t></label>
|
|
||||||
<htk-check column="mail" form="user-form"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,6 +0,0 @@
|
||||||
|
|
||||||
Vn.AccessLog = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
.access-log
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
min-width: 35em;
|
|
||||||
}
|
|
||||||
.access-log .box
|
|
||||||
{
|
|
||||||
max-width: 50em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.access-log .htk-grid tbody tr
|
|
||||||
{
|
|
||||||
height: 3.4em;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,81 +0,0 @@
|
||||||
<vn>
|
|
||||||
<vn-group>
|
|
||||||
<vn-param id="user">
|
|
||||||
<vn-hash-param key="user"/>
|
|
||||||
</vn-param>
|
|
||||||
<db-form id="user-form">
|
|
||||||
<db-model>
|
|
||||||
SELECT Id_Cliente, Cliente, Telefono, movil
|
|
||||||
FROM vn2008.Clientes WHERE Id_Cliente = #user
|
|
||||||
<sql-batch property="batch">
|
|
||||||
<item name="user" param="user"/>
|
|
||||||
</sql-batch>
|
|
||||||
</db-model>
|
|
||||||
</db-form>
|
|
||||||
</vn-group>
|
|
||||||
<div id="form" class="access-log">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>AccessLog</t></h1>
|
|
||||||
</div>
|
|
||||||
<table class="form">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>UserNumber:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-text column="Id_Cliente" form="user-form"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>User:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-text column="Cliente" form="user-form"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>Phone:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-text column="Telefono" form="user-form"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>Mobile:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-text column="movil" form="user-form"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div>
|
|
||||||
<htk-grid>
|
|
||||||
<db-model>
|
|
||||||
SELECT u.date_time, a.platform, a.browser, a.version, a.javascript, a.cookies
|
|
||||||
FROM visit_user u
|
|
||||||
JOIN visit_access c ON u.access_id = c.id
|
|
||||||
JOIN visit_agent a ON c.agent_id = a.id
|
|
||||||
WHERE u.user_id = #user
|
|
||||||
ORDER BY u.date_time DESC
|
|
||||||
LIMIT 30
|
|
||||||
<sql-batch property="batch">
|
|
||||||
<item name="user" param="user"/>
|
|
||||||
</sql-batch>
|
|
||||||
</db-model>
|
|
||||||
<htk-column-date title="_Access" column="date_time" format="_%a, %e %b %Y at %T"/>
|
|
||||||
<htk-column-text title="_SO" column="platform"/>
|
|
||||||
<htk-column-text title="_Browser" column="browser"/>
|
|
||||||
<htk-column-text title="_Version" column="version"/>
|
|
||||||
<htk-column-check title="_Javascript" column="javascript"/>
|
|
||||||
<htk-column-check title="_Cookies" column="cookies"/>
|
|
||||||
</htk-grid>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,16 +0,0 @@
|
||||||
|
|
||||||
Vn.Links = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
this.$('column-link').renderer = this.linkRenderer;
|
|
||||||
}
|
|
||||||
|
|
||||||
,linkRenderer: function (column, form)
|
|
||||||
{
|
|
||||||
column.href = form.get ('link');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
|
|
||||||
.cpanel
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.cpanel .box
|
|
||||||
{
|
|
||||||
max-width: 60em;
|
|
||||||
min-width: 25em;
|
|
||||||
}
|
|
||||||
.cpanel tbody tr
|
|
||||||
{
|
|
||||||
height: 3.5em;
|
|
||||||
}
|
|
||||||
.cpanel tbody td img
|
|
||||||
{
|
|
||||||
min-height: 1.6em;
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="cpanel">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>ControlPanel</t></h1>
|
|
||||||
</div>
|
|
||||||
<htk-grid show-header="false">
|
|
||||||
<db-model>
|
|
||||||
SELECT image, name, description, link FROM link
|
|
||||||
ORDER BY name
|
|
||||||
</db-model>
|
|
||||||
<htk-column-image directory="link" subdir="full" column="image"/>
|
|
||||||
<htk-column-link column="name" target="\_blank" id="column-link"/>
|
|
||||||
<htk-column-text column="description"/>
|
|
||||||
</htk-grid>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,43 +0,0 @@
|
||||||
|
|
||||||
Vn.Photos = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
this.$('schema').value = 'catalog';
|
|
||||||
this.$('photo-size').value = 10 /* MB */ * 1048576;
|
|
||||||
this.$('photo-id').focus ();
|
|
||||||
this.$('html-form').action =
|
|
||||||
'//'+ Vn.Config['image_host'] +'/rest.php?action=image';
|
|
||||||
}
|
|
||||||
|
|
||||||
,onFormSubmit: function ()
|
|
||||||
{
|
|
||||||
this.$('schema-field').value = this.$('schema').value;
|
|
||||||
this.$('submit').disabled = true;
|
|
||||||
this.gui.loaderPush ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onImageUpload: function ()
|
|
||||||
{
|
|
||||||
this.gui.loaderPop ();
|
|
||||||
this.$('submit').disabled = false;
|
|
||||||
|
|
||||||
try {
|
|
||||||
var responseText = this.$('iframe').contentDocument.body.textContent;
|
|
||||||
var response = eval ('('+ responseText +')');
|
|
||||||
|
|
||||||
if (response.data)
|
|
||||||
{
|
|
||||||
this.$('photo-id').value = '';
|
|
||||||
this.$('photo-id').focus ();
|
|
||||||
Htk.Toast.showMessage (_('ImageUploaded'));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Htk.Toast.showError (response.error.message +' ('+ response.error.code +')');
|
|
||||||
}
|
|
||||||
catch (e) {}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
session_start ();
|
|
||||||
|
|
||||||
$params = array
|
|
||||||
(
|
|
||||||
'name'
|
|
||||||
,'surname'
|
|
||||||
,'email'
|
|
||||||
,'message'
|
|
||||||
,'address'
|
|
||||||
,'pc'
|
|
||||||
,'city'
|
|
||||||
,'phone'
|
|
||||||
,'captcha'
|
|
||||||
);
|
|
||||||
|
|
||||||
$paramsOk = TRUE;
|
|
||||||
|
|
||||||
foreach ($params as $param)
|
|
||||||
if (!isset ($_POST[$param]) || $_POST[$param] == '')
|
|
||||||
{
|
|
||||||
$paramsOk = FALSE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
header ('Content-Type: application/json');
|
|
||||||
|
|
||||||
if ($paramsOk && isset ($_SESSION['captcha'])
|
|
||||||
&& $_POST['captcha'] == $_SESSION['captcha'])
|
|
||||||
{
|
|
||||||
mail ('nuria@verdnatura.es', 'Verdnatura', print_r ($_POST, TRUE),
|
|
||||||
'From: Verdnatura <www-data@verdnatura.es>');
|
|
||||||
|
|
||||||
echo json_encode (TRUE);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
echo json_encode (FALSE);
|
|
||||||
|
|
||||||
unset ($_SESSION['captcha']);
|
|
||||||
|
|
||||||
?>
|
|
|
@ -1,44 +0,0 @@
|
||||||
|
|
||||||
.photos
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.photos .box
|
|
||||||
{
|
|
||||||
max-width: 40em;
|
|
||||||
}
|
|
||||||
.photos form
|
|
||||||
{
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 25em;
|
|
||||||
}
|
|
||||||
div.form-group
|
|
||||||
{
|
|
||||||
padding: 0.4em;
|
|
||||||
}
|
|
||||||
.photos form label
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin-bottom: 0.5em;
|
|
||||||
}
|
|
||||||
.photos input,
|
|
||||||
.photos select
|
|
||||||
{
|
|
||||||
margin: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.photos iframe
|
|
||||||
{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Footer */
|
|
||||||
|
|
||||||
.photos button
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 0.6em;
|
|
||||||
margin-top: 1.5em;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="photos">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>Photos</t></h1>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<form
|
|
||||||
id="html-form"
|
|
||||||
method="post"
|
|
||||||
enctype="multipart/form-data"
|
|
||||||
target="photos-iframe"
|
|
||||||
on-submit="onFormSubmit">
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Id</t></label>
|
|
||||||
<input type="number" name="id" id="photo-id"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>ImageName</t></label>
|
|
||||||
<input type="text" name="name"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Schema</t></label>
|
|
||||||
<input type="hidden" name="schema" id="schema-field"/>
|
|
||||||
<htk-combo id="schema">
|
|
||||||
<db-model property="model">
|
|
||||||
SELECT name, `desc` FROM image_schema ORDER BY `desc`
|
|
||||||
</db-model>
|
|
||||||
</htk-combo>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>ImageFile</t></label>
|
|
||||||
<input type="file" name="image"/>
|
|
||||||
<input type="hidden" name="MAX_FILE_SIZE" id="photo-size"/>
|
|
||||||
</div>
|
|
||||||
<button class="flat" id="submit">
|
|
||||||
<t>Upload</t>
|
|
||||||
</button>
|
|
||||||
</form>
|
|
||||||
<iframe
|
|
||||||
id="iframe"
|
|
||||||
name="photos-iframe"
|
|
||||||
on-load="onImageUpload"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,307 +0,0 @@
|
||||||
|
|
||||||
Vn.Shelves = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
this.$('report-title').value = 'Anthuriums';
|
|
||||||
this.$('warehouse').value = 44;
|
|
||||||
this.$('date').value = new Date ();
|
|
||||||
this.$('shelf').value = 1;
|
|
||||||
this.$('reign').value = 1;
|
|
||||||
this.$('family').value = 2;
|
|
||||||
this.$('filter').value = 'Ant %';
|
|
||||||
this.$('max-amount').value = 50;
|
|
||||||
}
|
|
||||||
|
|
||||||
,onPreviewClick: function ()
|
|
||||||
{
|
|
||||||
var report = new Vn.ShelvesReport ({conn: this.conn});
|
|
||||||
report.setParams (
|
|
||||||
this.$('report-title').value,
|
|
||||||
this.$('warehouse').value,
|
|
||||||
this.$('date').value,
|
|
||||||
this.$('family').value,
|
|
||||||
this.$('filter').value,
|
|
||||||
this.$('max-amount').value,
|
|
||||||
this.$('shelf').value
|
|
||||||
);
|
|
||||||
report.open ();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Vn.ShelvesReport = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Report
|
|
||||||
|
|
||||||
,nItem: -1
|
|
||||||
,nColors: 4
|
|
||||||
|
|
||||||
,setParams: function (title, warehouse, date, type, filter, maxAmount, shelf)
|
|
||||||
{
|
|
||||||
this.title = title;
|
|
||||||
this.maxAmount = maxAmount;
|
|
||||||
|
|
||||||
var batch = new Sql.Batch ();
|
|
||||||
batch.addValue ('shelf', shelf);
|
|
||||||
batch.addValue ('wh', warehouse);
|
|
||||||
batch.addValue ('date', date);
|
|
||||||
batch.addValue ('type', type);
|
|
||||||
batch.addValue ('filter', filter);
|
|
||||||
this.batch = batch;
|
|
||||||
}
|
|
||||||
|
|
||||||
,open: function ()
|
|
||||||
{
|
|
||||||
var query =
|
|
||||||
'SELECT id, name, width, height, max_height, tray_height, '+
|
|
||||||
'first_tray_elevation, tray_density, vspacing, hspacing '+
|
|
||||||
'FROM vn2008.shelf WHERE id = #shelf; '+
|
|
||||||
'CALL item_organizer (#wh, #date, #type, #filter)';
|
|
||||||
|
|
||||||
this.conn.execQuery (query, this.onQueryExec.bind (this), this.batch);
|
|
||||||
}
|
|
||||||
|
|
||||||
,onQueryExec: function (resultSet)
|
|
||||||
{
|
|
||||||
// Fetch query data
|
|
||||||
|
|
||||||
var res = resultSet.fetchResult ();
|
|
||||||
res.next ();
|
|
||||||
|
|
||||||
var scale = 0.08;
|
|
||||||
|
|
||||||
var shelf = this.shelf =
|
|
||||||
{
|
|
||||||
width: res.get ('width') * scale
|
|
||||||
,height: res.get ('height') * scale
|
|
||||||
,maxHeight: res.get ('max_height') * scale
|
|
||||||
,trayHeight: res.get ('tray_height') * scale
|
|
||||||
,firstTrayElevation: res.get ('first_tray_elevation') * scale
|
|
||||||
,trayDensity: res.get ('tray_density') * scale
|
|
||||||
,vspacing: res.get ('vspacing') * scale
|
|
||||||
,hspacing: res.get ('hspacing') * scale
|
|
||||||
};
|
|
||||||
|
|
||||||
var items = [];
|
|
||||||
var res = resultSet.fetchResult ();
|
|
||||||
|
|
||||||
while (res.next ())
|
|
||||||
items.push ({
|
|
||||||
name: res.get ('Article') +' x'+ res.get ('Medida')
|
|
||||||
,boxHeight: res.get ('z') * 10 * scale
|
|
||||||
,boxWidth: res.get ('x') * 10 * scale
|
|
||||||
,amount: res.get ('etiquetas')
|
|
||||||
});
|
|
||||||
|
|
||||||
// Intializes the allocator
|
|
||||||
|
|
||||||
alloc = new Vn.Allocator ();
|
|
||||||
alloc.items = items;
|
|
||||||
alloc.maxAmount = this.maxAmount;
|
|
||||||
alloc.shelfFunc = this.drawShelf.bind (this);
|
|
||||||
alloc.boxFunc = this.drawBox.bind (this);
|
|
||||||
|
|
||||||
alloc.nTrays = Math.ceil (
|
|
||||||
(shelf.height - shelf.firstTrayElevation) /
|
|
||||||
(shelf.trayHeight + shelf.trayDensity)
|
|
||||||
);
|
|
||||||
alloc.trayWidth = shelf.width - shelf.hspacing * 2;
|
|
||||||
alloc.trayHeight = shelf.trayHeight - shelf.vspacing;
|
|
||||||
alloc.topTrayHeight = shelf.maxHeight - shelf.vspacing
|
|
||||||
- shelf.firstTrayElevation - (alloc.nTrays - 1) * shelf.trayHeight;
|
|
||||||
|
|
||||||
// Opens the report
|
|
||||||
|
|
||||||
this.createWindow ('shelves');
|
|
||||||
alloc.run ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,drawShelf: function (allocator)
|
|
||||||
{
|
|
||||||
var shelf = this.shelf;
|
|
||||||
|
|
||||||
var sheet = this.doc.createElement ('div');
|
|
||||||
sheet.className = 'sheet';
|
|
||||||
/* sheet.style.top = (allocator.currentShelf * 297) +'mm';
|
|
||||||
*/ this.doc.body.appendChild (sheet);
|
|
||||||
|
|
||||||
// Draws the title
|
|
||||||
|
|
||||||
var title = this.doc.createElement ('h1');
|
|
||||||
title.className = 'title';
|
|
||||||
title.appendChild (this.doc.createTextNode (this.title));
|
|
||||||
sheet.appendChild (title);
|
|
||||||
|
|
||||||
var pageNumber = this.doc.createElement ('h1');
|
|
||||||
pageNumber.className = 'page-number';
|
|
||||||
pageNumber.appendChild (this.doc.createTextNode (allocator.currentShelf + 1));
|
|
||||||
sheet.appendChild (pageNumber);
|
|
||||||
|
|
||||||
// Draws the shelf
|
|
||||||
|
|
||||||
var shelfDiv = this.shelfDiv = this.doc.createElement ('div');
|
|
||||||
shelfDiv.className = 'shelf';
|
|
||||||
shelfDiv.style.width = this.shelf.width +'mm';
|
|
||||||
shelfDiv.style.height = this.shelf.maxHeight +'mm';
|
|
||||||
sheet.appendChild (shelfDiv);
|
|
||||||
|
|
||||||
this.drawEdge ().style.left = 0;
|
|
||||||
this.drawEdge ().style.right = 0;
|
|
||||||
|
|
||||||
// Draws trays
|
|
||||||
|
|
||||||
var lastTrayY = shelf.firstTrayElevation;
|
|
||||||
|
|
||||||
if (shelf.trayHeight > 0)
|
|
||||||
while (lastTrayY + shelf.trayDensity < shelf.height)
|
|
||||||
{
|
|
||||||
var tray = this.doc.createElement ('div');
|
|
||||||
tray.className = 'tray';
|
|
||||||
tray.style.width = this.shelf.width +'mm';
|
|
||||||
tray.style.height = '1mm';
|
|
||||||
tray.style.bottom = lastTrayY +'mm';
|
|
||||||
shelfDiv.appendChild (tray);
|
|
||||||
|
|
||||||
lastTrayY += shelf.trayHeight + shelf.trayDensity;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
,drawEdge: function (shelfDiv)
|
|
||||||
{
|
|
||||||
var edge = this.doc.createElement ('div');
|
|
||||||
edge.className = 'edge';
|
|
||||||
edge.style.width = '1mm';
|
|
||||||
edge.style.height = this.shelf.height +'mm';
|
|
||||||
edge.style.bottom = 0;
|
|
||||||
this.shelfDiv.appendChild (edge);
|
|
||||||
return edge;
|
|
||||||
}
|
|
||||||
|
|
||||||
,drawBox: function (allocator, item, amount)
|
|
||||||
{
|
|
||||||
if (item.boxWidth == 0 || item.boxHeight == 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var shelf = this.shelf;
|
|
||||||
|
|
||||||
var x = allocator.trayX + shelf.hspacing;
|
|
||||||
var y = allocator.trayY
|
|
||||||
+ shelf.firstTrayElevation + shelf.trayDensity
|
|
||||||
+ allocator.currentTray * (shelf.trayHeight + shelf.trayDensity);
|
|
||||||
|
|
||||||
var box = this.doc.createElement ('div');
|
|
||||||
box.className = 'box';
|
|
||||||
this.shelfDiv.appendChild (box);
|
|
||||||
|
|
||||||
box.style.left = x +'mm';
|
|
||||||
box.style.bottom = y +'mm';
|
|
||||||
box.style.width = item.boxWidth +'mm';
|
|
||||||
box.style.height = item.boxHeight +'mm';
|
|
||||||
|
|
||||||
if (amount == 0)
|
|
||||||
this.nItem++;
|
|
||||||
|
|
||||||
var nColor = this.nItem % this.nColors;
|
|
||||||
Vn.Node.addClass (box, 'color'+ nColor);
|
|
||||||
|
|
||||||
if (amount == 0 || allocator.firstShelfBox)
|
|
||||||
{
|
|
||||||
var boxLabel = this.doc.createElement ('span');
|
|
||||||
box.appendChild (boxLabel);
|
|
||||||
|
|
||||||
var text = this.doc.createTextNode (item.name);
|
|
||||||
boxLabel.appendChild (text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Vn.Allocator = new Class
|
|
||||||
({
|
|
||||||
addShelf: function ()
|
|
||||||
{
|
|
||||||
this.currentShelf++;
|
|
||||||
this.firstShelfBox = true;
|
|
||||||
|
|
||||||
if (this.shelfFunc)
|
|
||||||
this.shelfFunc (this);
|
|
||||||
}
|
|
||||||
|
|
||||||
,addTray: function ()
|
|
||||||
{
|
|
||||||
if (this.currentTray <= 0)
|
|
||||||
{
|
|
||||||
this.addShelf ();
|
|
||||||
this.currentTray = this.nTrays - 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
this.currentTray--;
|
|
||||||
|
|
||||||
this.trayX = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
,addColumn: function (width)
|
|
||||||
{
|
|
||||||
if (this.trayX + this.columnWidth + width > this.trayWidth
|
|
||||||
|| this.currentTray == -1)
|
|
||||||
this.addTray ();
|
|
||||||
else
|
|
||||||
this.trayX += this.columnWidth;
|
|
||||||
|
|
||||||
this.trayY = 0;
|
|
||||||
this.columnWidth = width;
|
|
||||||
this.lastBoxWidth = width;
|
|
||||||
}
|
|
||||||
|
|
||||||
,addBox: function (item, amount)
|
|
||||||
{
|
|
||||||
var trayHeight = this.trayHeight;
|
|
||||||
|
|
||||||
if (this.currentTray == this.nTrays - 1)
|
|
||||||
trayHeight = this.topTrayHeight;
|
|
||||||
|
|
||||||
if (this.trayY + item.boxHeight > trayHeight
|
|
||||||
|| item.boxWidth > this.lastBoxWidth)
|
|
||||||
this.addColumn (item.boxWidth);
|
|
||||||
|
|
||||||
if (this.boxFunc)
|
|
||||||
this.boxFunc (this, item, amount);
|
|
||||||
|
|
||||||
this.trayY += item.boxHeight;
|
|
||||||
|
|
||||||
if (item.boxWidth < this.lastBoxWidth)
|
|
||||||
this.lastBoxWidth = item.boxWidth;
|
|
||||||
}
|
|
||||||
|
|
||||||
,run: function ()
|
|
||||||
{
|
|
||||||
this.firstShelfBox = false;
|
|
||||||
this.currentShelf = -1;
|
|
||||||
this.currentTray = -1;
|
|
||||||
this.columnWidth = 0;
|
|
||||||
this.lastBoxWidth = 0;
|
|
||||||
this.trayX = 0;
|
|
||||||
this.trayY = 0;
|
|
||||||
|
|
||||||
for (var i = 0; i < this.items.length; i++)
|
|
||||||
{
|
|
||||||
var item = this.items[i];
|
|
||||||
|
|
||||||
for (var amount = 0; amount < item.amount; amount++)
|
|
||||||
{
|
|
||||||
if (amount == 0
|
|
||||||
&& this.maxAmount > 0
|
|
||||||
&& item.amount > this.maxAmount)
|
|
||||||
break;
|
|
||||||
|
|
||||||
this.addBox (item, amount);
|
|
||||||
this.firstShelfBox = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.currentShelf + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,44 +0,0 @@
|
||||||
|
|
||||||
.shelves
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.shelves .box
|
|
||||||
{
|
|
||||||
max-width: 40em;
|
|
||||||
padding: 2em;
|
|
||||||
}
|
|
||||||
.shelves .body
|
|
||||||
{
|
|
||||||
max-width: 20em;
|
|
||||||
margin: auto;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.shelves .form-group
|
|
||||||
{
|
|
||||||
padding: 0.4em;
|
|
||||||
}
|
|
||||||
.shelves form label
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin-bottom: 0.5em;
|
|
||||||
}
|
|
||||||
.shelves input,
|
|
||||||
.shelves select
|
|
||||||
{
|
|
||||||
margin: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Footer */
|
|
||||||
|
|
||||||
.shelves .footer
|
|
||||||
{
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.5em;
|
|
||||||
}
|
|
||||||
.shelves .footer > button
|
|
||||||
{
|
|
||||||
margin: 0 .2em;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="title">
|
|
||||||
<h1><t>Shelves</t></h1>
|
|
||||||
</div>
|
|
||||||
<div id="form" class="shelves">
|
|
||||||
<div class="box">
|
|
||||||
<div class="body">
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Title</t></label>
|
|
||||||
<htk-entry id="report-title"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Store</t></label>
|
|
||||||
<htk-combo id="warehouse">
|
|
||||||
<db-model property="model" id="warehouses">
|
|
||||||
SELECT id, name FROM vn2008.warehouse
|
|
||||||
WHERE reserve ORDER BY name
|
|
||||||
</db-model>
|
|
||||||
</htk-combo>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Date</t></label>
|
|
||||||
<htk-date-chooser id="date"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Shelf</t></label>
|
|
||||||
<htk-combo id="shelf">
|
|
||||||
<db-model property="model" id="shelves">
|
|
||||||
SELECT id, name FROM vn2008.shelf
|
|
||||||
</db-model>
|
|
||||||
</htk-combo>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Reign</t></label>
|
|
||||||
<htk-combo id="reign">
|
|
||||||
<db-model property="model" id="reigns">
|
|
||||||
SELECT id, reino FROM vn2008.reinos
|
|
||||||
WHERE display != FALSE ORDER BY reino
|
|
||||||
</db-model>
|
|
||||||
</htk-combo>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Family</t></label>
|
|
||||||
<htk-combo id="family">
|
|
||||||
<db-model property="model">
|
|
||||||
SELECT tipo_id, Tipo FROM vn2008.Tipos
|
|
||||||
WHERE reino_id = #reign ORDER BY Tipo
|
|
||||||
<sql-batch property="batch">
|
|
||||||
<item name="reign" param="reign"/>
|
|
||||||
</sql-batch>
|
|
||||||
</db-model>
|
|
||||||
</htk-combo>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Name filter</t></label>
|
|
||||||
<input type="text" id="filter"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Max amount</t></label>
|
|
||||||
<htk-entry id="max-amount"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="footer">
|
|
||||||
<button class="thin" on-click="onPreviewClick">
|
|
||||||
<t>Preview</t>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,15 +0,0 @@
|
||||||
.users
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
min-width: 35em;
|
|
||||||
}
|
|
||||||
.users .box
|
|
||||||
{
|
|
||||||
max-width: 50em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.users tbody tr
|
|
||||||
{
|
|
||||||
height: 3.4em;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="users">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>UserManagement</t></h1>
|
|
||||||
</div>
|
|
||||||
<table class="form">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>UserName:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-entry>
|
|
||||||
<vn-param id="user-name"/>
|
|
||||||
</htk-entry>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div>
|
|
||||||
<htk-grid>
|
|
||||||
<db-model>
|
|
||||||
SELECT u.id, u.name, c.Cliente
|
|
||||||
FROM account.user u
|
|
||||||
INNER JOIN vn2008.Clientes c ON u.id = c.Id_Cliente
|
|
||||||
WHERE u.name LIKE CONCAT('%', #user, '%')
|
|
||||||
OR c.Cliente LIKE CONCAT('%', #user, '%')
|
|
||||||
OR u.id = #user
|
|
||||||
ORDER BY u.name LIMIT 200
|
|
||||||
<sql-batch property="batch">
|
|
||||||
<item name="user" param="user-name"/>
|
|
||||||
</sql-batch>
|
|
||||||
</db-model>
|
|
||||||
<htk-column-button
|
|
||||||
column="id"
|
|
||||||
image="image/supplant.png"
|
|
||||||
tip="_AccessAsUser"
|
|
||||||
on-clicked="onChangeUserClick"/>
|
|
||||||
<htk-column-button
|
|
||||||
column="id"
|
|
||||||
image="image/access-log.svg"
|
|
||||||
tip="_AccessLog"
|
|
||||||
on-clicked="onAccessLogClick"/>
|
|
||||||
<htk-column-spin title="_UserNumber" column="id"/>
|
|
||||||
<htk-column-text title="_UserName" column="name"/>
|
|
||||||
<htk-column-text title="_Alias" column="Cliente"/>
|
|
||||||
</htk-grid>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,28 +0,0 @@
|
||||||
|
|
||||||
Vn.Users = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,onChangeUserClick: function (column, value)
|
|
||||||
{
|
|
||||||
var batch = new Sql.Batch ();
|
|
||||||
batch.addValue ('user', value);
|
|
||||||
|
|
||||||
var query = 'UPDATE user_session_view SET user_id = #user';
|
|
||||||
this.conn.execQuery (query, this.userChanged.bind (this), batch);
|
|
||||||
}
|
|
||||||
|
|
||||||
,onAccessLogClick: function (column, value)
|
|
||||||
{
|
|
||||||
this.hash.set ({
|
|
||||||
'form': 'admin/access-log'
|
|
||||||
,'user': value
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
,userChanged: function ()
|
|
||||||
{
|
|
||||||
this.hash.set ({'form': 'ecomerce/orders'});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
.visits
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
min-width: 50em;
|
|
||||||
}
|
|
||||||
.visits .box
|
|
||||||
{
|
|
||||||
max-width: 80em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Steps */
|
|
||||||
|
|
||||||
div.step
|
|
||||||
{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,147 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="visits">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>VisitsManagement</t></h1>
|
|
||||||
<div class="action-bar">
|
|
||||||
<button on-click="onRefreshClick">
|
|
||||||
<img src="image/dark/refresh.svg" alt=""/>
|
|
||||||
<t>Refresh</t>
|
|
||||||
</button>
|
|
||||||
<button on-click="onSessionsClick">
|
|
||||||
<img src="image/dark/user-info.svg" alt=""/>
|
|
||||||
<t>ActiveSessions</t>
|
|
||||||
</button>
|
|
||||||
<button on-click="onVisitsClick">
|
|
||||||
<img src="image/dark/graph.svg" alt=""/>
|
|
||||||
<t>VisitsQuery</t>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="step" id="sessions-step">
|
|
||||||
<table class="form">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>ActiveSessions:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-label>
|
|
||||||
<db-calc-sum model="sessions" id="num-sessions"/>
|
|
||||||
</htk-label>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>NewVisitsTotal:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-label>
|
|
||||||
<db-calc-sum model="sessions" column-name="is_new"/>
|
|
||||||
</htk-label>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div>
|
|
||||||
<htk-grid>
|
|
||||||
<db-model id="sessions">
|
|
||||||
SELECT s.id, c.Cliente, e.date_time login, is_new,
|
|
||||||
s.date_time last_activity, a.platform, a.browser, a.version
|
|
||||||
FROM user_session s
|
|
||||||
JOIN visit_user e ON s.visit_user_id = e.id
|
|
||||||
JOIN visit_access c ON e.access_id = c.id
|
|
||||||
JOIN visit_agent a ON c.agent_id = a.id
|
|
||||||
JOIN visit v ON a.visit_id = v.id
|
|
||||||
JOIN account.user u ON e.user_id = u.id
|
|
||||||
JOIN vn2008.Clientes c ON e.user_id = c.Id_cliente
|
|
||||||
ORDER BY last_activity DESC
|
|
||||||
</db-model>
|
|
||||||
<htk-column-spin title="_SessionNumber" column="id"/>
|
|
||||||
<htk-column-text title="_User" column="Cliente"/>
|
|
||||||
<htk-column-date title="_Login" column="login" format="%a, %T"/>
|
|
||||||
<htk-column-date title="_LastActivity" column="last_activity" format="%a, %T"/>
|
|
||||||
<htk-column-text title="_SO" column="platform"/>
|
|
||||||
<htk-column-text title="_Browser" column="browser"/>
|
|
||||||
<htk-column-text title="_Version" column="version"/>
|
|
||||||
<htk-column-check title="_NewVisit" column="is_new"/>
|
|
||||||
</htk-grid>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="step" id="visits-step">
|
|
||||||
<table class="form">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>FromDate:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-date-chooser>
|
|
||||||
<vn-param id="date-from"/>
|
|
||||||
</htk-date-chooser>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>ToDate:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-date-chooser>
|
|
||||||
<vn-param id="date-to"/>
|
|
||||||
</htk-date-chooser>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>VisitsTotal:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-label>
|
|
||||||
<db-calc-sum model="visits" column-name="visits"/>
|
|
||||||
</htk-label>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="label">
|
|
||||||
<label><t>NewVisitsTotal:</t></label>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<htk-label>
|
|
||||||
<db-calc-sum model="visits" column-name="new_visits"/>
|
|
||||||
</htk-label>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div>
|
|
||||||
<htk-grid empty-message="SelectDateInterval">
|
|
||||||
<db-model id="visits">
|
|
||||||
SELECT browser
|
|
||||||
,MIN(CAST(version AS DECIMAL(4,1))) min_version
|
|
||||||
,MAX(CAST(version AS DECIMAL(4,1))) max_version
|
|
||||||
,MAX(e.date_time) last_visit
|
|
||||||
,COUNT(DISTINCT c.id) visits
|
|
||||||
,SUM(is_new) new_visits
|
|
||||||
FROM visit_user e
|
|
||||||
JOIN visit_access c ON e.access_id = c.id
|
|
||||||
JOIN visit_agent a ON c.agent_id = a.id
|
|
||||||
JOIN visit v ON a.visit_id = v.id
|
|
||||||
WHERE e.date_time BETWEEN TIMESTAMP(#from,'00:00:00') AND TIMESTAMP(#to,'23:59:59')
|
|
||||||
GROUP BY browser ORDER BY visits DESC
|
|
||||||
<sql-batch property="batch">
|
|
||||||
<item name="from" param="date-from"/>
|
|
||||||
<item name="to" param="date-to"/>
|
|
||||||
</sql-batch>
|
|
||||||
</db-model>
|
|
||||||
<htk-column-text title="_Browser" column="browser"/>
|
|
||||||
<htk-column-spin title="_MinVersion" column="min_version" digits="1"/>
|
|
||||||
<htk-column-spin title="_MaxVersion" column="max_version" digits="1"/>
|
|
||||||
<htk-column-date title="_LastVisit" column="last_visit" format="_%a, %e %b %Y at %T"/>
|
|
||||||
<htk-column-spin title="_Visits" column="visits"/>
|
|
||||||
<htk-column-spin title="_NewVisits" column="new_visits"/>
|
|
||||||
</htk-grid>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,44 +0,0 @@
|
||||||
|
|
||||||
Vn.Visits = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
this.$('date-to').value = new Date ();
|
|
||||||
this.$('num-sessions').func = this.sessionsFunc;
|
|
||||||
this.onSessionsClick ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,showStep: function (stepId)
|
|
||||||
{
|
|
||||||
if (this.currentStep)
|
|
||||||
this.currentStep.style.display = 'none';
|
|
||||||
|
|
||||||
this.currentStep = this.$(stepId);
|
|
||||||
this.currentStep.style.display = 'inline';
|
|
||||||
}
|
|
||||||
|
|
||||||
,onRefreshClick: function ()
|
|
||||||
{
|
|
||||||
this.model.refresh ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onSessionsClick: function ()
|
|
||||||
{
|
|
||||||
this.showStep ('sessions-step');
|
|
||||||
this.model = this.$('sessions');
|
|
||||||
}
|
|
||||||
|
|
||||||
,onVisitsClick: function ()
|
|
||||||
{
|
|
||||||
this.showStep ('visits-step');
|
|
||||||
this.model = this.$('visits');
|
|
||||||
}
|
|
||||||
|
|
||||||
,sessionsFunc: function ()
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
|
|
||||||
Vn.Packages = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,onShowClick: function (column, agencyId)
|
|
||||||
{
|
|
||||||
this.hash.set ({
|
|
||||||
'form': 'agencies/provinces',
|
|
||||||
'agency': agencyId
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
.packages
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.packages .box
|
|
||||||
{
|
|
||||||
max-width: 40em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="packages">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>ListByAgency</t></h1>
|
|
||||||
</div>
|
|
||||||
<htk-grid>
|
|
||||||
<db-model property="model">
|
|
||||||
CALL vn2008.agencia_volume ()
|
|
||||||
</db-model>
|
|
||||||
<htk-column-button
|
|
||||||
column="agency_id"
|
|
||||||
image="image/show.svg"
|
|
||||||
tip="_ShowByProvince"
|
|
||||||
on-clicked="onShowClick"/>
|
|
||||||
<htk-column-text title="_Agency" column="Agencia"/>
|
|
||||||
<htk-column-spin title="_Exps" column="expediciones"/>
|
|
||||||
<htk-column-spin title="_Bundles" column="Bultos"/>
|
|
||||||
<htk-column-spin title="_Prevision" column="Faltan"/>
|
|
||||||
</htk-grid>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,11 +0,0 @@
|
||||||
|
|
||||||
Vn.Provinces = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,onReturnClick: function ()
|
|
||||||
{
|
|
||||||
window.history.back();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
.provinces
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.provinces .box
|
|
||||||
{
|
|
||||||
max-width: 40em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
<vn>
|
|
||||||
<vn-group>
|
|
||||||
<vn-param id="agency">
|
|
||||||
<vn-hash-param key="agency"/>
|
|
||||||
</vn-param>
|
|
||||||
</vn-group>
|
|
||||||
<div id="form" class="provinces">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>ByProvince</t></h1>
|
|
||||||
<div class="action-bar">
|
|
||||||
<button on-click="onReturnClick">
|
|
||||||
<img src="image/dark/go-previous.svg" alt=""/>
|
|
||||||
<t>Return</t>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="clear"/>
|
|
||||||
</div>
|
|
||||||
<htk-grid>
|
|
||||||
<db-model>
|
|
||||||
CALL vn2008.desglose_volume (#agency)
|
|
||||||
<sql-batch property="batch">
|
|
||||||
<item name="agency" param="agency"/>
|
|
||||||
</sql-batch>
|
|
||||||
</db-model>
|
|
||||||
<htk-column-text title="_Province" column="Provincia"/>
|
|
||||||
<htk-column-spin title="_Expeditions" column="expediciones"/>
|
|
||||||
<htk-column-spin title="_Bundles" column="Bultos"/>
|
|
||||||
<htk-column-spin title="_Left" column="Prevision"/>
|
|
||||||
</htk-grid>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,6 +0,0 @@
|
||||||
|
|
||||||
Vn.About = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
});
|
|
||||||
|
|
Before Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 182 KiB |
Before Width: | Height: | Size: 298 KiB |
Before Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 285 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 426 KiB |
Before Width: | Height: | Size: 192 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 297 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 153 KiB |
Before Width: | Height: | Size: 133 KiB |
|
@ -1,75 +0,0 @@
|
||||||
|
|
||||||
.about
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.about .box
|
|
||||||
{
|
|
||||||
max-width: 50em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.about h2
|
|
||||||
{
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1.2em;
|
|
||||||
font-weight: normal;
|
|
||||||
margin: 1em;
|
|
||||||
}
|
|
||||||
.about h3
|
|
||||||
{
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1.2em;
|
|
||||||
font-weight: normal;
|
|
||||||
margin: 1em;
|
|
||||||
color: #4A1;
|
|
||||||
}
|
|
||||||
.about p
|
|
||||||
{
|
|
||||||
width: 90%;
|
|
||||||
display: block;
|
|
||||||
margin: 1em auto;
|
|
||||||
}
|
|
||||||
.summary
|
|
||||||
{
|
|
||||||
padding-bottom: 1em;
|
|
||||||
}
|
|
||||||
.summary p
|
|
||||||
{
|
|
||||||
max-width: 30em;
|
|
||||||
text-align: center;
|
|
||||||
background-color: #FF8;
|
|
||||||
padding: 1em;
|
|
||||||
border-radius: 0.1em;
|
|
||||||
box-shadow: 0 0.2em 0.2em #AAA;
|
|
||||||
margin: 2em auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Images */
|
|
||||||
|
|
||||||
.about img
|
|
||||||
{
|
|
||||||
max-width: 90%;
|
|
||||||
text-align: center;
|
|
||||||
padding: 1em;
|
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.about img[alt="producers"],
|
|
||||||
.about img[alt="4_control"],
|
|
||||||
.about img[alt="dealer"],
|
|
||||||
.about img[alt="goods_transport"]
|
|
||||||
{
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
.about img[alt="2_control"]
|
|
||||||
{
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.about img[alt="glass"]
|
|
||||||
{
|
|
||||||
display: inline;
|
|
||||||
padding: 0;
|
|
||||||
padding-left: 0.9em;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,97 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="about">
|
|
||||||
<div class="box">
|
|
||||||
<div>
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>QualityAndVariety</t></h1>
|
|
||||||
</div>
|
|
||||||
<p><t>MaximumFreshness</t></p>
|
|
||||||
<h3><t>SquareMeters</t></h3>
|
|
||||||
<img src="forms/cms/about/image/store.png" alt="store"/>
|
|
||||||
<h3><t>AboutRealms</t></h3>
|
|
||||||
<p><t>AboutLocation</t></p>
|
|
||||||
<img src="forms/cms/about/image/trailer.png" alt="trailer"/>
|
|
||||||
<p>
|
|
||||||
<img src="forms/cms/about/image/dealer.png" alt="dealer"/>
|
|
||||||
<t>PurchaseThroughWeb</t>
|
|
||||||
</p>
|
|
||||||
<img src="forms/cms/about/image/palletizing.png" alt="palletizing"/>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>WhatMakeUsDifferent</t></h1>
|
|
||||||
</div>
|
|
||||||
<p><t>DesignVariety</t></p>
|
|
||||||
<img src="forms/cms/about/image/differentiates_us.png" alt="differentiates_us"/>
|
|
||||||
<p><t>AdaptToYourNeeds</t></p>
|
|
||||||
<h3><t>TheBestQuality</t></h3>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>AtYourService</t></h1>
|
|
||||||
</div>
|
|
||||||
<h2><t>BuyersAndTraders</t></h2>
|
|
||||||
<img src="forms/cms/about/image/commercial.png" alt="commercial"/>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>Training</t></h1>
|
|
||||||
</div>
|
|
||||||
<p><t>GoodTraining</t></p>
|
|
||||||
<img src="forms/cms/about/image/training.png" alt="training"/>
|
|
||||||
<p><t>SpecialTrainingPrices</t></p>
|
|
||||||
<img src="forms/cms/about/image/courses.png" alt="courses"/>
|
|
||||||
<h2><t>YoutubeChannel</t></h2>
|
|
||||||
<img src="forms/cms/about/image/youtube.png" alt="youtube"/>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>HowWeWork</t></h1>
|
|
||||||
</div>
|
|
||||||
<p><t>AalsmeerAuction</t></p>
|
|
||||||
<img src="forms/cms/about/image/auction.png" alt="auction"/>
|
|
||||||
<p><t>BeforeAuction</t></p>
|
|
||||||
<img src="forms/cms/about/image/producers.png" alt="producers"/>
|
|
||||||
<p><t>DirectlyFromProviders</t></p>
|
|
||||||
<p><t>GoodsDischarge</t></p>
|
|
||||||
<img src="forms/cms/about/image/goods_transport.png" alt="goods_transport"/>
|
|
||||||
<h2>
|
|
||||||
<t>FirstQualityControl</t>
|
|
||||||
<img src="forms/cms/about/image/glass.png" alt="glass"/>
|
|
||||||
</h2>
|
|
||||||
<img src="forms/cms/about/image/goods_receive.png" alt="goods_receive"/>
|
|
||||||
<p><t>GoodsTravel</t></p>
|
|
||||||
<img src="forms/cms/about/image/2_control.png" alt="2_control"/>
|
|
||||||
<p><t>GoodsReception</t></p>
|
|
||||||
<h2>
|
|
||||||
<t>SecondQualityControl</t>
|
|
||||||
<img src="forms/cms/about/image/glass.png" alt="glass"/>
|
|
||||||
</h2>
|
|
||||||
<p><t>CustomerOrders</t></p>
|
|
||||||
<img src="forms/cms/about/image/web.png" alt="web"/>
|
|
||||||
<p><t>AfterOrder</t></p>
|
|
||||||
<img src="forms/cms/about/image/4_control.png" alt="4_control"/>
|
|
||||||
<h2>
|
|
||||||
<t>ThirdQualityControl</t>
|
|
||||||
<img src="forms/cms/about/image/glass.png" alt="glass"/>
|
|
||||||
</h2>
|
|
||||||
<p><t>BuyerControl</t></p>
|
|
||||||
<h2>
|
|
||||||
<t>FourthQualityControl</t>
|
|
||||||
<img src="forms/cms/about/image/glass.png" alt="glass"/>
|
|
||||||
</h2>
|
|
||||||
<p><t>EmbeddedSection</t></p>
|
|
||||||
<img src="forms/cms/about/image/fit.png" alt="fit"/>
|
|
||||||
<p><t>AfterEmbedAgency</t></p>
|
|
||||||
<img src="forms/cms/about/image/agencies.png" alt="agencies"/>
|
|
||||||
<p><t>FreshnessGuaranteed</t></p>
|
|
||||||
</div>
|
|
||||||
<div class="summary">
|
|
||||||
<p>
|
|
||||||
<t>AboutSummary</t>
|
|
||||||
<img src="image/logo.svg" alt="Verdnatura"/>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,47 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
require_once ('Text/CAPTCHA.php');
|
|
||||||
|
|
||||||
session_start ();
|
|
||||||
|
|
||||||
$options = array
|
|
||||||
(
|
|
||||||
'width' => 200
|
|
||||||
,'height' => 60
|
|
||||||
,'output' => 'png'
|
|
||||||
,'imageOptions' => array
|
|
||||||
(
|
|
||||||
'font_size' => 20
|
|
||||||
,'font_path' => './'
|
|
||||||
,'font_file' => 'IndieFlower.ttf'
|
|
||||||
,'text_color' => '#559955'
|
|
||||||
,'lines_color' => '#559955'
|
|
||||||
,'background_color' => '#DDDDDD'
|
|
||||||
,'antialias' => true
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
$captcha = Text_CAPTCHA::factory ('Image');
|
|
||||||
$retval = $captcha->init ($options);
|
|
||||||
|
|
||||||
if (PEAR::isError ($retval))
|
|
||||||
{
|
|
||||||
printf ('Error initializing CAPTCHA: %s!', $retval->getMessage());
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
$png = $captcha->getCAPTCHA ();
|
|
||||||
|
|
||||||
if (PEAR::isError ($png))
|
|
||||||
{
|
|
||||||
printf ('Error generating CAPTCHA: %s!', $png->getMessage ());
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get secret passphrase
|
|
||||||
$_SESSION['captcha'] = $captcha->getPhrase ();
|
|
||||||
|
|
||||||
header ('Content-Type: image/png');
|
|
||||||
echo $png;
|
|
||||||
|
|
||||||
?>
|
|
|
@ -1,76 +0,0 @@
|
||||||
|
|
||||||
Vn.Contact = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
var self = this;
|
|
||||||
var form = this.$('contact-form').onsubmit = function ()
|
|
||||||
{ self.onSubmit (); return false; };
|
|
||||||
|
|
||||||
this.refreshCaptcha ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,refreshCaptcha: function ()
|
|
||||||
{
|
|
||||||
var url = 'forms/cms/contact/captcha.php';
|
|
||||||
this.$('captcha-img').src = url +'?'+ new Date ().getTime ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onSubmit: function ()
|
|
||||||
{
|
|
||||||
var form = this.$('contact-form');
|
|
||||||
|
|
||||||
var request = new Vn.FormRequest ();
|
|
||||||
request.send (form, this.onResponse.bind (this));
|
|
||||||
}
|
|
||||||
|
|
||||||
,onResponse: function (response)
|
|
||||||
{
|
|
||||||
var form = this.$('contact-form');
|
|
||||||
|
|
||||||
if (response)
|
|
||||||
{
|
|
||||||
form.reset ();
|
|
||||||
Htk.Toast.showMessage (_('DataSentSuccess'));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Htk.Toast.showError (_('ErrorSendingData'));
|
|
||||||
|
|
||||||
form['captcha'].value = '';
|
|
||||||
this.refreshCaptcha ();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Vn.FormRequest = new Class
|
|
||||||
({
|
|
||||||
send: function (form, callback)
|
|
||||||
{
|
|
||||||
var formData = '';
|
|
||||||
var elements = form.elements;
|
|
||||||
|
|
||||||
for (var i = 0; i < elements.length; i++)
|
|
||||||
if (elements[i].name)
|
|
||||||
formData += elements[i].name +'='+
|
|
||||||
encodeURIComponent (elements[i].value) +'&';
|
|
||||||
|
|
||||||
var request = new XMLHttpRequest ();
|
|
||||||
request.open (form.method, form.action, true);
|
|
||||||
request.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
|
|
||||||
request.onreadystatechange = this.onSend.bind (this, request, callback);
|
|
||||||
request.send (formData);
|
|
||||||
}
|
|
||||||
|
|
||||||
,onSend: function (request, callback)
|
|
||||||
{
|
|
||||||
if (request.readyState != 4)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (request.status == 200)
|
|
||||||
callback (eval (request.responseText));
|
|
||||||
else
|
|
||||||
callback (null);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
session_start ();
|
|
||||||
|
|
||||||
$params = array
|
|
||||||
(
|
|
||||||
'name'
|
|
||||||
,'pc'
|
|
||||||
,'phone'
|
|
||||||
,'email'
|
|
||||||
,'message'
|
|
||||||
,'captcha'
|
|
||||||
);
|
|
||||||
|
|
||||||
$paramsOk = TRUE;
|
|
||||||
|
|
||||||
foreach ($params as $param)
|
|
||||||
if (!isset ($_POST[$param]) || $_POST[$param] == '')
|
|
||||||
{
|
|
||||||
$paramsOk = FALSE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
header ('Content-Type: application/json');
|
|
||||||
|
|
||||||
if ($paramsOk && isset ($_SESSION['captcha'])
|
|
||||||
&& $_POST['captcha'] == $_SESSION['captcha'])
|
|
||||||
{
|
|
||||||
mail ('nuria@verdnatura.es', 'Verdnatura', print_r ($_POST, TRUE),
|
|
||||||
'From: Verdnatura <www-data@verdnatura.es>');
|
|
||||||
|
|
||||||
echo json_encode (TRUE);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
echo json_encode (FALSE);
|
|
||||||
|
|
||||||
unset ($_SESSION['captcha']);
|
|
||||||
|
|
||||||
?>
|
|
|
@ -1,66 +0,0 @@
|
||||||
|
|
||||||
.contact
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.contact .box
|
|
||||||
{
|
|
||||||
max-width: 40em;
|
|
||||||
}
|
|
||||||
.contact p
|
|
||||||
{
|
|
||||||
position: relative;
|
|
||||||
text-align: center;
|
|
||||||
max-width: 25em;
|
|
||||||
margin: 1em auto;
|
|
||||||
}
|
|
||||||
.contact form
|
|
||||||
{
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 25em;
|
|
||||||
}
|
|
||||||
.contact form p
|
|
||||||
{
|
|
||||||
margin: 1em auto;
|
|
||||||
display: block;
|
|
||||||
margin-top: 2em;
|
|
||||||
}
|
|
||||||
div.form-group
|
|
||||||
{
|
|
||||||
padding: 0.4em;
|
|
||||||
}
|
|
||||||
.contact form label
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin-bottom: 0.5em;
|
|
||||||
}
|
|
||||||
.contact input,
|
|
||||||
.contact textarea
|
|
||||||
{
|
|
||||||
margin: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.contact textarea
|
|
||||||
{
|
|
||||||
height: 5em;
|
|
||||||
}
|
|
||||||
.contact button
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
margin-top: 1em;
|
|
||||||
padding: 0.6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Captcha */
|
|
||||||
|
|
||||||
.captcha img
|
|
||||||
{
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.captcha input
|
|
||||||
{
|
|
||||||
margin-left: 1em;
|
|
||||||
max-width: 8em;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="contact">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>IWantCustomer</t></h1>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<p>
|
|
||||||
<t>FillFormData</t>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<t>OrCallUs</t>
|
|
||||||
</p>
|
|
||||||
<form action="forms/cms/contact/send-data.php" method="post" id="contact-form">
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Name</t></label>
|
|
||||||
<input type="text" name="name"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>City</t></label>
|
|
||||||
<input type="text" name="city"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>PC</t></label>
|
|
||||||
<input type="text" name="pc"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Phone</t></label>
|
|
||||||
<input type="text" name="phone"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>EMail</t></label>
|
|
||||||
<input type="text" name="email"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label><t>Message</t></label>
|
|
||||||
<textarea name="message"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group captcha">
|
|
||||||
<label><t>Anti-Spam</t></label>
|
|
||||||
<img alt="Captcha" id="captcha-img"/>
|
|
||||||
<input type="text" name="captcha"/>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
<t>AllFieldsMandatory</t>
|
|
||||||
</p>
|
|
||||||
<button class="flat">
|
|
||||||
<t>Send</t>
|
|
||||||
</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,6 +0,0 @@
|
||||||
|
|
||||||
Vn.Home = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,81 +0,0 @@
|
||||||
|
|
||||||
/* News panel */
|
|
||||||
|
|
||||||
.home
|
|
||||||
{
|
|
||||||
margin: .5em;
|
|
||||||
}
|
|
||||||
.column
|
|
||||||
{
|
|
||||||
max-width: 120em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* New */
|
|
||||||
|
|
||||||
.new
|
|
||||||
{
|
|
||||||
text-align: left;
|
|
||||||
background-color: white;
|
|
||||||
color: #222;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0.1em;
|
|
||||||
box-shadow: 0 0.2em 0.2em #CCC;
|
|
||||||
margin: .5em;
|
|
||||||
}
|
|
||||||
.new .top
|
|
||||||
{
|
|
||||||
padding: 1.5em;
|
|
||||||
padding-bottom: 1em;
|
|
||||||
}
|
|
||||||
.new h2
|
|
||||||
{
|
|
||||||
font-size: 1.6em;
|
|
||||||
color: black;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.new-info
|
|
||||||
{
|
|
||||||
font-size: 0.9em;
|
|
||||||
color: #444;
|
|
||||||
text-align: right;
|
|
||||||
margin: 0.8em 0;
|
|
||||||
}
|
|
||||||
.new-text
|
|
||||||
{
|
|
||||||
margin-top: 2em;
|
|
||||||
}
|
|
||||||
.new-text li
|
|
||||||
{
|
|
||||||
margin: 0.4em 0;
|
|
||||||
}
|
|
||||||
.new img
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin: auto;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Survey */
|
|
||||||
|
|
||||||
.survey
|
|
||||||
{
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
width: 6em;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
.question, .survey-votes
|
|
||||||
{
|
|
||||||
text-align: center;
|
|
||||||
margin: 1em;
|
|
||||||
}
|
|
||||||
.answers .radio
|
|
||||||
{
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.survey button
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin: auto;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="home">
|
|
||||||
<div class="column mansonry" id="news-column">
|
|
||||||
<htk-repeater form-id="new">
|
|
||||||
<db-model>
|
|
||||||
SELECT title, date_time, text, image, id FROM news
|
|
||||||
WHERE tag != 'course'
|
|
||||||
ORDER BY priority, date_time DESC
|
|
||||||
</db-model>
|
|
||||||
<template>
|
|
||||||
<div class="masonry-box">
|
|
||||||
<div class="new">
|
|
||||||
<div class="top">
|
|
||||||
<h2><htk-text form="new" column="title"/></h2>
|
|
||||||
<p class="new-info">
|
|
||||||
<htk-text format="_%a, %e %b %Y" form="new" column="date_time"/>
|
|
||||||
</p>
|
|
||||||
<div class="new-text">
|
|
||||||
<htk-html form="new" column="text"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<htk-image directory="news/full" form="new" column="image"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</htk-repeater>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,116 +0,0 @@
|
||||||
|
|
||||||
var gmapsIsLoaded = false;
|
|
||||||
|
|
||||||
Vn.Location = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,locations: null
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
this.gui.loaderPush ();
|
|
||||||
|
|
||||||
var sql = 'SELECT lat, lng, title, address, postcode, city, province, phone, language FROM location';
|
|
||||||
this.conn.execQuery (sql, this.onLocationsDone.bind (this));
|
|
||||||
|
|
||||||
if (!gmapsIsLoaded)
|
|
||||||
{
|
|
||||||
gmapsLoadedCallback = this.gmapsLoaded.bind (this);
|
|
||||||
Vn.includeJs ('https://maps.google.com/maps/api/js'+
|
|
||||||
'?sensor=false&callback=gmapsLoadedCallback', null, true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
this.gmapsLoaded ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onLocationsDone: function (resultSet)
|
|
||||||
{
|
|
||||||
this.locations = resultSet.fetchResult ();
|
|
||||||
this.allLoaded ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,gmapsLoaded: function ()
|
|
||||||
{
|
|
||||||
this.gui.loaderPop ();
|
|
||||||
gmapsIsLoaded = true;
|
|
||||||
this.allLoaded ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,allLoaded: function ()
|
|
||||||
{
|
|
||||||
if (!this.locations || !gmapsIsLoaded)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var options = {
|
|
||||||
zoom: 4
|
|
||||||
,mapTypeId: google.maps.MapTypeId.ROADMAP
|
|
||||||
,center: new google.maps.LatLng (46.0, 4.0)
|
|
||||||
};
|
|
||||||
|
|
||||||
var div = this.$('form');
|
|
||||||
var gmap = new google.maps.Map (div, options);
|
|
||||||
|
|
||||||
if (this.locations)
|
|
||||||
while (this.locations.next ())
|
|
||||||
this.createMarker (this.locations, gmap);
|
|
||||||
}
|
|
||||||
|
|
||||||
,createMarker: function (location, gmap)
|
|
||||||
{
|
|
||||||
var div = document.createElement ('div');
|
|
||||||
div.className = 'marker';
|
|
||||||
|
|
||||||
var h = document.createElement ('h3');
|
|
||||||
h.appendChild (document.createTextNode (location.get ('title')));
|
|
||||||
div.appendChild (h);
|
|
||||||
|
|
||||||
var p = document.createElement ('p');
|
|
||||||
p.appendChild (document.createTextNode (location.get ('address')));
|
|
||||||
div.appendChild (p);
|
|
||||||
|
|
||||||
var p = document.createElement ('p');
|
|
||||||
p.appendChild (document.createTextNode (location.get ('postcode') +' '+ location.get ('city')));
|
|
||||||
div.appendChild (p);
|
|
||||||
|
|
||||||
var p = document.createElement ('p');
|
|
||||||
p.appendChild (document.createTextNode (location.get ('province')));
|
|
||||||
div.appendChild (p);
|
|
||||||
|
|
||||||
var p = document.createElement ('p');
|
|
||||||
p.appendChild (document.createTextNode (location.get ('phone')));
|
|
||||||
div.appendChild (p);
|
|
||||||
|
|
||||||
var lat = new google.maps.LatLng (
|
|
||||||
location.get ('lat'),
|
|
||||||
location.get ('lng')
|
|
||||||
);
|
|
||||||
|
|
||||||
var marker = new google.maps.Marker ({
|
|
||||||
position: lat
|
|
||||||
,tilte: location.title
|
|
||||||
,map: gmap
|
|
||||||
});
|
|
||||||
|
|
||||||
var infoWindow = new google.maps.InfoWindow ({
|
|
||||||
content: div
|
|
||||||
});
|
|
||||||
|
|
||||||
google.maps.event.addListener (marker, 'click',
|
|
||||||
this.openInfoWindow.bind (this, infoWindow, gmap, marker));
|
|
||||||
|
|
||||||
if (Vn.Locale.language
|
|
||||||
&& Vn.Locale.language == location.get ('language'))
|
|
||||||
this.openInfoWindow (infoWindow, gmap, marker);
|
|
||||||
}
|
|
||||||
|
|
||||||
,openInfoWindow: function (infoWindow, gmap, marker)
|
|
||||||
{
|
|
||||||
if (this.openedWindow)
|
|
||||||
this.openedWindow.close ();
|
|
||||||
|
|
||||||
infoWindow.open (gmap, marker);
|
|
||||||
this.openedWindow = infoWindow;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
.location
|
|
||||||
{
|
|
||||||
position: relative;
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.marker h3
|
|
||||||
{
|
|
||||||
font-size: 1.3em;
|
|
||||||
}
|
|
||||||
div.marker p
|
|
||||||
{
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="location"/>
|
|
||||||
</vn>
|
|
|
@ -1,57 +0,0 @@
|
||||||
|
|
||||||
/* News panel */
|
|
||||||
|
|
||||||
.training
|
|
||||||
{
|
|
||||||
margin: .5em;
|
|
||||||
}
|
|
||||||
.column
|
|
||||||
{
|
|
||||||
max-width: 120em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* New */
|
|
||||||
|
|
||||||
.new
|
|
||||||
{
|
|
||||||
text-align: left;
|
|
||||||
background-color: white;
|
|
||||||
color: #222;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0.1em;
|
|
||||||
box-shadow: 0 0.2em 0.2em #CCC;
|
|
||||||
margin: .5em;
|
|
||||||
}
|
|
||||||
.new .top
|
|
||||||
{
|
|
||||||
padding: 1.5em;
|
|
||||||
padding-bottom: 1em;
|
|
||||||
}
|
|
||||||
.new h2
|
|
||||||
{
|
|
||||||
font-size: 1.6em;
|
|
||||||
color: black;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.new-info
|
|
||||||
{
|
|
||||||
font-size: 0.9em;
|
|
||||||
color: #444;
|
|
||||||
text-align: right;
|
|
||||||
margin: 0.8em 0;
|
|
||||||
}
|
|
||||||
.new-text
|
|
||||||
{
|
|
||||||
margin-top: 2em;
|
|
||||||
}
|
|
||||||
.new-text li
|
|
||||||
{
|
|
||||||
margin: 0.4em 0;
|
|
||||||
}
|
|
||||||
.new img
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin: auto;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
|
|
||||||
Vn.Training = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
});
|
|
|
@ -1,29 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="training">
|
|
||||||
<div class="column masonry" id="news-column">
|
|
||||||
<htk-repeater form-id="new">
|
|
||||||
<db-model id="news">
|
|
||||||
SELECT title, date_time, text, image, id FROM news
|
|
||||||
WHERE tag = 'course'
|
|
||||||
ORDER BY priority, date_time DESC
|
|
||||||
</db-model>
|
|
||||||
<template>
|
|
||||||
<div class="masonry-box">
|
|
||||||
<div class="new">
|
|
||||||
<div class="top">
|
|
||||||
<h2><htk-text form="new" column="title"/></h2>
|
|
||||||
<p class="new-info">
|
|
||||||
<htk-text format="_%a, %e %b %Y" form="new" column="date_time"/>
|
|
||||||
</p>
|
|
||||||
<div class="new-text">
|
|
||||||
<htk-html form="new" column="text"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<htk-image directory="news/full" form="new" column="image"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</htk-repeater>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,28 +0,0 @@
|
||||||
|
|
||||||
.why
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.why .box
|
|
||||||
{
|
|
||||||
max-width: 40em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.why ul
|
|
||||||
{
|
|
||||||
list-style-type: none;
|
|
||||||
padding: 0 1em;
|
|
||||||
padding-bottom: 1em;
|
|
||||||
max-width: 36em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.why li
|
|
||||||
{
|
|
||||||
padding: 0.5em 0;
|
|
||||||
}
|
|
||||||
.why img
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 95%;
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="why">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>AboutCompany</t></h1>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<ul>
|
|
||||||
<li><t>BecauseOurBigCatalog</t></li>
|
|
||||||
<li><t>BecauseThisWeb</t></li>
|
|
||||||
<li><t>BecauseOurShoppingDep</t></li>
|
|
||||||
<li><t>BecauseOrderIsEasy</t></li>
|
|
||||||
<li><t>BecauseOurPlant</t></li>
|
|
||||||
<li><t>BecauseOurSalesDep</t></li>
|
|
||||||
<li><t>BecauseOurWorkShop</t></li>
|
|
||||||
<li><t>BecauseWeHaveWhatYouNeed</t></li>
|
|
||||||
</ul>
|
|
||||||
<img src="image/store.png" alt="Store photo"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,6 +0,0 @@
|
||||||
|
|
||||||
Vn.Why = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,95 +0,0 @@
|
||||||
|
|
||||||
Vn.Basket = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,open: function ()
|
|
||||||
{
|
|
||||||
if (this.basketChecked)
|
|
||||||
this.parent ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
Vn.BasketChecker.check (this.conn,
|
|
||||||
this.onBasketCheck.bind (this));
|
|
||||||
}
|
|
||||||
|
|
||||||
,onBasketCheck: function (isOk)
|
|
||||||
{
|
|
||||||
if (!isOk)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this.basketChecked = true;
|
|
||||||
this.open ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onConfigureClick: function ()
|
|
||||||
{
|
|
||||||
Htk.Toast.showWarning (_('RememberReconfiguringImpact'));
|
|
||||||
this.hash.set ({'form': 'ecomerce/checkout'});
|
|
||||||
}
|
|
||||||
|
|
||||||
,onCatalogClick: function ()
|
|
||||||
{
|
|
||||||
this.hash.set ({'form': 'ecomerce/catalog'});
|
|
||||||
}
|
|
||||||
|
|
||||||
,onCheckoutClick: function ()
|
|
||||||
{
|
|
||||||
this.hash.set ({'form': 'ecomerce/confirm'});
|
|
||||||
}
|
|
||||||
|
|
||||||
,amountRender: function (renderer, form)
|
|
||||||
{
|
|
||||||
var amount = form.get ('amount');
|
|
||||||
var grouping = form.get ('grouping');
|
|
||||||
|
|
||||||
if (amount && grouping)
|
|
||||||
renderer.value = amount / grouping;
|
|
||||||
else
|
|
||||||
renderer.value = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
,onAmountChange: function (renderer, row, newValue)
|
|
||||||
{
|
|
||||||
var model = this.$('items');
|
|
||||||
model.set (row, 'amount', newValue * model.get (row, 'grouping'));
|
|
||||||
}
|
|
||||||
|
|
||||||
,featuresRender: function (renderer, form)
|
|
||||||
{
|
|
||||||
renderer.value = form.get ('Medida') +' '+ form.get ('Categoria') +' '+ form.get ('Color');
|
|
||||||
}
|
|
||||||
|
|
||||||
,stemsRender: function (renderer, form)
|
|
||||||
{
|
|
||||||
renderer.value = Vn.Value.format (form.get ('price'), '%.2d€') +' x '+ form.get ('amount');
|
|
||||||
|
|
||||||
if (form.get ('amount') > form.get ('available'))
|
|
||||||
renderer.td.className = 'available-exceeded';
|
|
||||||
else
|
|
||||||
renderer.td.className = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
,subtotalRender: function (renderer, form)
|
|
||||||
{
|
|
||||||
renderer.value = this.subtotal (form);
|
|
||||||
}
|
|
||||||
|
|
||||||
,subtotal: function (form)
|
|
||||||
{
|
|
||||||
return form.get ('amount') * form.get ('price');
|
|
||||||
}
|
|
||||||
|
|
||||||
,availableRender: function (renderer, form)
|
|
||||||
{
|
|
||||||
if (form.get ('amount') > form.get ('avail'))
|
|
||||||
renderer.value = 'unavailable';
|
|
||||||
else
|
|
||||||
renderer.value = 'invisible';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
.basket
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
min-width: 25em;
|
|
||||||
}
|
|
||||||
.basket .box
|
|
||||||
{
|
|
||||||
max-width: 45em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.basket .form
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
margin: 0;
|
|
||||||
background-color: #009688;
|
|
||||||
}
|
|
||||||
.basket .form > p
|
|
||||||
{
|
|
||||||
margin: 0;
|
|
||||||
font-size: 1.4em;
|
|
||||||
color: white;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.basket .config
|
|
||||||
{
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Rows */
|
|
||||||
|
|
||||||
.basket td.available-exceeded input
|
|
||||||
{
|
|
||||||
background-color: #FCC;
|
|
||||||
}
|
|
||||||
.basket .icon > img
|
|
||||||
{
|
|
||||||
border-radius: 50%;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
<vn>
|
|
||||||
<div id="form" class="basket">
|
|
||||||
<div class="box">
|
|
||||||
<div class="header">
|
|
||||||
<h1><t>Basket</t></h1>
|
|
||||||
<div class="action-bar">
|
|
||||||
<button on-click="onConfigureClick" title="_ConfigureOrder">
|
|
||||||
<img class="config" src="image/dark/preferences.svg" alt=""/>
|
|
||||||
<t>ConfigureOrder</t>
|
|
||||||
</button>
|
|
||||||
<button on-click="onCatalogClick">
|
|
||||||
<img src="image/dark/menu.svg" alt=""/>
|
|
||||||
<t>Catalog</t>
|
|
||||||
</button>
|
|
||||||
<button on-click="onCheckoutClick">
|
|
||||||
<img src="image/dark/ok.svg" alt=""/>
|
|
||||||
<t>Checkout</t>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="clear"/>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<htk-grid show-header="false">
|
|
||||||
<db-model id="items" updatable="true">
|
|
||||||
SELECT i.id, i.amount, i.price, a.Article, a.Categoria,
|
|
||||||
a.Medida, a.Tallos, a.Color, o.Abreviatura, a.Foto
|
|
||||||
FROM basket_item i
|
|
||||||
INNER JOIN vn2008.Articles a ON a.Id_Article = i.item_id
|
|
||||||
LEFT JOIN vn2008.Origen o ON a.id_origen = o.id;
|
|
||||||
</db-model>
|
|
||||||
<htk-column-image
|
|
||||||
column="Foto"
|
|
||||||
directory="catalog"
|
|
||||||
subdir="50x50"
|
|
||||||
show-full="true"
|
|
||||||
full-dir="900x900"
|
|
||||||
class="icon"/>
|
|
||||||
<htk-column-text title="_Item" column="Article"/>
|
|
||||||
<htk-column-text renderer="featuresRender"/>
|
|
||||||
<htk-column-text title="_Amount" column="amount" renderer="stemsRender"/>
|
|
||||||
<htk-column-spin unit="€" digits="2" renderer="subtotalRender"/>
|
|
||||||
</htk-grid>
|
|
||||||
<div class="form">
|
|
||||||
<p>
|
|
||||||
<t>OrderTotal</t>
|
|
||||||
<htk-text format="%.2d€">
|
|
||||||
<db-calc-sum func="subtotal" model="items"/>
|
|
||||||
</htk-text>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</vn>
|
|
|
@ -1,339 +0,0 @@
|
||||||
|
|
||||||
Vn.Catalog = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,open: function ()
|
|
||||||
{
|
|
||||||
if (this.basketChecked)
|
|
||||||
this.parent ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
if (!Vn.Url.getQuery ('guest'))
|
|
||||||
{
|
|
||||||
Vn.BasketChecker.check (this.conn,
|
|
||||||
this.onBasketCheck.bind (this));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var query = 'CALL basket_configure_for_guest ()';
|
|
||||||
this.conn.execQuery (query, this.onBasketForGuest.bind (this));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
,onBasketForGuest: function ()
|
|
||||||
{
|
|
||||||
this.onBasketCheck (true);
|
|
||||||
}
|
|
||||||
|
|
||||||
,onBasketCheck: function (isOk)
|
|
||||||
{
|
|
||||||
if (!isOk)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this.basketChecked = true;
|
|
||||||
this.open ();
|
|
||||||
|
|
||||||
this.popup = new Htk.Popup ();
|
|
||||||
this.popup.setChildNode (this.$('lots-popup'));
|
|
||||||
|
|
||||||
this.$('items-model').setInfo ('a', 'Articles', 'vn2008', ['item_id']);
|
|
||||||
}
|
|
||||||
|
|
||||||
,onBasketReady: function (form)
|
|
||||||
{
|
|
||||||
if (form.get ('method') != 'PICKUP')
|
|
||||||
Vn.Node.setText (this.$('method'), _('Agency'));
|
|
||||||
else
|
|
||||||
Vn.Node.setText (this.$('method'), _('Warehouse'));
|
|
||||||
}
|
|
||||||
|
|
||||||
,typeRenderer: function (builder, form)
|
|
||||||
{
|
|
||||||
var link = builder.$('link');
|
|
||||||
link.href = this.hash.make ({'type': form.get ('tipo_id')}, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
,realmRenderer: function (builder, form)
|
|
||||||
{
|
|
||||||
var link = builder.$('link');
|
|
||||||
link.href = this.hash.make ({
|
|
||||||
'form': this.hash.get ('form'),
|
|
||||||
'realm': form.get ('id')
|
|
||||||
});
|
|
||||||
|
|
||||||
var img = builder.$('image');
|
|
||||||
img.src = 'image/family/'+ form.get ('id') +'.svg';
|
|
||||||
img.title = form.get ('reino');
|
|
||||||
img.alt = img.title;
|
|
||||||
}
|
|
||||||
|
|
||||||
,onTypeChange: function ()
|
|
||||||
{
|
|
||||||
if (Vn.isMobile () && this.$('type').value)
|
|
||||||
this.hideMenu ();
|
|
||||||
|
|
||||||
var realms = this.$('realms-model');
|
|
||||||
|
|
||||||
if (!realms.ready)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this.refreshTitle ();
|
|
||||||
|
|
||||||
var color = null;
|
|
||||||
|
|
||||||
if (this.$('type').value)
|
|
||||||
{
|
|
||||||
var row = realms.search ('id', this.$('realm').value);
|
|
||||||
|
|
||||||
if (row != -1)
|
|
||||||
color = '#'+ realms.get (row, 'color');
|
|
||||||
}
|
|
||||||
|
|
||||||
this.$('header').style.backgroundColor = color;
|
|
||||||
|
|
||||||
var tr = this.$('items-grid').getNode ()
|
|
||||||
.getElementsByTagName ('thead')[0]
|
|
||||||
.getElementsByTagName ('tr')[0];
|
|
||||||
//.querySelector ('thead tr');
|
|
||||||
tr.style.backgroundColor = color;
|
|
||||||
}
|
|
||||||
|
|
||||||
,refreshTitle: function (title)
|
|
||||||
{
|
|
||||||
var types = this.$('types-model');
|
|
||||||
|
|
||||||
if (!types.ready)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var title = _('Catalog');
|
|
||||||
|
|
||||||
if (this.$('type').value)
|
|
||||||
{
|
|
||||||
var row = types.search ('tipo_id', this.$('type').value);
|
|
||||||
|
|
||||||
if (row != -1)
|
|
||||||
title = types.get (row, 'Tipo');
|
|
||||||
}
|
|
||||||
else if (this.$('search-entry').value)
|
|
||||||
title = _('SearchResults');
|
|
||||||
|
|
||||||
Vn.Node.setText (this.$('title'), title);
|
|
||||||
}
|
|
||||||
|
|
||||||
,onSearch: function (event)
|
|
||||||
{
|
|
||||||
var searchTags = this.$('search-entry').value;
|
|
||||||
searchTags = searchTags != '' ? searchTags : undefined;
|
|
||||||
|
|
||||||
var batch = this.$('batch');
|
|
||||||
batch.block ();
|
|
||||||
|
|
||||||
this.$('search').value = searchTags;
|
|
||||||
|
|
||||||
if (searchTags)
|
|
||||||
{
|
|
||||||
this.$('type').value = undefined;
|
|
||||||
this.$('realm').value = undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
batch.unblock ();
|
|
||||||
batch.changed ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onMenuClick: function (event)
|
|
||||||
{
|
|
||||||
event.stopPropagation ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onShowMenuClick: function (event)
|
|
||||||
{
|
|
||||||
event.stopPropagation ();
|
|
||||||
this.gui.showBackground ();
|
|
||||||
this.$('menu').style.display = 'block';
|
|
||||||
this.hideMenuCallback = this.hideMenu.bind (this);
|
|
||||||
document.addEventListener ('click', this.hideMenuCallback);
|
|
||||||
}
|
|
||||||
|
|
||||||
,hideMenu: function ()
|
|
||||||
{
|
|
||||||
this.gui.hideBackground ();
|
|
||||||
this.$('menu').style.display = 'none';
|
|
||||||
document.removeEventListener ('click', this.hideMenuCallback);
|
|
||||||
this.hideMenuCallback = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
,onBasketClick: function ()
|
|
||||||
{
|
|
||||||
if (!Vn.Url.getQuery ('guest'))
|
|
||||||
this.hash.set ({'form': 'ecomerce/basket'});
|
|
||||||
else
|
|
||||||
Htk.Toast.showError (_('YouMustBeLoggedIn'));
|
|
||||||
}
|
|
||||||
|
|
||||||
,onConfigClick: function ()
|
|
||||||
{
|
|
||||||
if (!Vn.Url.getQuery ('guest'))
|
|
||||||
this.hash.set ({'form': 'ecomerce/checkout'});
|
|
||||||
else
|
|
||||||
Htk.Toast.showError (_('YouMustBeLoggedIn'));
|
|
||||||
}
|
|
||||||
|
|
||||||
,nameRenderer: function (renderer, form)
|
|
||||||
{
|
|
||||||
renderer.subtitle = form.get ('producer');
|
|
||||||
}
|
|
||||||
|
|
||||||
,featuresRender: function (renderer, form)
|
|
||||||
{
|
|
||||||
renderer.value = form.get ('Medida') +' '+ form.get ('Categoria') +' '+ form.get ('Color');
|
|
||||||
}
|
|
||||||
|
|
||||||
,amountRender: function (renderer, form)
|
|
||||||
{
|
|
||||||
var amount = form.get ('amount');
|
|
||||||
var grouping = form.get ('grouping');
|
|
||||||
|
|
||||||
if (amount && grouping)
|
|
||||||
renderer.value = amount / grouping;
|
|
||||||
else
|
|
||||||
renderer.value = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
,amountChanged: function (renderer, row, newValue)
|
|
||||||
{
|
|
||||||
var model = this.$('items-model');
|
|
||||||
model.set (row, 'amount', newValue * model.get (row, 'grouping'));
|
|
||||||
}
|
|
||||||
|
|
||||||
,catRenderer: function (column, form)
|
|
||||||
{
|
|
||||||
switch (form.get ('Categoria'))
|
|
||||||
{
|
|
||||||
case 'A2':
|
|
||||||
column.td.className = 'second-category';
|
|
||||||
break;
|
|
||||||
case 'B1':
|
|
||||||
column.td.className = 'third-category';
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
column.td.className = '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
,onAddItemClick: function (column, value, row, button)
|
|
||||||
{
|
|
||||||
if (Vn.Url.getQuery ('guest'))
|
|
||||||
{
|
|
||||||
Htk.Toast.showError (_('YouMustBeLoggedIn'));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var itemId = this.$('items-model').get (row, 'item_id')
|
|
||||||
this.$('lots-batch').addValue ('item', itemId);
|
|
||||||
|
|
||||||
this.itemRow = row;
|
|
||||||
this.onEraseClick ();
|
|
||||||
this.popup.show (button);
|
|
||||||
}
|
|
||||||
|
|
||||||
,onAddLotClick: function (column, value, row, button)
|
|
||||||
{
|
|
||||||
var model = this.$('item-lots');
|
|
||||||
var grouping = model.get (row, 'grouping');
|
|
||||||
var warehouse = model.get (row, 'warehouse_id');
|
|
||||||
var available = model.get (row, 'available');
|
|
||||||
|
|
||||||
var lotAmount = this.items[warehouse];
|
|
||||||
|
|
||||||
if (lotAmount === undefined)
|
|
||||||
lotAmount = 0;
|
|
||||||
|
|
||||||
if (lotAmount < available)
|
|
||||||
{
|
|
||||||
var newAmount = lotAmount + grouping;
|
|
||||||
|
|
||||||
if (newAmount > available)
|
|
||||||
newAmount = available;
|
|
||||||
|
|
||||||
this.items[warehouse] = newAmount;
|
|
||||||
this.$('amount').value += newAmount - lotAmount;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Htk.Toast.showError (_('NoMoreAmountAvailable'));
|
|
||||||
}
|
|
||||||
|
|
||||||
,onEraseClick: function ()
|
|
||||||
{
|
|
||||||
this.$('amount').value = 0;
|
|
||||||
this.items = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
,onConfirmClick: function ()
|
|
||||||
{
|
|
||||||
var model = this.$('items-model');
|
|
||||||
|
|
||||||
var sql = '';
|
|
||||||
var batch = new Sql.Batch ();
|
|
||||||
var query = new Sql.String ({query: 'CALL basket_item_add (#warehouse, #item, #amount);'});
|
|
||||||
var amountSum = 0;
|
|
||||||
|
|
||||||
for (var warehouse in this.items)
|
|
||||||
{
|
|
||||||
var amount = this.items[warehouse];
|
|
||||||
amountSum += amount;
|
|
||||||
|
|
||||||
batch.addValue ('warehouse', warehouse);
|
|
||||||
batch.addValue ('item', model.get (this.itemRow, 'item_id'));
|
|
||||||
batch.addValue ('amount', amount);
|
|
||||||
sql += query.render (batch);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (amountSum > 0)
|
|
||||||
{
|
|
||||||
this.conn.execQuery (sql);
|
|
||||||
|
|
||||||
var itemName = model.get (this.itemRow, 'Article');
|
|
||||||
Htk.Toast.showMessage (
|
|
||||||
sprintf (_('Added%dOf%s'), amountSum, itemName));
|
|
||||||
}
|
|
||||||
|
|
||||||
this.popup.hide ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onStatusChange: function (model)
|
|
||||||
{
|
|
||||||
if (this.popup)
|
|
||||||
this.popup.reset ();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Vn.ColumnItem = new Class
|
|
||||||
({
|
|
||||||
Extends: Htk.Column
|
|
||||||
,Tag: 'vn-column-item'
|
|
||||||
|
|
||||||
,render: function (tr)
|
|
||||||
{
|
|
||||||
var td = this.parent (tr);
|
|
||||||
td.style.textAlign = 'left';
|
|
||||||
|
|
||||||
if (this.value)
|
|
||||||
{
|
|
||||||
var node = document.createTextNode (
|
|
||||||
Vn.Value.format (this.value, this._format));
|
|
||||||
td.appendChild (node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.subtitle)
|
|
||||||
{
|
|
||||||
td.appendChild (document.createElement ('br'));
|
|
||||||
td.appendChild (document.createTextNode (this.subtitle));
|
|
||||||
}
|
|
||||||
|
|
||||||
return td;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
|
|
||||||
.catalog button.menu
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.catalog div.center
|
|
||||||
{
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
.right-panel
|
|
||||||
{
|
|
||||||
display: none;
|
|
||||||
}
|
|
|
@ -1,288 +0,0 @@
|
||||||
.catalog
|
|
||||||
{
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
min-height: 25em;
|
|
||||||
}
|
|
||||||
.catalog div.center
|
|
||||||
{
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 17em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Main */
|
|
||||||
|
|
||||||
.catalog div.main
|
|
||||||
{
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
overflow: auto;
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.catalog div.main .box
|
|
||||||
{
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 50em;
|
|
||||||
min-width: 25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.catalog .footer-message
|
|
||||||
{
|
|
||||||
padding-bottom: 1em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Topbar */
|
|
||||||
|
|
||||||
.catalog .action-bar
|
|
||||||
{
|
|
||||||
max-width: 15em;
|
|
||||||
}
|
|
||||||
.catalog .search
|
|
||||||
{
|
|
||||||
float: left;
|
|
||||||
display: block;
|
|
||||||
background-color: white;
|
|
||||||
height: 2.2em;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.catalog .search > input
|
|
||||||
{
|
|
||||||
margin: 0;
|
|
||||||
border: none;
|
|
||||||
width: 10em;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
.catalog .search > input:focus
|
|
||||||
{
|
|
||||||
background-color: initial;
|
|
||||||
}
|
|
||||||
.catalog .search > img
|
|
||||||
{
|
|
||||||
margin: 0.4em;
|
|
||||||
margin-top: 0;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.catalog button.menu
|
|
||||||
{
|
|
||||||
float: left;
|
|
||||||
display: none;
|
|
||||||
border: none;
|
|
||||||
background-color: transparent;
|
|
||||||
box-shadow: none;
|
|
||||||
padding: 0.3em;
|
|
||||||
padding-left: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
.catalog button.menu > img
|
|
||||||
{
|
|
||||||
height: 1.8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Right panel */
|
|
||||||
|
|
||||||
.right-panel
|
|
||||||
{
|
|
||||||
position: absolute;
|
|
||||||
z-index: 20;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 17em;
|
|
||||||
background-color: white;
|
|
||||||
box-shadow: 0 0.2em 0.2em #AAA;
|
|
||||||
}
|
|
||||||
.right-panel button.basket,
|
|
||||||
.right-panel button.configure
|
|
||||||
{
|
|
||||||
width: 100%;
|
|
||||||
height: 3em;
|
|
||||||
font-size: 1.1em;
|
|
||||||
text-align: center;
|
|
||||||
background-color: #00BCD4;
|
|
||||||
border-radius: 0;
|
|
||||||
display: inline-block;
|
|
||||||
width: 50%;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.right-panel button.basket:hover
|
|
||||||
{
|
|
||||||
background-color: #0AB;
|
|
||||||
}
|
|
||||||
.right-panel button.configure
|
|
||||||
{
|
|
||||||
background-color: #0097A7;
|
|
||||||
}
|
|
||||||
.right-panel button.configure:hover
|
|
||||||
{
|
|
||||||
background-color: #00838F;
|
|
||||||
}
|
|
||||||
.right-panel .basket-info > p
|
|
||||||
{
|
|
||||||
margin: 1em 1.2em;
|
|
||||||
color: #555;
|
|
||||||
font-size: 1.2em;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
overflow: hidden;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.right-panel .basket-info span
|
|
||||||
{
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
.right-panel .realms-box
|
|
||||||
{
|
|
||||||
box-shadow: 0 0 0.4em #AAA;
|
|
||||||
background-color: rgba(1, 1, 1, .1);
|
|
||||||
}
|
|
||||||
.right-panel .realms-box a
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
float: left;
|
|
||||||
line-height: 0;
|
|
||||||
width: 33.3%;
|
|
||||||
}
|
|
||||||
.right-panel .realms-box a > img
|
|
||||||
{
|
|
||||||
width: 100%;
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.right-panel .realms-box img:hover
|
|
||||||
{
|
|
||||||
opacity: 0.85;
|
|
||||||
}
|
|
||||||
.right-panel .types-box
|
|
||||||
{
|
|
||||||
position: absolute;
|
|
||||||
top: 21.6em;
|
|
||||||
bottom: 0;
|
|
||||||
right: 0;
|
|
||||||
left: 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.right-panel .types-box a
|
|
||||||
{
|
|
||||||
padding: .5em 1.5em;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.right-panel .types-box a:hover
|
|
||||||
{
|
|
||||||
background-color: rgba(1, 1, 1, .1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Grid view */
|
|
||||||
|
|
||||||
.item-box
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
border-bottom: 1px solid #DDD;
|
|
||||||
min-height: 14em;
|
|
||||||
}
|
|
||||||
.item-box > .image
|
|
||||||
{
|
|
||||||
width: 8em;
|
|
||||||
height: 14em;
|
|
||||||
float: left;
|
|
||||||
margin-right: 1em;
|
|
||||||
}
|
|
||||||
.item-box img
|
|
||||||
{
|
|
||||||
max-width: 8em;
|
|
||||||
max-height: 8em;
|
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.item-box p
|
|
||||||
{
|
|
||||||
margin: 0;
|
|
||||||
padding: 0.6em;
|
|
||||||
}
|
|
||||||
.item-box h2
|
|
||||||
{
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.item-box .amount
|
|
||||||
{
|
|
||||||
width: 3em;
|
|
||||||
}
|
|
||||||
.amount-p
|
|
||||||
{
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Lots popup*/
|
|
||||||
|
|
||||||
div.amount
|
|
||||||
{
|
|
||||||
text-align: center;
|
|
||||||
background-color: #009688;
|
|
||||||
color: white;
|
|
||||||
line-height: 2.5em;
|
|
||||||
padding: 0.2em;
|
|
||||||
}
|
|
||||||
button.erase
|
|
||||||
{
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
button.confirm
|
|
||||||
{
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
button.erase > img,
|
|
||||||
button.confirm > img
|
|
||||||
{
|
|
||||||
height: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* List view */
|
|
||||||
|
|
||||||
.items
|
|
||||||
{
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.catalog div.box div.header,
|
|
||||||
.items > thead > tr,
|
|
||||||
.realms-bar
|
|
||||||
{
|
|
||||||
background-color: #777;
|
|
||||||
}
|
|
||||||
.items > tbody > tr
|
|
||||||
{
|
|
||||||
height: 6em;
|
|
||||||
}
|
|
||||||
.items .icon
|
|
||||||
{
|
|
||||||
width: 6em;
|
|
||||||
padding: .2em;
|
|
||||||
padding-right: .5em;
|
|
||||||
}
|
|
||||||
.items .icon > img
|
|
||||||
{
|
|
||||||
max-height: 6em;
|
|
||||||
max-width: 6em;
|
|
||||||
}
|
|
||||||
td.second-category
|
|
||||||
{
|
|
||||||
font-weight: bold;
|
|
||||||
color: orange;
|
|
||||||
}
|
|
||||||
td.third-category
|
|
||||||
{
|
|
||||||
font-weight: bold;
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
td.price
|
|
||||||
{
|
|
||||||
color: green;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,222 +0,0 @@
|
||||||
<vn>
|
|
||||||
<vn-group>
|
|
||||||
<vn-param id="realm" on-changed="onTypeChange">
|
|
||||||
<vn-hash-param key="realm"/>
|
|
||||||
</vn-param>
|
|
||||||
<vn-param id="type" on-changed="onTypeChange">
|
|
||||||
<vn-hash-param key="type"/>
|
|
||||||
</vn-param>
|
|
||||||
<vn-param id="search"/>
|
|
||||||
<sql-filter type="AND" id="filter">
|
|
||||||
<sql-filter-item type="EQUAL" id="sql-type">
|
|
||||||
<sql-field name="tipo_id"/>
|
|
||||||
<sql-value param="type"/>
|
|
||||||
</sql-filter-item>
|
|
||||||
<sql-filter-item type="LIKE">
|
|
||||||
<sql-field name="Article"/>
|
|
||||||
<sql-search-tags param="search"/>
|
|
||||||
</sql-filter-item>
|
|
||||||
</sql-filter>
|
|
||||||
<db-query id="basket-lines">
|
|
||||||
SELECT item_id, warehouse_id, SUM(amount) amount
|
|
||||||
FROM basket_item
|
|
||||||
GROUP BY warehouse_id
|
|
||||||
</db-query>
|
|
||||||
<db-model result-index="2" id="items-model">
|
|
||||||
CREATE TEMPORARY TABLE tmp.bionic_calc
|
|
||||||
(INDEX (item_id))
|
|
||||||
ENGINE=MEMORY
|
|
||||||
SELECT Id_Article item_id FROM vn2008.Articles
|
|
||||||
WHERE #filter;
|
|
||||||
CALL bionic_calc ();
|
|
||||||
SELECT a.Id_Article item_id, t.available, t.price, p.producer,
|
|
||||||
a.Foto, a.Article, a.Categoria, a.Medida, a.Tallos, a.Color, o.Abreviatura
|
|
||||||
FROM tmp.bionic_item t
|
|
||||||
JOIN vn2008.Articles a ON a.Id_Article = t.item_id
|
|
||||||
LEFT JOIN vn2008.Articles_producer p ON p.Id_Article = a.Id_Article
|
|
||||||
LEFT JOIN vn2008.Origen o ON a.id_origen = o.id
|
|
||||||
WHERE t.available > 0
|
|
||||||
ORDER BY a.Article, a.Medida
|
|
||||||
LIMIT 400;
|
|
||||||
<sql-batch property="batch" id="batch">
|
|
||||||
<item name="filter" object="filter"/>
|
|
||||||
</sql-batch>
|
|
||||||
</db-model>
|
|
||||||
<db-model id="item-lots" result-index="1" on-status-changed-after="onStatusChange">
|
|
||||||
CALL bionic_from_item (#item);
|
|
||||||
SELECT p.warehouse_id, p.grouping, p.price, p.rate, l.available
|
|
||||||
FROM tmp.bionic_lot l
|
|
||||||
JOIN tmp.bionic_price p
|
|
||||||
ON p.warehouse_id = l.warehouse_id
|
|
||||||
ORDER BY warehouse_id, grouping;
|
|
||||||
<sql-batch property="batch" id="lots-batch"/>
|
|
||||||
</db-model>
|
|
||||||
<db-form id="basket" on-ready="onBasketReady">
|
|
||||||
<db-model>
|
|
||||||
SELECT o.id, o.date_send, ag.description agency, v.code method
|
|
||||||
FROM basket o
|
|
||||||
JOIN vn2008.Agencias ag ON ag.Id_Agencia = o.agency_id
|
|
||||||
JOIN vn2008.Vistas v ON v.vista_id = o.delivery_method_id
|
|
||||||
</db-model>
|
|
||||||
</db-form>
|
|
||||||
</vn-group>
|
|
||||||
<div id="form" class="catalog">
|
|
||||||
<div class="center">
|
|
||||||
<div class="main">
|
|
||||||
<div class="box">
|
|
||||||
<div id="header" class="header">
|
|
||||||
<button class="menu" on-click="onShowMenuClick">
|
|
||||||
<img src="image/dark/menu.svg" alt="_Menu"/>
|
|
||||||
</button>
|
|
||||||
<h1 id="title"><t>Catalog</t></h1>
|
|
||||||
<div class="action-bar">
|
|
||||||
<div class="search">
|
|
||||||
<img src="image/search.svg" alt="_Search" class="icon"/>
|
|
||||||
<input type="text" id="search-entry" on-change="onSearch"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clear"/>
|
|
||||||
</div>
|
|
||||||
<htk-grid empty-message="_SelectSubtype" id="items-grid" class="items" model="items-model">
|
|
||||||
<htk-column-image
|
|
||||||
title="*"
|
|
||||||
class="icon"
|
|
||||||
column="Foto"
|
|
||||||
directory="catalog"
|
|
||||||
subdir="200x200"
|
|
||||||
show-full="true"
|
|
||||||
full-dir="900x900"
|
|
||||||
editable="true"/>
|
|
||||||
<vn-column-item title="_Name" column="Article" renderer="nameRenderer"/>
|
|
||||||
<htk-column-text title="_Cat" renderer="featuresRender"/>
|
|
||||||
<htk-column-spin title="_Aval" column="available"/>
|
|
||||||
<htk-column-text
|
|
||||||
title="_Price"
|
|
||||||
column="price"
|
|
||||||
format="_from %.2d€"
|
|
||||||
class="price"/>
|
|
||||||
<htk-column-button
|
|
||||||
column="id"
|
|
||||||
image="image/add.svg"
|
|
||||||
tip="_AddToBasket"
|
|
||||||
on-clicked="onAddItemClick"/>
|
|
||||||
</htk-grid>
|
|
||||||
<p class="footer-message">
|
|
||||||
<t>IndicativePhotos</t>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="menu" class="right-panel" on-click="onMenuClick">
|
|
||||||
<button class="basket" on-click="onBasketClick" title="Shopping basket">
|
|
||||||
<t>Basket</t>
|
|
||||||
</button><button class="configure" on-click="onConfigClick" title="_Configure shopping basket">
|
|
||||||
<t>Configure</t>
|
|
||||||
</button>
|
|
||||||
<div class="basket-info">
|
|
||||||
<p>
|
|
||||||
<htk-text form="basket" column="date_send" format="_%A, %e of %B"/>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span id="method"/>
|
|
||||||
<htk-text form="basket" column="agency"/>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<htk-repeater
|
|
||||||
model="realms-model"
|
|
||||||
form-id="realm-form"
|
|
||||||
renderer="realmRenderer"
|
|
||||||
class="realms-box">
|
|
||||||
<db-model id="realms-model" on-status-changed="onTypeChange">
|
|
||||||
SELECT id, reino, color FROM vn2008.reinos
|
|
||||||
WHERE display != FALSE ORDER BY reino
|
|
||||||
</db-model>
|
|
||||||
<template>
|
|
||||||
<a id="link">
|
|
||||||
<img id="image"/>
|
|
||||||
</a>
|
|
||||||
</template>
|
|
||||||
</htk-repeater>
|
|
||||||
<htk-repeater
|
|
||||||
model="types-model"
|
|
||||||
form-id="type-form"
|
|
||||||
renderer="typeRenderer"
|
|
||||||
empty-message="_SelectFamily"
|
|
||||||
class="types-box">
|
|
||||||
<db-model id="types-model" on-status-changed="refreshTitle">
|
|
||||||
CALL type_list (#realm)
|
|
||||||
<sql-batch property="batch">
|
|
||||||
<item name="realm" param="realm"/>
|
|
||||||
</sql-batch>
|
|
||||||
</db-model>
|
|
||||||
<template>
|
|
||||||
<a id="link">
|
|
||||||
<htk-text form="type-form" column="Tipo"/>
|
|
||||||
</a>
|
|
||||||
</template>
|
|
||||||
</htk-repeater>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="lots-popup" class="lots-popup">
|
|
||||||
<htk-grid class="lots-grid" model="item-lots" show-header="false">
|
|
||||||
<htk-column-spin title="_Price" column="price" unit="€" digits="2"/>
|
|
||||||
<htk-column-text title="_Pack" column="grouping" format="x%.0d"/>
|
|
||||||
<htk-column-button
|
|
||||||
column="id"
|
|
||||||
image="image/add.svg"
|
|
||||||
tip="_Add"
|
|
||||||
on-clicked="onAddLotClick"/>
|
|
||||||
</htk-grid>
|
|
||||||
<div class="amount">
|
|
||||||
<button on-click="onEraseClick" title="_Erase" class="erase">
|
|
||||||
<img
|
|
||||||
src="image/dark/delete.svg"
|
|
||||||
alt="_Erase"/>
|
|
||||||
</button>
|
|
||||||
<htk-text id="amount"/>
|
|
||||||
<button on-click="onConfirmClick" title="_Confirm" class="confirm">
|
|
||||||
<img
|
|
||||||
src="image/dark/ok.svg"
|
|
||||||
alt="_Confirm"/>
|
|
||||||
</button>
|
|
||||||
<div class="clear"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--
|
|
||||||
<htk-repeater id="grid-view" form-id="item">
|
|
||||||
<template>
|
|
||||||
<div class="item-box">
|
|
||||||
<div class="image">
|
|
||||||
<div>
|
|
||||||
<htk-image form="item" column="Foto" directory="catalog/200x200"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h2>
|
|
||||||
<htk-text form="item" column="Article"/>
|
|
||||||
</h2>
|
|
||||||
<p>
|
|
||||||
<htk-text form="item" column="Medida"/> /
|
|
||||||
<htk-text form="item" column="Categoria"/> /
|
|
||||||
<htk-text form="item" column="Color"/> /
|
|
||||||
<htk-text form="item" column="Tallos"/> /
|
|
||||||
<htk-text form="item" column="Abreviatura"/>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<t>Available:</t>
|
|
||||||
<htk-text form="item" column="available"/>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<t>Price:</t>
|
|
||||||
<htk-text form="item" column="price" format="%.2d€"/>
|
|
||||||
</p>
|
|
||||||
<p class="amount-p">
|
|
||||||
<htk-entry id="stems" class="amount"/>
|
|
||||||
<htk-text form="item" column="grouping" format="x%.0d"/>
|
|
||||||
<htk-entry form="item" column="amount" class="amount"/>
|
|
||||||
</p>
|
|
||||||
<div class="clear"/>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</htk-repeater>
|
|
||||||
-->
|
|
||||||
</vn>
|
|
|
@ -1,191 +0,0 @@
|
||||||
|
|
||||||
Vn.Checkout = new Class
|
|
||||||
({
|
|
||||||
Extends: Vn.Module
|
|
||||||
|
|
||||||
,activate: function ()
|
|
||||||
{
|
|
||||||
this.autoStepLocked = true;
|
|
||||||
|
|
||||||
this.today = new Date ();
|
|
||||||
this.today.setHours (0,0,0,0);
|
|
||||||
}
|
|
||||||
|
|
||||||
,onValuesReady: function ()
|
|
||||||
{
|
|
||||||
var orderForm = this.$('order-form');
|
|
||||||
var defaultsForm = this.$('defaults');
|
|
||||||
|
|
||||||
if (!(orderForm.ready && defaultsForm.ready))
|
|
||||||
return;
|
|
||||||
|
|
||||||
var date;
|
|
||||||
|
|
||||||
if (orderForm.numRows > 0)
|
|
||||||
{
|
|
||||||
var i = orderForm;
|
|
||||||
date = i.get ('date_send');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
var i = defaultsForm;
|
|
||||||
|
|
||||||
if (!date || date.getTime () < (new Date ()).getTime ())
|
|
||||||
{
|
|
||||||
date = new Date ();
|
|
||||||
|
|
||||||
if (i.get('delivery_method') != 'PICKUP')
|
|
||||||
date.setTime (date.getTime () + 86400000);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.$('date').value = date;
|
|
||||||
this.$('method').value = i.get ('delivery_method');
|
|
||||||
this.$('agency').value = i.get ('agency_id');
|
|
||||||
this.$('address').value = i.get ('address_id');
|
|
||||||
|
|
||||||
this.autoStepLocked = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
,onConfirmClick: function ()
|
|
||||||
{
|
|
||||||
var query = 'CALL basket_configure (#date, #method, #agency, #address)';
|
|
||||||
|
|
||||||
var batch = new Sql.Batch ();
|
|
||||||
batch.addParam ('method', this.$('method'));
|
|
||||||
batch.addParam ('date', this.$('date'));
|
|
||||||
batch.addParam ('agency', this.$('agency'));
|
|
||||||
batch.addParam ('address', this.$('address'));
|
|
||||||
|
|
||||||
this.conn.execQuery (query,
|
|
||||||
this.onBasketConfigured.bind (this), batch);
|
|
||||||
}
|
|
||||||
|
|
||||||
,onBasketConfigured: function (resultSet)
|
|
||||||
{
|
|
||||||
if (!resultSet.fetchResult ())
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (this.$('order-form').numRows > 0)
|
|
||||||
Htk.Toast.showMessage (_('OrderUpdated'));
|
|
||||||
else
|
|
||||||
Htk.Toast.showMessage (_('OrderStarted'));
|
|
||||||
|
|
||||||
this.hash.set ({'form': 'ecomerce/catalog'});
|
|
||||||
}
|
|
||||||
|
|
||||||
,onCancelClick: function ()
|
|
||||||
{
|
|
||||||
if (this.$('order-form').numRows > 0)
|
|
||||||
window.history.back();
|
|
||||||
else
|
|
||||||
this.hash.set ({'form': 'ecomerce/orders'});
|
|
||||||
}
|
|
||||||
|
|
||||||
,agencySteps: ['method', 'date', 'address', 'agency', 'confirm-agency']
|
|
||||||
,deliverySteps: ['method', 'date', 'address', null, 'confirm-delivery']
|
|
||||||
,pickupSteps: ['method', 'date', 'pickup', null, 'confirm-pickup']
|
|
||||||
|
|
||||||
,stepFunc: function (stepIndex)
|
|
||||||
{
|
|
||||||
var steps;
|
|
||||||
var isDelivery;
|
|
||||||
|
|
||||||
switch (this.$('rg-method').value)
|
|
||||||
{
|
|
||||||
case 'AGENCY':
|
|
||||||
steps = this.agencySteps;
|
|
||||||
isDelivery = true;
|
|
||||||
break;
|
|
||||||
case 'DELIVERY':
|
|
||||||
steps = this.deliverySteps;
|
|
||||||
isDelivery = true;
|
|
||||||
break;
|
|
||||||
case 'PICKUP':
|
|
||||||
default:
|
|
||||||
steps = this.pickupSteps;
|
|
||||||
isDelivery = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
var stepId = steps[stepIndex];
|
|
||||||
|
|
||||||
if (!stepId)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
switch (stepId)
|
|
||||||
{
|
|
||||||
case 'date':
|
|
||||||
Vn.Node.setText (this.$('date-question'), isDelivery ?
|
|
||||||
_('OrderDateDeliveryQuestion'):
|
|
||||||
_('OrderDatePickupQuestion'));
|
|
||||||
this.$('calendar').goToSelectedMonth ();
|
|
||||||
break;
|
|
||||||
case 'agency':
|
|
||||||
this.$('agencies').refresh ();
|
|
||||||
break;
|
|
||||||
case 'pickup':
|
|
||||||
this.$('warehouses').refresh ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.$(stepId +'-step');
|
|
||||||
}
|
|
||||||
|
|
||||||
,onFieldChange: function ()
|
|
||||||
{
|
|
||||||
if (!this.autoStepLocked)
|
|
||||||
setTimeout (this.goNextStep.bind (this), 75);
|
|
||||||
}
|
|
||||||
|
|
||||||
,goNextStep: function ()
|
|
||||||
{
|
|
||||||
this.$('assistant').moveNext ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,addressRenderer: function (builder, form)
|
|
||||||
{
|
|
||||||
builder.$('address').addEventListener ('click',
|
|
||||||
this.onAddressClick.bind (this, form.get ('id')));
|
|
||||||
}
|
|
||||||
|
|
||||||
,onAddressClick: function (addressId)
|
|
||||||
{
|
|
||||||
this.$('address').value = addressId;
|
|
||||||
this.goNextStep ();
|
|
||||||
}
|
|
||||||
|
|
||||||
,onAddressChange: function ()
|
|
||||||
{
|
|
||||||
if (this.selectedNode)
|
|
||||||
Vn.Node.removeClass (this.selectedNode, 'selected');
|
|
||||||
|
|
||||||
var row = this.$('addresses').search ('id', this.$('address').value);
|
|
||||||
|
|
||||||
if (row != -1)
|
|
||||||
{
|
|
||||||
var builder = this.$('repeater').getBuilder (row);
|
|
||||||
|
|
||||||
this.selectedNode = builder.$('address');
|
|
||||||
Vn.Node.addClass (this.selectedNode, 'selected');
|
|
||||||
}
|
|
||||||
|
|
||||||
this.$('address-form').row = row;
|
|
||||||
}
|
|
||||||
|
|
||||||
,onAgenciesReady: function (model)
|
|
||||||
{
|
|
||||||
if (model.ready && model.numRows == 0)
|
|
||||||
Htk.Toast.showError (_('NoAgeciesAvailableForDate'));
|
|
||||||
}
|
|
||||||
|
|
||||||
,onWarehousesReady: function (model)
|
|
||||||
{
|
|
||||||
if (model.ready && model.numRows == 0)
|
|
||||||
Htk.Toast.showError (_('NoWarehousesAvailableForDate'));
|
|
||||||
}
|
|
||||||
|
|
||||||
,calendarRestrict: function (date)
|
|
||||||
{
|
|
||||||
return date.getTime () >= this.today.getTime ();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
.checkout
|
|
||||||
{
|
|
||||||
padding: 1em;
|
|
||||||
max-width: 40em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.checkout .form
|
|
||||||
{
|
|
||||||
max-width: 40em;
|
|
||||||
padding: 3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Step */
|
|
||||||
|
|
||||||
.answers button,
|
|
||||||
.answers p,
|
|
||||||
.radio > div
|
|
||||||
{
|
|
||||||
font-size: 1.4em;
|
|
||||||
}
|
|
||||||
.answers select
|
|
||||||
{
|
|
||||||
min-width: 8em;
|
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
font-size: 1.6em;
|
|
||||||
height: 1.8em;
|
|
||||||
}
|
|
||||||
.answers p
|
|
||||||
{
|
|
||||||
margin: 0.3em 0;
|
|
||||||
}
|
|
||||||
.target
|
|
||||||
{
|
|
||||||
max-width: 28em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.address
|
|
||||||
{
|
|
||||||
border-radius: 0.1em;
|
|
||||||
padding: 0.6em 1.4em;
|
|
||||||
}
|
|
||||||
.address.selected
|
|
||||||
{
|
|
||||||
background-color: rgba(1, 1, 1, .1);
|
|
||||||
}
|
|
||||||
.address:hover
|
|
||||||
{
|
|
||||||
cursor: pointer;
|
|
||||||
background-color: rgba(1, 1, 1, .05);
|
|
||||||
}
|
|
||||||
.address p.consignee
|
|
||||||
{
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.radio
|
|
||||||
{
|
|
||||||
max-width: 20em;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.radio > div
|
|
||||||
{
|
|
||||||
padding: 0.5em;
|
|
||||||
border-top: 1px solid #AAA;
|
|
||||||
}
|
|
||||||
.radio > div:first-child
|
|
||||||
{
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
.thin-calendar
|
|
||||||
{
|
|
||||||
width: inherit;
|
|
||||||
max-width: 24em;
|
|
||||||
margin: 0 auto;
|
|
||||||
box-shadow: 0 0.1em 0.3em #ccc;
|
|
||||||
}
|
|
||||||
.thin-calendar tr > th
|
|
||||||
{
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
.htk-assistant button
|
|
||||||
{
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|