├── dapp ├── plugins │ ├── datatables │ │ ├── extensions │ │ │ ├── Responsive │ │ │ │ ├── Readme.md │ │ │ │ └── License.txt │ │ │ ├── FixedHeader │ │ │ │ ├── css │ │ │ │ │ ├── dataTables.fixedHeader.min.css │ │ │ │ │ └── dataTables.fixedHeader.css │ │ │ │ └── Readme.txt │ │ │ ├── KeyTable │ │ │ │ ├── css │ │ │ │ │ ├── dataTables.keyTable.min.css │ │ │ │ │ └── dataTables.keyTable.css │ │ │ │ └── Readme.txt │ │ │ ├── AutoFill │ │ │ │ ├── images │ │ │ │ │ └── filler.png │ │ │ │ ├── css │ │ │ │ │ ├── dataTables.autoFill.min.css │ │ │ │ │ └── dataTables.autoFill.css │ │ │ │ └── Readme.txt │ │ │ ├── TableTools │ │ │ │ ├── images │ │ │ │ │ ├── copy.png │ │ │ │ │ ├── csv.png │ │ │ │ │ ├── pdf.png │ │ │ │ │ ├── xls.png │ │ │ │ │ ├── print.png │ │ │ │ │ ├── csv_hover.png │ │ │ │ │ ├── pdf_hover.png │ │ │ │ │ ├── xls_hover.png │ │ │ │ │ ├── collection.png │ │ │ │ │ ├── copy_hover.png │ │ │ │ │ ├── print_hover.png │ │ │ │ │ ├── psd │ │ │ │ │ │ ├── printer.psd │ │ │ │ │ │ ├── collection.psd │ │ │ │ │ │ ├── file_types.psd │ │ │ │ │ │ └── copy document.psd │ │ │ │ │ └── collection_hover.png │ │ │ │ ├── swf │ │ │ │ │ ├── copy_csv_xls.swf │ │ │ │ │ └── copy_csv_xls_pdf.swf │ │ │ │ └── Readme.md │ │ │ ├── ColReorder │ │ │ │ ├── images │ │ │ │ │ └── insert.png │ │ │ │ ├── css │ │ │ │ │ ├── dataTables.colReorder.min.css │ │ │ │ │ └── dataTables.colReorder.css │ │ │ │ ├── License.txt │ │ │ │ └── Readme.md │ │ │ ├── Scroller │ │ │ │ ├── images │ │ │ │ │ └── loading-background.png │ │ │ │ └── css │ │ │ │ │ ├── dataTables.scroller.min.css │ │ │ │ │ └── dataTables.scroller.css │ │ │ ├── FixedColumns │ │ │ │ ├── css │ │ │ │ │ ├── dataTables.fixedColumns.min.css │ │ │ │ │ └── dataTables.fixedColumns.css │ │ │ │ ├── License.txt │ │ │ │ └── Readme.md │ │ │ └── ColVis │ │ │ │ ├── css │ │ │ │ └── dataTables.colvis.jqueryui.css │ │ │ │ ├── License.txt │ │ │ │ └── Readme.md │ │ └── images │ │ │ ├── sort_asc.png │ │ │ ├── sort_both.png │ │ │ ├── sort_desc.png │ │ │ ├── sort_asc_disabled.png │ │ │ └── sort_desc_disabled.png │ ├── input-mask │ │ ├── phone-codes │ │ │ └── readme.txt │ │ └── jquery.inputmask.phone.extensions.js │ ├── ionslider │ │ └── img │ │ │ ├── sprite-skin-flat.png │ │ │ └── sprite-skin-nice.png │ ├── datepicker │ │ └── locales │ │ │ ├── bootstrap-datepicker.kr.js │ │ │ ├── bootstrap-datepicker.gl.js │ │ │ ├── bootstrap-datepicker.ja.js │ │ │ ├── bootstrap-datepicker.hr.js │ │ │ ├── bootstrap-datepicker.zh-CN.js │ │ │ ├── bootstrap-datepicker.az.js │ │ │ ├── bootstrap-datepicker.cy.js │ │ │ ├── bootstrap-datepicker.he.js │ │ │ ├── bootstrap-datepicker.ms.js │ │ │ ├── bootstrap-datepicker.no.js │ │ │ ├── bootstrap-datepicker.ca.js │ │ │ ├── bootstrap-datepicker.rs.js │ │ │ ├── bootstrap-datepicker.th.js │ │ │ ├── bootstrap-datepicker.bg.js │ │ │ ├── bootstrap-datepicker.el.js │ │ │ ├── bootstrap-datepicker.es.js │ │ │ ├── bootstrap-datepicker.nl.js │ │ │ ├── bootstrap-datepicker.sl.js │ │ │ ├── bootstrap-datepicker.rs-latin.js │ │ │ ├── bootstrap-datepicker.nb.js │ │ │ ├── bootstrap-datepicker.sq.js │ │ │ ├── bootstrap-datepicker.ua.js │ │ │ ├── bootstrap-datepicker.id.js │ │ │ ├── bootstrap-datepicker.tr.js │ │ │ ├── bootstrap-datepicker.da.js │ │ │ ├── bootstrap-datepicker.kk.js │ │ │ ├── bootstrap-datepicker.pt-BR.js │ │ │ ├── bootstrap-datepicker.ru.js │ │ │ ├── bootstrap-datepicker.cs.js │ │ │ ├── bootstrap-datepicker.is.js │ │ │ ├── bootstrap-datepicker.sk.js │ │ │ ├── bootstrap-datepicker.sv.js │ │ │ ├── bootstrap-datepicker.fa.js │ │ │ ├── bootstrap-datepicker.hu.js │ │ │ ├── bootstrap-datepicker.ro.js │ │ │ ├── bootstrap-datepicker.zh-TW.js │ │ │ ├── bootstrap-datepicker.de.js │ │ │ ├── bootstrap-datepicker.fr.js │ │ │ ├── bootstrap-datepicker.mk.js │ │ │ ├── bootstrap-datepicker.pt.js │ │ │ ├── bootstrap-datepicker.vi.js │ │ │ ├── bootstrap-datepicker.ar.js │ │ │ ├── bootstrap-datepicker.it.js │ │ │ ├── bootstrap-datepicker.fi.js │ │ │ ├── bootstrap-datepicker.lv.js │ │ │ ├── bootstrap-datepicker.nl-BE.js │ │ │ ├── bootstrap-datepicker.lt.js │ │ │ ├── bootstrap-datepicker.pl.js │ │ │ ├── bootstrap-datepicker.sw.js │ │ │ ├── bootstrap-datepicker.ka.js │ │ │ └── bootstrap-datepicker.et.js │ ├── select2 │ │ └── i18n │ │ │ ├── zh-TW.js │ │ │ ├── zh-CN.js │ │ │ ├── az.js │ │ │ ├── fi.js │ │ │ ├── ja.js │ │ │ ├── hu.js │ │ │ ├── tr.js │ │ │ ├── ko.js │ │ │ ├── th.js │ │ │ ├── id.js │ │ │ ├── vi.js │ │ │ ├── is.js │ │ │ ├── ar.js │ │ │ ├── de.js │ │ │ ├── et.js │ │ │ ├── sv.js │ │ │ ├── bg.js │ │ │ ├── km.js │ │ │ ├── nb.js │ │ │ ├── ms.js │ │ │ ├── gl.js │ │ │ ├── da.js │ │ │ ├── en.js │ │ │ ├── he.js │ │ │ ├── hi.js │ │ │ ├── fa.js │ │ │ ├── hr.js │ │ │ ├── mk.js │ │ │ ├── eu.js │ │ │ ├── pt-BR.js │ │ │ ├── pt.js │ │ │ ├── lv.js │ │ │ ├── es.js │ │ │ ├── ca.js │ │ │ ├── it.js │ │ │ ├── fr.js │ │ │ ├── ro.js │ │ │ ├── nl.js │ │ │ ├── lt.js │ │ │ ├── pl.js │ │ │ ├── el.js │ │ │ ├── sr.js │ │ │ ├── uk.js │ │ │ ├── sr-Cyrl.js │ │ │ ├── ru.js │ │ │ ├── sk.js │ │ │ └── cs.js │ └── pace │ │ └── pace.min.css ├── images │ ├── prius.png │ ├── yaris.png │ ├── avalon.png │ ├── tundra.png │ ├── voyage.png │ └── forerunner.png ├── dist │ ├── img │ │ ├── avatar.png │ │ ├── icons.png │ │ ├── photo1.png │ │ ├── photo2.png │ │ ├── photo3.jpg │ │ ├── photo4.jpg │ │ ├── avatar04.png │ │ ├── avatar2.png │ │ ├── avatar3.png │ │ ├── avatar5.png │ │ ├── boxed-bg.jpg │ │ ├── boxed-bg.png │ │ ├── credit │ │ │ ├── visa.png │ │ │ ├── cirrus.png │ │ │ ├── mestro.png │ │ │ ├── paypal.png │ │ │ ├── paypal2.png │ │ │ ├── mastercard.png │ │ │ └── american-express.png │ │ ├── default-50x50.gif │ │ ├── user1-128x128.jpg │ │ ├── user2-160x160.jpg │ │ ├── user3-128x128.jpg │ │ ├── user4-128x128.jpg │ │ ├── user5-128x128.jpg │ │ ├── user6-128x128.jpg │ │ ├── user7-128x128.jpg │ │ └── user8-128x128.jpg │ ├── fonts │ │ ├── map-icons.eot │ │ ├── map-icons.ttf │ │ └── map-icons.woff │ ├── LICENSE │ └── css │ │ └── alt │ │ └── AdminLTE-fullcalendar.min.css ├── build │ ├── less │ │ ├── plugins.less │ │ ├── invoice.less │ │ ├── carousel.less │ │ ├── skins │ │ │ ├── _all-skins.less │ │ │ ├── skin-red-light.less │ │ │ ├── skin-red.less │ │ │ ├── skin-green-light.less │ │ │ ├── skin-green.less │ │ │ ├── skin-purple-light.less │ │ │ ├── skin-purple.less │ │ │ ├── skin-yellow-light.less │ │ │ ├── skin-yellow.less │ │ │ ├── skin-blue.less │ │ │ ├── skin-blue-light.less │ │ │ ├── skin-black-light.less │ │ │ └── skin-black.less │ │ ├── labels.less │ │ ├── profile.less │ │ ├── .csslintrc │ │ ├── users-list.less │ │ ├── alerts.less │ │ ├── 404_500_errors.less │ │ ├── login_and_register.less │ │ ├── products.less │ │ ├── callout.less │ │ ├── print.less │ │ ├── table.less │ │ ├── info-box.less │ │ ├── lockscreen.less │ │ ├── mailbox.less │ │ ├── modal.less │ │ ├── social-widgets.less │ │ ├── AdminLTE-without-plugins.less │ │ └── AdminLTE.less │ └── bootstrap-less │ │ ├── mixins │ │ ├── center-block.less │ │ ├── size.less │ │ ├── opacity.less │ │ ├── text-emphasis.less │ │ ├── text-overflow.less │ │ ├── background-variant.less │ │ ├── tab-focus.less │ │ ├── labels.less │ │ ├── resize.less │ │ ├── progress-bar.less │ │ ├── nav-divider.less │ │ ├── reset-filter.less │ │ ├── alerts.less │ │ ├── nav-vertical-align.less │ │ ├── responsive-visibility.less │ │ ├── reset-text.less │ │ ├── border-radius.less │ │ ├── pagination.less │ │ ├── panels.less │ │ ├── hide-text.less │ │ ├── list-group.less │ │ ├── clearfix.less │ │ ├── table-row.less │ │ ├── image.less │ │ └── buttons.less │ │ └── mixins.less ├── bootstrap │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── js │ │ └── npm.js ├── server.js ├── README.md ├── custom-js │ ├── blockies.min.js │ ├── vehiclemanagement.js │ ├── ipfs.js │ └── maps.js └── LICENSE ├── migrations ├── 1_initial_migration.js └── 2_deploy_contracts.js ├── .gitignore ├── scripts └── start_geth.sh ├── app ├── carsharing │ └── js │ │ └── car-config.json ├── car │ └── README.md └── common │ └── js │ └── app-common.js ├── contracts ├── ErrorTypes.sol ├── Migrations.sol ├── CarTypes.sol ├── MultiOwnership.sol └── MobilityRegistry.sol ├── test ├── TestMetacoin.sol └── carpool.js ├── truffle.js ├── webpack.config.js └── README.md /dapp/plugins/datatables/extensions/Responsive/Readme.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dapp/images/prius.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/images/prius.png -------------------------------------------------------------------------------- /dapp/images/yaris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/images/yaris.png -------------------------------------------------------------------------------- /dapp/plugins/input-mask/phone-codes/readme.txt: -------------------------------------------------------------------------------- 1 | more phone masks can be found at https://github.com/andr-04/inputmask-multi -------------------------------------------------------------------------------- /dapp/dist/img/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/avatar.png -------------------------------------------------------------------------------- /dapp/dist/img/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/icons.png -------------------------------------------------------------------------------- /dapp/dist/img/photo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/photo1.png -------------------------------------------------------------------------------- /dapp/dist/img/photo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/photo2.png -------------------------------------------------------------------------------- /dapp/dist/img/photo3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/photo3.jpg -------------------------------------------------------------------------------- /dapp/dist/img/photo4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/photo4.jpg -------------------------------------------------------------------------------- /dapp/images/avalon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/images/avalon.png -------------------------------------------------------------------------------- /dapp/images/tundra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/images/tundra.png -------------------------------------------------------------------------------- /dapp/images/voyage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/images/voyage.png -------------------------------------------------------------------------------- /dapp/dist/img/avatar04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/avatar04.png -------------------------------------------------------------------------------- /dapp/dist/img/avatar2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/avatar2.png -------------------------------------------------------------------------------- /dapp/dist/img/avatar3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/avatar3.png -------------------------------------------------------------------------------- /dapp/dist/img/avatar5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/avatar5.png -------------------------------------------------------------------------------- /dapp/dist/img/boxed-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/boxed-bg.jpg -------------------------------------------------------------------------------- /dapp/dist/img/boxed-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/boxed-bg.png -------------------------------------------------------------------------------- /dapp/images/forerunner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/images/forerunner.png -------------------------------------------------------------------------------- /dapp/dist/fonts/map-icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/fonts/map-icons.eot -------------------------------------------------------------------------------- /dapp/dist/fonts/map-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/fonts/map-icons.ttf -------------------------------------------------------------------------------- /dapp/dist/img/credit/visa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/credit/visa.png -------------------------------------------------------------------------------- /dapp/dist/fonts/map-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/fonts/map-icons.woff -------------------------------------------------------------------------------- /dapp/dist/img/credit/cirrus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/credit/cirrus.png -------------------------------------------------------------------------------- /dapp/dist/img/credit/mestro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/credit/mestro.png -------------------------------------------------------------------------------- /dapp/dist/img/credit/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/credit/paypal.png -------------------------------------------------------------------------------- /dapp/dist/img/default-50x50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/default-50x50.gif -------------------------------------------------------------------------------- /dapp/dist/img/user1-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/user1-128x128.jpg -------------------------------------------------------------------------------- /dapp/dist/img/user2-160x160.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/user2-160x160.jpg -------------------------------------------------------------------------------- /dapp/dist/img/user3-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/user3-128x128.jpg -------------------------------------------------------------------------------- /dapp/dist/img/user4-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/user4-128x128.jpg -------------------------------------------------------------------------------- /dapp/dist/img/user5-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/user5-128x128.jpg -------------------------------------------------------------------------------- /dapp/dist/img/user6-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/user6-128x128.jpg -------------------------------------------------------------------------------- /dapp/dist/img/user7-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/user7-128x128.jpg -------------------------------------------------------------------------------- /dapp/dist/img/user8-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/user8-128x128.jpg -------------------------------------------------------------------------------- /dapp/dist/img/credit/paypal2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/credit/paypal2.png -------------------------------------------------------------------------------- /dapp/dist/img/credit/mastercard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/credit/mastercard.png -------------------------------------------------------------------------------- /dapp/build/less/plugins.less: -------------------------------------------------------------------------------- 1 | // Customized third-party plugins 2 | @import "bootstrap-social.less"; 3 | @import "fullcalendar.less"; 4 | @import "select2.less"; -------------------------------------------------------------------------------- /dapp/dist/img/credit/american-express.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/dist/img/credit/american-express.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/images/sort_asc.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/images/sort_both.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/images/sort_desc.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/FixedHeader/css/dataTables.fixedHeader.min.css: -------------------------------------------------------------------------------- 1 | div.FixedHeader_Cloned th,div.FixedHeader_Cloned td{background-color:white !important} 2 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/KeyTable/css/dataTables.keyTable.min.css: -------------------------------------------------------------------------------- 1 | table.KeyTable th.focus,table.KeyTable td.focus{outline:3px solid #3366FF;outline-offset:-3px} 2 | -------------------------------------------------------------------------------- /dapp/plugins/ionslider/img/sprite-skin-flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/ionslider/img/sprite-skin-flat.png -------------------------------------------------------------------------------- /dapp/plugins/ionslider/img/sprite-skin-nice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/ionslider/img/sprite-skin-nice.png -------------------------------------------------------------------------------- /migrations/1_initial_migration.js: -------------------------------------------------------------------------------- 1 | var Migrations = artifacts.require("./Migrations.sol"); 2 | 3 | module.exports = function(deployer) { 4 | deployer.deploy(Migrations); 5 | }; 6 | -------------------------------------------------------------------------------- /dapp/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /dapp/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /dapp/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /dapp/plugins/datatables/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /dapp/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/center-block.less: -------------------------------------------------------------------------------- 1 | // Center-align a block level element 2 | 3 | .center-block() { 4 | display: block; 5 | margin-left: auto; 6 | margin-right: auto; 7 | } 8 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/AutoFill/images/filler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/AutoFill/images/filler.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/FixedHeader/css/dataTables.fixedHeader.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | div.FixedHeader_Cloned th, 4 | div.FixedHeader_Cloned td { 5 | background-color: white !important; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/copy.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/csv.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/pdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/pdf.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/xls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/xls.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/ColReorder/images/insert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/ColReorder/images/insert.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/KeyTable/css/dataTables.keyTable.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | table.KeyTable th.focus, 4 | table.KeyTable td.focus { 5 | outline: 3px solid #3366FF; 6 | outline-offset: -3px; 7 | } 8 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/print.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | 3 | # truffle build 4 | /build 5 | 6 | # packages 7 | /node_modules 8 | 9 | 10 | npm-debug.log 11 | 12 | # Sensitive? 13 | hdconfig.json 14 | 15 | # IPFS repo 16 | .jsipfs 17 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/csv_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/csv_hover.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/pdf_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/pdf_hover.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/xls_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/xls_hover.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/swf/copy_csv_xls.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/swf/copy_csv_xls.swf -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/collection.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/copy_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/copy_hover.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/print_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/print_hover.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/psd/printer.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/psd/printer.psd -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/size.less: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | .size(@width; @height) { 4 | width: @width; 5 | height: @height; 6 | } 7 | 8 | .square(@size) { 9 | .size(@size; @size); 10 | } 11 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/ColReorder/css/dataTables.colReorder.min.css: -------------------------------------------------------------------------------- 1 | table.DTCR_clonedTable{background-color:rgba(255,255,255,0.7);z-index:202}div.DTCR_pointer{width:1px;background-color:#0259C4;z-index:201} 2 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/psd/collection.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/psd/collection.psd -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/psd/file_types.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/psd/file_types.psd -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/swf/copy_csv_xls_pdf.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/swf/copy_csv_xls_pdf.swf -------------------------------------------------------------------------------- /scripts/start_geth.sh: -------------------------------------------------------------------------------- 1 | geth --fast --light --testnet --rpc --rpcapi personal,web3,eth,net --unlock "0x47d20260d01093f26e0c863c992caa796d45c131,0xae55a600b2d606df8f62e3a92ed11f244ecb1c29" --password .git/geth_password.txt 2 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/opacity.less: -------------------------------------------------------------------------------- 1 | // Opacity 2 | 3 | .opacity(@opacity) { 4 | opacity: @opacity; 5 | // IE8 filter 6 | @opacity-ie: (@opacity * 100); 7 | filter: ~"alpha(opacity=@{opacity-ie})"; 8 | } 9 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/text-emphasis.less: -------------------------------------------------------------------------------- 1 | // Typography 2 | 3 | .text-emphasis-variant(@color) { 4 | color: @color; 5 | a&:hover, 6 | a&:focus { 7 | color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/Scroller/images/loading-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/Scroller/images/loading-background.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/collection_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/collection_hover.png -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/images/psd/copy document.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blockchain-mobility-ecosystem/mobility_dapps/HEAD/dapp/plugins/datatables/extensions/TableTools/images/psd/copy document.psd -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/text-overflow.less: -------------------------------------------------------------------------------- 1 | // Text overflow 2 | // Requires inline-block or block for proper styling 3 | 4 | .text-overflow() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/background-variant.less: -------------------------------------------------------------------------------- 1 | // Contextual backgrounds 2 | 3 | .bg-variant(@color) { 4 | background-color: @color; 5 | a&:hover, 6 | a&:focus { 7 | background-color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/tab-focus.less: -------------------------------------------------------------------------------- 1 | // WebKit-style focus 2 | 3 | .tab-focus() { 4 | // Default 5 | outline: thin dotted; 6 | // WebKit 7 | outline: 5px auto -webkit-focus-ring-color; 8 | outline-offset: -2px; 9 | } 10 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/labels.less: -------------------------------------------------------------------------------- 1 | // Labels 2 | 3 | .label-variant(@color) { 4 | background-color: @color; 5 | 6 | &[href] { 7 | &:hover, 8 | &:focus { 9 | background-color: darken(@color, 10%); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/resize.less: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | .resizable(@direction) { 4 | resize: @direction; // Options: horizontal, vertical, both 5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 6 | } 7 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/progress-bar.less: -------------------------------------------------------------------------------- 1 | // Progress bars 2 | 3 | .progress-bar-variant(@color) { 4 | background-color: @color; 5 | 6 | // Deprecated parent class requirement as of v3.2.0 7 | .progress-striped & { 8 | #gradient > .striped(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /app/carsharing/js/car-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "OakenTestCar": { 3 | "vin": "J888888", 4 | "year": 2020, 5 | "make": "Oaken", 6 | "model": "voyage", 7 | "color": "gold", 8 | "transmission": "ai", 9 | "seats": 4 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /dapp/server.js: -------------------------------------------------------------------------------- 1 | var host = "127.0.0.1"; 2 | var port = 1337; 3 | var express = require("express"); 4 | 5 | var app = express(); 6 | app.use('/', express.static(__dirname + '/')); 7 | app.listen(port, host); 8 | 9 | console.log('Running server at http://localhost:' + port + '/'); 10 | 11 | -------------------------------------------------------------------------------- /dapp/build/less/invoice.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Page: Invoice 3 | * ------------- 4 | */ 5 | 6 | .invoice { 7 | position: relative; 8 | background: #fff; 9 | border: 1px solid #f4f4f4; 10 | padding: 20px; 11 | margin: 10px 25px; 12 | } 13 | 14 | .invoice-title { 15 | margin-top: 0; 16 | } 17 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/nav-divider.less: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | .nav-divider(@color: #e5e5e5) { 6 | height: 1px; 7 | margin: ((@line-height-computed / 2) - 1) 0; 8 | overflow: hidden; 9 | background-color: @color; 10 | } 11 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/reset-filter.less: -------------------------------------------------------------------------------- 1 | // Reset filters for IE 2 | // 3 | // When you need to remove a gradient background, do not forget to use this to reset 4 | // the IE filter for IE9 and below. 5 | 6 | .reset-filter() { 7 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); 8 | } 9 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/ColReorder/css/dataTables.colReorder.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Namespace DTCR - "DataTables ColReorder" plug-in 3 | */ 4 | 5 | table.DTCR_clonedTable { 6 | background-color: rgba(255, 255, 255, 0.7); 7 | z-index: 202; 8 | } 9 | 10 | div.DTCR_pointer { 11 | width: 1px; 12 | background-color: #0259C4; 13 | z-index: 201; 14 | } -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/alerts.less: -------------------------------------------------------------------------------- 1 | // Alerts 2 | 3 | .alert-variant(@background; @border; @text-color) { 4 | background-color: @background; 5 | border-color: @border; 6 | color: @text-color; 7 | 8 | hr { 9 | border-top-color: darken(@border, 5%); 10 | } 11 | .alert-link { 12 | color: darken(@text-color, 10%); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /dapp/build/less/carousel.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Component: Carousel 3 | * ------------------- 4 | */ 5 | .carousel-control { 6 | &.left, 7 | &.right { 8 | background-image: none; 9 | } 10 | > .fa { 11 | font-size: 40px; 12 | position: absolute; 13 | top: 50%; 14 | z-index: 5; 15 | display: inline-block; 16 | margin-top: -20px; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/FixedColumns/css/dataTables.fixedColumns.min.css: -------------------------------------------------------------------------------- 1 | table.DTFC_Cloned thead,table.DTFC_Cloned tfoot{background-color:white}div.DTFC_Blocker{background-color:white}div.DTFC_LeftWrapper table.dataTable,div.DTFC_RightWrapper table.dataTable{margin-bottom:0;z-index:2}div.DTFC_LeftWrapper table.dataTable.no-footer,div.DTFC_RightWrapper table.dataTable.no-footer{border-bottom:none} 2 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/AutoFill/css/dataTables.autoFill.min.css: -------------------------------------------------------------------------------- 1 | div.AutoFill_filler{display:none;position:absolute;height:14px;width:14px;background:url(../images/filler.png) no-repeat center center;z-index:1002}div.AutoFill_border{display:none;position:absolute;background-color:#0063dc;z-index:1001;box-shadow:0px 0px 5px #76b4ff;-moz-box-shadow:0px 0px 5px #76b4ff;-webkit-box-shadow:0px 0px 5px #76b4ff} 2 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/nav-vertical-align.less: -------------------------------------------------------------------------------- 1 | // Navbar vertical align 2 | // 3 | // Vertically center elements in the navbar. 4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. 5 | 6 | .navbar-vertical-align(@element-height) { 7 | margin-top: ((@navbar-height - @element-height) / 2); 8 | margin-bottom: ((@navbar-height - @element-height) / 2); 9 | } 10 | -------------------------------------------------------------------------------- /dapp/build/less/skins/_all-skins.less: -------------------------------------------------------------------------------- 1 | //All skins in one file 2 | @import "skin-blue.less"; 3 | @import "skin-blue-light.less"; 4 | @import "skin-black.less"; 5 | @import "skin-black-light.less"; 6 | @import "skin-green.less"; 7 | @import "skin-green-light.less"; 8 | @import "skin-red.less"; 9 | @import "skin-red-light.less"; 10 | @import "skin-yellow.less"; 11 | @import "skin-yellow-light.less"; 12 | @import "skin-purple.less"; 13 | @import "skin-purple-light.less"; 14 | -------------------------------------------------------------------------------- /dapp/build/less/labels.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Component: Label 3 | * ---------------- 4 | */ 5 | .label-default { 6 | background-color: @gray-lte; 7 | color: #444; 8 | } 9 | 10 | .label-danger { 11 | &:extend(.bg-red); 12 | } 13 | 14 | .label-info { 15 | &:extend(.bg-aqua); 16 | } 17 | 18 | .label-warning { 19 | &:extend(.bg-yellow); 20 | } 21 | 22 | .label-primary { 23 | &:extend(.bg-light-blue); 24 | } 25 | 26 | .label-success { 27 | &:extend(.bg-green); 28 | } 29 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/responsive-visibility.less: -------------------------------------------------------------------------------- 1 | // Responsive utilities 2 | 3 | // 4 | // More easily include all the states for responsive-utilities.less. 5 | .responsive-visibility() { 6 | display: block !important; 7 | table& { 8 | display: table !important; 9 | } 10 | tr& { 11 | display: table-row !important; 12 | } 13 | th&, 14 | td& { 15 | display: table-cell !important; 16 | } 17 | } 18 | 19 | .responsive-invisibility() { 20 | display: none !important; 21 | } 22 | -------------------------------------------------------------------------------- /migrations/2_deploy_contracts.js: -------------------------------------------------------------------------------- 1 | //var ConvertLib = artifacts.require("./ConvertLib.sol"); 2 | //var MetaCoin = artifacts.require("./MetaCoin.sol"); 3 | var CarSharing = artifacts.require("./CarSharing.sol"); 4 | var MultiOwnship = artifacts.require("./MultiOwnership.sol"); 5 | 6 | module.exports = function(deployer) { 7 | //deployer.deploy(ConvertLib); 8 | //deployer.link(ConvertLib, MetaCoin); 9 | //deployer.deploy(MetaCoin); 10 | deployer.deploy(CarSharing); 11 | deployer.deploy(MultiOwnship); 12 | }; 13 | -------------------------------------------------------------------------------- /dapp/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /app/car/README.md: -------------------------------------------------------------------------------- 1 | # In-car Service 2 | 3 | It's can be used as a library to provide in-car decentralized services including 4 | - Decentralized data service `ipfs` 5 | - M2M communication `MQTT` 6 | - Car data (GPS, door status, speed, etc.) 7 | - Car control (unlock/lock car) 8 | 9 | ## APIs 10 | - car = new CarService() 11 | - car.startIpfsApi(callback) 12 | - car.startIpfs(repo, callback), *not working with ipns apis*. 13 | - car.startGPSData() 14 | - car.listenCarTopic(M2MProtocol, topic, msgReceiver, callback) 15 | - car.execCmd(command) 16 | - car.stopService() 17 | -------------------------------------------------------------------------------- /contracts/ErrorTypes.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.4.10; 2 | 3 | contract ErrorTypes { 4 | //typedef vin_t bytes17; 5 | //typedef license_t bytes16; 6 | //typedef carid_t uint32; 7 | // Related to solidity issure: https://github.com/ethereum/solidity/issues/1100 8 | 9 | // Error codes 10 | uint constant SUCCESS = 0; 11 | uint constant ACCOUNT_ALREADY_EXIST = 1; 12 | uint constant ACCOUNT_NOT_EXIST = 2; 13 | 14 | uint constant CAR_ALREADY_REGISTERED = 1000; 15 | uint constant CAR_NOT_REGISTERED = 1001; 16 | uint constant CAR_NOT_AVAILABLE = 1002; 17 | 18 | } -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/reset-text.less: -------------------------------------------------------------------------------- 1 | .reset-text() { 2 | font-family: @font-family-base; 3 | // We deliberately do NOT reset font-size. 4 | font-style: normal; 5 | font-weight: normal; 6 | letter-spacing: normal; 7 | line-break: auto; 8 | line-height: @line-height-base; 9 | text-align: left; // Fallback for where `start` is not supported 10 | text-align: start; 11 | text-decoration: none; 12 | text-shadow: none; 13 | text-transform: none; 14 | white-space: normal; 15 | word-break: normal; 16 | word-spacing: normal; 17 | word-wrap: normal; 18 | } 19 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/border-radius.less: -------------------------------------------------------------------------------- 1 | // Single side border-radius 2 | 3 | .border-top-radius(@radius) { 4 | border-top-right-radius: @radius; 5 | border-top-left-radius: @radius; 6 | } 7 | 8 | .border-right-radius(@radius) { 9 | border-bottom-right-radius: @radius; 10 | border-top-right-radius: @radius; 11 | } 12 | 13 | .border-bottom-radius(@radius) { 14 | border-bottom-right-radius: @radius; 15 | border-bottom-left-radius: @radius; 16 | } 17 | 18 | .border-left-radius(@radius) { 19 | border-bottom-left-radius: @radius; 20 | border-top-left-radius: @radius; 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Migrations.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.4.4; 2 | 3 | contract Migrations { 4 | address public owner; 5 | uint public last_completed_migration; 6 | 7 | modifier restricted() { 8 | if (msg.sender == owner) _; 9 | } 10 | 11 | function Migrations() { 12 | owner = msg.sender; 13 | } 14 | 15 | function setCompleted(uint completed) restricted { 16 | last_completed_migration = completed; 17 | } 18 | 19 | function upgrade(address new_address) restricted { 20 | Migrations upgraded = Migrations(new_address); 21 | upgraded.setCompleted(last_completed_migration); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.kr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Korean translation for bootstrap-datepicker 3 | * Gu Youn 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['kr'] = { 7 | days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], 8 | daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], 9 | daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], 10 | months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], 11 | monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /dapp/build/less/profile.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Page: Profile 3 | * ------------- 4 | */ 5 | 6 | .profile-user-img { 7 | margin: 0 auto; 8 | width: 100px; 9 | padding: 3px; 10 | border: 3px solid @gray-lte; 11 | } 12 | 13 | .profile-username { 14 | font-size: 21px; 15 | margin-top: 5px; 16 | } 17 | 18 | .post { 19 | border-bottom: 1px solid @gray-lte; 20 | margin-bottom: 15px; 21 | padding-bottom: 15px; 22 | color: #666; 23 | &:last-of-type { 24 | border-bottom: 0; 25 | margin-bottom: 0; 26 | padding-bottom: 0; 27 | } 28 | .user-block { 29 | margin-bottom: 15px; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/Scroller/css/dataTables.scroller.min.css: -------------------------------------------------------------------------------- 1 | div.DTS tbody th,div.DTS tbody td{white-space:nowrap}div.DTS tbody tr.even{background-color:white}div.DTS div.DTS_Loading{position:absolute;top:50%;left:50%;width:200px;height:20px;margin-top:-20px;margin-left:-100px;z-index:1;border:1px solid #999;padding:20px 0;text-align:center;background-color:white;background-color:rgba(255,255,255,0.5)}div.DTS div.dataTables_scrollHead,div.DTS div.dataTables_scrollFoot{background-color:white}div.DTS div.dataTables_scrollBody{z-index:2}div.DTS div.dataTables_scroll{background:url("../images/loading-background.png") repeat 0 0} 2 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/pagination.less: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { 4 | > li { 5 | > a, 6 | > span { 7 | padding: @padding-vertical @padding-horizontal; 8 | font-size: @font-size; 9 | line-height: @line-height; 10 | } 11 | &:first-child { 12 | > a, 13 | > span { 14 | .border-left-radius(@border-radius); 15 | } 16 | } 17 | &:last-child { 18 | > a, 19 | > span { 20 | .border-right-radius(@border-radius); 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /contracts/CarTypes.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.4.10; 2 | 3 | contract CarTypes { 4 | enum Color { WHITE, BLACK, BLUE, RED} 5 | enum Transmission {MANUAL, AUTOMATIC} 6 | enum CarStatus {AVAILABLE, UNAVAILABLE} 7 | 8 | struct Car { 9 | address owner; 10 | bytes IPNSAddr; 11 | CarStatus status; 12 | bool exists; 13 | uint currentRsvt; 14 | } 15 | 16 | uint constant CAR_ACCESS_UNLOCK = 1; 17 | uint constant CAR_ACCESS_LOCK = 2; 18 | uint constant CAR_ACCESS_REMOTE_START = 4; 19 | uint constant CAR_ACCESS_ALL = CAR_ACCESS_UNLOCK | CAR_ACCESS_LOCK | CAR_ACCESS_REMOTE_START; 20 | } -------------------------------------------------------------------------------- /contracts/MultiOwnership.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.4.8; 2 | 3 | contract MultiOwnership { 4 | mapping(address => bool) owners; 5 | address carAccount; 6 | 7 | event DepositReceived(address account); 8 | 9 | function MultiOwnership() { 10 | carAccount = msg.sender; 11 | } 12 | 13 | function isOwner(address user) returns (bool owned) { 14 | return owners[user]; 15 | } 16 | 17 | function() payable { 18 | bool exist = owners[msg.sender]; 19 | if (!exist) { 20 | owners[msg.sender] = true; 21 | } 22 | DepositReceived(msg.sender); 23 | } 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.gl.js: -------------------------------------------------------------------------------- 1 | ;(function($){ 2 | $.fn.datepicker.dates['gl'] = { 3 | days: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado", "Domingo"], 4 | daysShort: ["Dom", "Lun", "Mar", "Mér", "Xov", "Ven", "Sáb", "Dom"], 5 | daysMin: ["Do", "Lu", "Ma", "Me", "Xo", "Ve", "Sa", "Do"], 6 | months: ["Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro"], 7 | monthsShort: ["Xan", "Feb", "Mar", "Abr", "Mai", "Xun", "Xul", "Ago", "Sep", "Out", "Nov", "Dec"], 8 | today: "Hoxe", 9 | clear: "Limpar" 10 | }; 11 | }(jQuery)); 12 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.ja.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Japanese translation for bootstrap-datepicker 3 | * Norio Suzuki 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ja'] = { 7 | days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"], 8 | daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"], 9 | daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"], 10 | months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 11 | monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 12 | today: "今日", 13 | format: "yyyy/mm/dd" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/build/less/.csslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "adjoining-classes": false, 3 | "box-sizing": false, 4 | "box-model": false, 5 | "compatible-vendor-prefixes": false, 6 | "floats": false, 7 | "font-sizes": false, 8 | "gradients": false, 9 | "important": false, 10 | "known-properties": false, 11 | "outline-none": false, 12 | "qualified-headings": false, 13 | "regex-selectors": false, 14 | "shorthand": false, 15 | "text-indent": false, 16 | "unique-headings": false, 17 | "universal-selector": false, 18 | "unqualified-attributes": false, 19 | "ids": false, 20 | "fallback-colors": false, 21 | "vendor-prefix": false, 22 | "import": false 23 | } 24 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/AutoFill/css/dataTables.autoFill.css: -------------------------------------------------------------------------------- 1 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2 | * AutoFill styles 3 | */ 4 | 5 | div.AutoFill_filler { 6 | display: none; 7 | position: absolute; 8 | height: 14px; 9 | width: 14px; 10 | background: url(../images/filler.png) no-repeat center center; 11 | z-index: 1002; 12 | } 13 | 14 | div.AutoFill_border { 15 | display: none; 16 | position: absolute; 17 | background-color: #0063dc; 18 | z-index: 1001; 19 | 20 | box-shadow: 0px 0px 5px #76b4ff; 21 | -moz-box-shadow: 0px 0px 5px #76b4ff; 22 | -webkit-box-shadow: 0px 0px 5px #76b4ff; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/panels.less: -------------------------------------------------------------------------------- 1 | // Panels 2 | 3 | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { 4 | border-color: @border; 5 | 6 | & > .panel-heading { 7 | color: @heading-text-color; 8 | background-color: @heading-bg-color; 9 | border-color: @heading-border; 10 | 11 | + .panel-collapse > .panel-body { 12 | border-top-color: @border; 13 | } 14 | .badge { 15 | color: @heading-bg-color; 16 | background-color: @heading-text-color; 17 | } 18 | } 19 | & > .panel-footer { 20 | + .panel-collapse > .panel-body { 21 | border-bottom-color: @border; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.hr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Croatian localisation 3 | */ 4 | ;(function($){ 5 | $.fn.datepicker.dates['hr'] = { 6 | days: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota", "Nedjelja"], 7 | daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", "Ned"], 8 | daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], 9 | months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], 10 | monthsShort: ["Sij", "Velj", "Ožu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro"], 11 | today: "Danas" 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/az.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/hide-text.less: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | // 3 | // Heads up! v3 launched with only `.hide-text()`, but per our pattern for 4 | // mixins being reused as classes with the same name, this doesn't hold up. As 5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. 6 | // 7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 8 | 9 | // Deprecated as of v3.0.1 (will be removed in v4) 10 | .hide-text() { 11 | font: ~"0/0" a; 12 | color: transparent; 13 | text-shadow: none; 14 | background-color: transparent; 15 | border: 0; 16 | } 17 | 18 | // New mixin to use as of v3.0.1 19 | .text-hide() { 20 | .hide-text(); 21 | } 22 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Simplified Chinese translation for bootstrap-datepicker 3 | * Yuan Cheung 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['zh-CN'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今日", 13 | format: "yyyy年mm月dd日", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/fi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/FixedColumns/css/dataTables.fixedColumns.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* Block out what is behind the fixed column's header and footer */ 4 | table.DTFC_Cloned thead, 5 | table.DTFC_Cloned tfoot { 6 | background-color: white; 7 | } 8 | 9 | /* Block out the gap above the scrollbar on the right, when there is a fixed 10 | * right column 11 | */ 12 | div.DTFC_Blocker { 13 | background-color: white; 14 | } 15 | 16 | div.DTFC_LeftWrapper table.dataTable, 17 | div.DTFC_RightWrapper table.dataTable { 18 | margin-bottom: 0; 19 | z-index: 2; 20 | } 21 | 22 | div.DTFC_LeftWrapper table.dataTable.no-footer, 23 | div.DTFC_RightWrapper table.dataTable.no-footer { 24 | border-bottom: none; 25 | } 26 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/ja.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/list-group.less: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | .list-group-item-variant(@state; @background; @color) { 4 | .list-group-item-@{state} { 5 | color: @color; 6 | background-color: @background; 7 | 8 | a&, 9 | button& { 10 | color: @color; 11 | 12 | .list-group-item-heading { 13 | color: inherit; 14 | } 15 | 16 | &:hover, 17 | &:focus { 18 | color: @color; 19 | background-color: darken(@background, 5%); 20 | } 21 | &.active, 22 | &.active:hover, 23 | &.active:focus { 24 | color: #fff; 25 | background-color: @color; 26 | border-color: @color; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.az.js: -------------------------------------------------------------------------------- 1 | // Azerbaijani 2 | ;(function($){ 3 | $.fn.datepicker.dates['az'] = { 4 | days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", "Bazar"], 5 | daysShort: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş.", "B."], 6 | daysMin: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş.", "B."], 7 | months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], 8 | monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], 9 | today: "Bu gün", 10 | weekStart: 1 11 | }; 12 | }(jQuery)); 13 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.cy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Welsh translation for bootstrap-datepicker 3 | * S. Morris 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['cy'] = { 7 | days: ["Sul", "Llun", "Mawrth", "Mercher", "Iau", "Gwener", "Sadwrn", "Sul"], 8 | daysShort: ["Sul", "Llu", "Maw", "Mer", "Iau", "Gwe", "Sad", "Sul"], 9 | daysMin: ["Su", "Ll", "Ma", "Me", "Ia", "Gwe", "Sa", "Su"], 10 | months: ["Ionawr", "Chewfror", "Mawrth", "Ebrill", "Mai", "Mehefin", "Gorfennaf", "Awst", "Medi", "Hydref", "Tachwedd", "Rhagfyr"], 11 | monthsShort: ["Ion", "Chw", "Maw", "Ebr", "Mai", "Meh", "Gor", "Aws", "Med", "Hyd", "Tach", "Rha"], 12 | today: "Heddiw" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.he.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hebrew translation for bootstrap-datepicker 3 | * Sagie Maoz 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['he'] = { 7 | days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], 8 | daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 9 | daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 10 | months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], 11 | monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], 12 | today: "היום", 13 | rtl: true 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.ms.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Malay translation for bootstrap-datepicker 3 | * Ateman Faiz 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ms'] = { 7 | days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], 8 | daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], 9 | daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], 10 | months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], 12 | today: "Hari Ini" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/hu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/tr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.no.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian translation for bootstrap-datepicker 3 | **/ 4 | ;(function($){ 5 | $.fn.datepicker.dates['no'] = { 6 | days: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], 7 | daysShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], 8 | daysMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], 9 | months: ['Januar','Februar','Mars','April','Mai','Juni','Juli','August','September','Oktober','November','Desember'], 10 | monthsShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Des'], 11 | today: 'I dag', 12 | clear: 'Nullstill', 13 | weekStart: 1, 14 | format: 'dd.mm.yyyy' 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/ko.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/th.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/clearfix.less: -------------------------------------------------------------------------------- 1 | // Clearfix 2 | // 3 | // For modern browsers 4 | // 1. The space content is one way to avoid an Opera bug when the 5 | // contenteditable attribute is included anywhere else in the document. 6 | // Otherwise it causes space to appear at the top and bottom of elements 7 | // that are clearfixed. 8 | // 2. The use of `table` rather than `block` is only necessary if using 9 | // `:before` to contain the top-margins of child elements. 10 | // 11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/ 12 | 13 | .clearfix() { 14 | &:before, 15 | &:after { 16 | content: " "; // 1 17 | display: table; // 2 18 | } 19 | &:after { 20 | clear: both; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.ca.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Catalan translation for bootstrap-datepicker 3 | * J. Garcia 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ca'] = { 7 | days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], 8 | daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], 9 | daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], 10 | months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], 12 | today: "Avui" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.rs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian cyrillic translation for bootstrap-datepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['rs'] = { 7 | days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], 8 | daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], 9 | daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], 10 | months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], 11 | monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], 12 | today: "Данас" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.th.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Thai translation for bootstrap-datepicker 3 | * Suchau Jiraprapot 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['th'] = { 7 | days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], 8 | daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 9 | daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 10 | months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], 11 | monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], 12 | today: "วันนี้" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /app/common/js/app-common.js: -------------------------------------------------------------------------------- 1 | 2 | exports.MQTTTopics = { 3 | CAR_COMMANDS_CARSHARING: 'carsharing-car-commands-topic', 4 | CAR_COMMANDS_MULTIOWNER: 'multiowner-car-commands-topic' 5 | } 6 | 7 | exports.Configs = { 8 | MQTT_Broker_TCP: 'tcp://35.166.170.137:1883', 9 | MQTT_BROKER_WS: 'ws://35.166.170.137:3000', 10 | IPFS_Bootstrap_Peers: [ 11 | '/dns4/ams-1.bootstrap.libp2p.io/tcp/443/wss/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd' 12 | ] 13 | } 14 | 15 | exports.Artifacts = { 16 | CarSharing: require('../../../build/contracts/CarSharing.json'), 17 | MultiOwnership: require('../../../build/contracts/MultiOwnership.json') 18 | } 19 | 20 | 21 | exports.hdconfig = require('../../../hdconfig.json'); 22 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.bg.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bulgarian translation for bootstrap-datepicker 3 | * Apostol Apostolov 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['bg'] = { 7 | days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], 8 | daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], 9 | daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], 10 | months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], 11 | monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], 12 | today: "днес" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.el.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Greek translation for bootstrap-datepicker 3 | */ 4 | ;(function($){ 5 | $.fn.datepicker.dates['el'] = { 6 | days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], 7 | daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], 8 | daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], 9 | months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], 10 | monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], 11 | today: "Σήμερα" 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.es.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Spanish translation for bootstrap-datepicker 3 | * Bruno Bonamin 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['es'] = { 7 | days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], 10 | months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], 11 | monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], 12 | today: "Hoy" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.nl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch translation for bootstrap-datepicker 3 | * Reinier Goltstein 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nl'] = { 7 | days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], 8 | daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 9 | daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 10 | months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Vandaag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.sl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovene translation for bootstrap-datepicker 3 | * Gregor Rudolf 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sl'] = { 7 | days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], 9 | daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], 10 | months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danes" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.rs-latin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian latin translation for bootstrap-datepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['rs-latin'] = { 7 | days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], 9 | daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], 10 | months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danas" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /test/TestMetacoin.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.4.2; 2 | 3 | import "truffle/Assert.sol"; 4 | import "truffle/DeployedAddresses.sol"; 5 | import "../contracts/MetaCoin.sol"; 6 | 7 | contract TestMetacoin { 8 | 9 | function testInitialBalanceUsingDeployedContract() { 10 | MetaCoin meta = MetaCoin(DeployedAddresses.MetaCoin()); 11 | 12 | uint expected = 10000; 13 | 14 | Assert.equal(meta.getBalance(tx.origin), expected, "Owner should have 10000 MetaCoin initially"); 15 | } 16 | 17 | function testInitialBalanceWithNewMetaCoin() { 18 | MetaCoin meta = new MetaCoin(); 19 | 20 | uint expected = 10000; 21 | 22 | Assert.equal(meta.getBalance(tx.origin), expected, "Owner should have 10000 MetaCoin initially"); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.nb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian (bokmål) translation for bootstrap-datepicker 3 | * Fredrik Sundmyhr 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nb'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], 12 | today: "I Dag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.sq.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Albanian translation for bootstrap-datepicker 3 | * Tomor Pupovci 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sq'] = { 7 | days: ["E Diel", "E Hënë", "E martē", "E mërkurë", "E Enjte", "E Premte", "E Shtunë", "E Diel"], 8 | daysShort: ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu", "Die"], 9 | daysMin: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sht", "Di"], 10 | months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"], 11 | monthsShort: ["Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Korr", "Gu", "Sht", "Tet", "Nën", "Dhjet"], 12 | today: "Sot" 13 | }; 14 | }(jQuery)); 15 | 16 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.ua.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-datepicker 3 | * Igor Polynets 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ua'] = { 7 | days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятница", "Субота", "Неділя"], 8 | daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], 9 | daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], 10 | months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], 11 | monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], 12 | today: "Сьогодні", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.id.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bahasa translation for bootstrap-datepicker 3 | * Azwar Akbar 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['id'] = { 7 | days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], 8 | daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"], 9 | daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], 10 | months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], 12 | today: "Hari Ini", 13 | clear: "Kosongkan" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/id.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/vi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.tr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Turkish translation for bootstrap-datepicker 3 | * Serkan Algur 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['tr'] = { 7 | days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"], 8 | daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], 9 | daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], 10 | months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], 11 | monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], 12 | today: "Bugün", 13 | format: "dd.mm.yyyy" 14 | }; 15 | }(jQuery)); 16 | 17 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.da.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Danish translation for bootstrap-datepicker 3 | * Christian Pedersen 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['da'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "I Dag", 13 | clear: "Nulstil" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.kk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Kazakh translation for bootstrap-datepicker 3 | * Yerzhan Tolekov 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['kk'] = { 7 | days: ["Жексенбі", "Дүйсенбі", "Сейсенбі", "Сәрсенбі", "Бейсенбі", "Жұма", "Сенбі", "Жексенбі"], 8 | daysShort: ["Жек", "Дүй", "Сей", "Сәр", "Бей", "Жұм", "Сен", "Жек"], 9 | daysMin: ["Жк", "Дс", "Сс", "Ср", "Бс", "Жм", "Сн", "Жк"], 10 | months: ["Қаңтар", "Ақпан", "Наурыз", "Сәуір", "Мамыр", "Маусым", "Шілде", "Тамыз", "Қыркүйек", "Қазан", "Қараша", "Желтоқсан"], 11 | monthsShort: ["Қаң", "Ақп", "Нау", "Сәу", "Мамыр", "Мау", "Шлд", "Тмз", "Қыр", "Қзн", "Қар", "Жел"], 12 | today: "Бүгін", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.pt-BR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Brazilian translation for bootstrap-datepicker 3 | * Cauan Cabral 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['pt-BR'] = { 7 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 8 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 9 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 10 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 11 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 12 | today: "Hoje", 13 | clear: "Limpar" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/is.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.ru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Russian translation for bootstrap-datepicker 3 | * Victor Taranenko 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ru'] = { 7 | days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], 8 | daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], 9 | daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], 10 | months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], 11 | monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], 12 | today: "Сегодня", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.cs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Czech translation for bootstrap-datepicker 3 | * Matěj Koubík 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['cs'] = { 8 | days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], 9 | daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], 11 | months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], 12 | monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], 13 | today: "Dnes" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.is.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Icelandic translation for bootstrap-datepicker 3 | * Hinrik Örn Sigurðsson 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['is'] = { 7 | days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], 8 | daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], 9 | daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], 10 | months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], 12 | today: "Í Dag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/ar.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="الرجاء حذف "+t+" عناصر";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="الرجاء إضافة "+t+" عناصر";return n},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){var t="تستطيع إختيار "+e.maximum+" بنود فقط";return t},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/de.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/et.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.sk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovak translation for bootstrap-datepicker 3 | * Marek Lichtner 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates["sk"] = { 8 | days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"], 9 | daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So", "Ne"], 11 | months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], 13 | today: "Dnes" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.sv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swedish translation for bootstrap-datepicker 3 | * Patrik Ragnarsson 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sv'] = { 7 | days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], 8 | daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], 9 | daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], 10 | months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Idag", 13 | format: "yyyy-mm-dd", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/sv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.fa.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Persian translation for bootstrap-datepicker 3 | * Mostafa Rokooie 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fa'] = { 7 | days: ["یک‌شنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه", "یک‌شنبه"], 8 | daysShort: ["یک", "دو", "سه", "چهار", "پنج", "جمعه", "شنبه", "یک"], 9 | daysMin: ["ی", "د", "س", "چ", "پ", "ج", "ش", "ی"], 10 | months: ["ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], 11 | monthsShort: ["ژان", "فور", "مار", "آور", "مه", "ژون", "ژوی", "اوت", "سپت", "اکت", "نوا", "دسا"], 12 | today: "امروز", 13 | clear: "پاک کن", 14 | weekStart: 1, 15 | format: "yyyy/mm/dd" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/bg.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/km.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/nb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.hu.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hungarian translation for bootstrap-datepicker 3 | * Sotus László 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['hu'] = { 7 | days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], 8 | daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], 9 | daysMin: ["Va", "Hé", "Ke", "Sz", "Cs", "Pé", "Sz", "Va"], 10 | months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], 12 | today: "Ma", 13 | weekStart: 1, 14 | format: "yyyy.mm.dd" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.ro.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Romanian translation for bootstrap-datepicker 3 | * Cristian Vasile 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ro'] = { 7 | days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], 8 | daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], 9 | daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], 10 | months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], 11 | monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], 12 | today: "Astăzi", 13 | clear: "Șterge", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.zh-TW.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Traditional Chinese translation for bootstrap-datepicker 3 | * Rung-Sheng Jang 4 | * FrankWu Fix more appropriate use of Traditional Chinese habit 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['zh-TW'] = { 8 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 9 | daysShort: ["週日", "週一", "週二", "週三", "週四", "週五", "週六", "週日"], 10 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 11 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 13 | today: "今天", 14 | format: "yyyy年mm月dd日", 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/ms.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/gl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Elimine ";return t===1?n+="un carácter":n+=t+" caracteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Engada ";return t===1?n+="un carácter":n+=t+" caracteres",n},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){var t="Só pode ";return e.maximum===1?t+="un elemento":t+=e.maximum+" elementos",t},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/ColVis/css/dataTables.colvis.jqueryui.css: -------------------------------------------------------------------------------- 1 | 2 | button.ColVis_Button, 3 | ul.ColVis_collection li { 4 | padding: 0.5em; 5 | } 6 | 7 | ul.ColVis_collection { 8 | margin: 0; 9 | padding: 0; 10 | overflow: hidden; 11 | z-index: 2002; 12 | } 13 | 14 | ul.ColVis_collection li { 15 | clear: both; 16 | display: block; 17 | text-align: left; 18 | margin: -1px 0 0 0; 19 | } 20 | 21 | ul.ColVis_collection li span { 22 | display: inline-block; 23 | padding-left: 0.5em; 24 | cursor: pointer; 25 | } 26 | 27 | div.ColVis_collectionBackground { 28 | position: fixed; 29 | top: 0; 30 | left: 0; 31 | height: 100%; 32 | width: 100%; 33 | background-color: black; 34 | z-index: 1100; 35 | } 36 | 37 | 38 | div.ColVis_catcher { 39 | position: absolute; 40 | z-index: 1101; 41 | } -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.de.js: -------------------------------------------------------------------------------- 1 | /** 2 | * German translation for bootstrap-datepicker 3 | * Sam Zurcher 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['de'] = { 7 | days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], 8 | daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], 9 | daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], 10 | months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], 11 | monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], 12 | today: "Heute", 13 | clear: "Löschen", 14 | weekStart: 1, 15 | format: "dd.mm.yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.fr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * French translation for bootstrap-datepicker 3 | * Nico Mollet 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fr'] = { 7 | days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], 8 | daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], 9 | daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], 10 | months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], 11 | monthsShort: ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc"], 12 | today: "Aujourd'hui", 13 | clear: "Effacer", 14 | weekStart: 1, 15 | format: "dd/mm/yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /dapp/build/less/users-list.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Component: Users List 3 | * --------------------- 4 | */ 5 | .users-list { 6 | &:extend(.list-unstyled); 7 | > li { 8 | width: 25%; 9 | float: left; 10 | padding: 10px; 11 | text-align: center; 12 | img { 13 | .border-radius(50%); 14 | max-width: 100%; 15 | height: auto; 16 | } 17 | > a:hover { 18 | &, 19 | .users-list-name { 20 | color: #999; 21 | } 22 | } 23 | } 24 | } 25 | 26 | .users-list-name, 27 | .users-list-date { 28 | display: block; 29 | } 30 | 31 | .users-list-name { 32 | font-weight: 600; 33 | color: #444; 34 | overflow: hidden; 35 | white-space: nowrap; 36 | text-overflow: ellipsis; 37 | } 38 | 39 | .users-list-date { 40 | color: #999; 41 | font-size: 12px; 42 | } 43 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.mk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Macedonian translation for bootstrap-datepicker 3 | * Marko Aleksic 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['mk'] = { 7 | days: ["Недела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота", "Недела"], 8 | daysShort: ["Нед", "Пон", "Вто", "Сре", "Чет", "Пет", "Саб", "Нед"], 9 | daysMin: ["Не", "По", "Вт", "Ср", "Че", "Пе", "Са", "Не"], 10 | months: ["Јануари", "Февруари", "Март", "Април", "Мај", "Јуни", "Јули", "Август", "Септември", "Октомври", "Ноември", "Декември"], 11 | monthsShort: ["Јан", "Фев", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Ное", "Дек"], 12 | today: "Денес", 13 | format: "dd.mm.yyyy" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.pt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Portuguese translation for bootstrap-datepicker 3 | * Original code: Cauan Cabral 4 | * Tiago Melo 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['pt'] = { 8 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 9 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 10 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 11 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 12 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 13 | today: "Hoje", 14 | clear: "Limpar" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.vi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Vietnamese translation for bootstrap-datepicker 3 | * An Vo 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['vi'] = { 7 | days: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy", "Chủ nhật"], 8 | daysShort: ["CN", "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7", "CN"], 9 | daysMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7", "CN"], 10 | months: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"], 11 | monthsShort: ["Th1", "Th2", "Th3", "Th4", "Th5", "Th6", "Th7", "Th8", "Th9", "Th10", "Th11", "Th12"], 12 | today: "Hôm nay", 13 | clear: "Xóa", 14 | format: "dd/mm/yyyy" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/da.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Angiv venligst "+t+" tegn mindre";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Angiv venligst "+t+" tegn mere";return n},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.ar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Arabic translation for bootstrap-datepicker 3 | * Mohammed Alshehri 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ar'] = { 7 | days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], 8 | daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], 9 | daysMin: ["ح", "ن", "ث", "ع", "خ", "ج", "س", "ح"], 10 | months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 11 | monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 12 | today: "هذا اليوم", 13 | rtl: true 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.it.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Italian translation for bootstrap-datepicker 3 | * Enrico Rubboli 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['it'] = { 7 | days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], 10 | months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], 12 | today: "Oggi", 13 | clear: "Cancella", 14 | weekStart: 1, 15 | format: "dd/mm/yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.fi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Finnish translation for bootstrap-datepicker 3 | * Jaakko Salonen 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fi'] = { 7 | days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], 8 | daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], 9 | daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], 10 | months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], 11 | monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], 12 | today: "tänään", 13 | weekStart: 1, 14 | format: "d.m.yyyy" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.lv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Latvian translation for bootstrap-datepicker 3 | * Artis Avotins 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datepicker.dates['lv'] = { 8 | days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"], 9 | daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], 10 | daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se", "Sv"], 11 | months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec"], 13 | today: "Šodien", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/en.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/he.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/hi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/fa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/hr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/mk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.nl-BE.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Belgium-Dutch translation for bootstrap-datepicker 3 | * Julien Poulin 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nl-BE'] = { 7 | days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], 8 | daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 9 | daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 10 | months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Vandaag", 13 | clear: "Leegmaken", 14 | weekStart: 1, 15 | format: "dd/mm/yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/eu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/table-row.less: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | .table-row-variant(@state; @background) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table > thead > tr, 7 | .table > tbody > tr, 8 | .table > tfoot > tr { 9 | > td.@{state}, 10 | > th.@{state}, 11 | &.@{state} > td, 12 | &.@{state} > th { 13 | background-color: @background; 14 | } 15 | } 16 | 17 | // Hover states for `.table-hover` 18 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 19 | .table-hover > tbody > tr { 20 | > td.@{state}:hover, 21 | > th.@{state}:hover, 22 | &.@{state}:hover > td, 23 | &:hover > .@{state}, 24 | &.@{state}:hover > th { 25 | background-color: darken(@background, 5%); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/pt-BR.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.lt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Lithuanian translation for bootstrap-datepicker 3 | * Šarūnas Gliebus 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datepicker.dates['lt'] = { 8 | days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], 9 | daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], 10 | daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], 11 | months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], 12 | monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], 13 | today: "Šiandien", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/pt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.pl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Polish translation for bootstrap-datepicker 3 | * Robert 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['pl'] = { 7 | days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], 8 | daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], 9 | daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], 10 | months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], 11 | monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], 12 | today: "Dzisiaj", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/lv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /truffle.js: -------------------------------------------------------------------------------- 1 | var HDWalletProvider = require("truffle-hdwallet-provider"); 2 | var hdconfig = require("./hdconfig.json"); 3 | 4 | var mnemonic = hdconfig['mnemonic']; 5 | var provider = new HDWalletProvider(mnemonic, "https://ropsten.infura.io/"); 6 | //console.log(provider.getAddress()); 7 | //console.log(provider.wallet.getPrivateKey().toString('hex')); 8 | 9 | module.exports = { 10 | networks: { 11 | development: { 12 | confirmationBlocks: 0, 13 | host: "localhost", 14 | port: 8545, 15 | network_id: "*" // Match any network id 16 | }, 17 | ropsten_infura: { 18 | provider: provider, 19 | network_id: 3 20 | }, 21 | ropsten_geth: { 22 | host: "localhost", 23 | port: 8545, 24 | network_id: 3 25 | } 26 | } 27 | }; 28 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/es.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/build/less/alerts.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Component: alert 3 | * ---------------- 4 | */ 5 | 6 | .alert { 7 | .border-radius(3px); 8 | h4 { 9 | font-weight: 600; 10 | } 11 | .icon { 12 | margin-right: 10px; 13 | } 14 | .close { 15 | color: #000; 16 | .opacity(.2); 17 | &:hover { 18 | .opacity(.5); 19 | } 20 | } 21 | a { 22 | color: #fff; 23 | text-decoration: underline; 24 | } 25 | } 26 | 27 | //Alert Variants 28 | .alert-success { 29 | &:extend(.bg-green); 30 | border-color: darken(@green, 5%); 31 | } 32 | 33 | .alert-danger, 34 | .alert-error { 35 | &:extend(.bg-red); 36 | border-color: darken(@red, 5%); 37 | } 38 | 39 | .alert-warning { 40 | &:extend(.bg-yellow); 41 | border-color: darken(@yellow, 5%); 42 | } 43 | 44 | .alert-info { 45 | &:extend(.bg-aqua); 46 | border-color: darken(@aqua, 5%); 47 | } 48 | -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.sw.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swahili translation for bootstrap-datepicker 3 | * Edwin Mugendi 4 | * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['sw'] = { 8 | days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], 9 | daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], 10 | daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], 11 | months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], 12 | monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], 13 | today: "Leo" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/ca.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/it.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/build/less/404_500_errors.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Page: 400 and 500 error pages 3 | * ------------------------------ 4 | */ 5 | .error-page { 6 | width: 600px; 7 | margin: 20px auto 0 auto; 8 | @media (max-width: @screen-sm-max) { 9 | width: 100%; 10 | } 11 | //For the error number e.g: 404 12 | > .headline { 13 | float: left; 14 | font-size: 100px; 15 | font-weight: 300; 16 | @media (max-width: @screen-sm-max) { 17 | float: none; 18 | text-align: center; 19 | } 20 | } 21 | //For the message 22 | > .error-content { 23 | margin-left: 190px; 24 | @media (max-width: @screen-sm-max) { 25 | margin-left: 0; 26 | } 27 | > h3 { 28 | font-weight: 300; 29 | font-size: 25px; 30 | @media (max-width: @screen-sm-max) { 31 | text-align: center; 32 | } 33 | } 34 | display: block; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/fr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/ro.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+"sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.ka.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Georgian translation for bootstrap-datepicker 3 | * Levan Melikishvili 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ka'] = { 7 | days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი", "კვირა"], 8 | daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ", "კვი"], 9 | daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა", "კვ"], 10 | months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომები", "ნოემბერი", "დეკემბერი"], 11 | monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"], 12 | today: "დღეს", 13 | clear: "გასუფთავება", 14 | weekStart: 1, 15 | format: "dd.mm.yyyy" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/nl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/lt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/README.md: -------------------------------------------------------------------------------- 1 | # Decentralized Carpool Dapp/Front End 2 | **TO be added** 3 | 4 | # Install 5 | **TO be added** 6 | 7 | # Usage 8 | **TO be added** 9 | 10 | # TODO 11 | - [ ] Integrate renting/leasing features involving the Ethereum authorization layer we created. 12 | - [ ] Integrate tokens. 13 | - [ ] Integrate MQTT for lock/unlock functionality. 14 | 15 | # Open Source Software Used 16 | - [AdminLTE by almasaeed2010](https://github.com/almasaeed2010/AdminLTE) 17 | - [Map Icons by scottdejonge](https://github.com/scottdejonge/Map-Icons) 18 | - [web3.js - Ethereum Javascript API by ethereum](https://github.com/ethereum/web3.js/) 19 | - [ipfs-api](https://github.com/ipfs/js-ipfs-api) 20 | - [ipfs-mini by SilcentCicero](https://github.com/SilentCicero/ipfs-mini) 21 | - [Blockies](https://github.com/alexvandesande/blockies) 22 | - [Google Maps](https://developers.google.com/maps/) 23 | 24 | # License 25 | Apache 2.0 -------------------------------------------------------------------------------- /dapp/plugins/datepicker/locales/bootstrap-datepicker.et.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Estonian translation for bootstrap-datepicker 3 | * Ando Roots 4 | * Fixes by Illimar Tambek < 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['et'] = { 8 | days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], 9 | daysShort: ["Pühap", "Esmasp", "Teisip", "Kolmap", "Neljap", "Reede", "Laup", "Pühap"], 10 | daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], 11 | months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], 12 | monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], 13 | today: "Täna", 14 | clear: "Tühjenda", 15 | weekStart: 1, 16 | format: "dd.mm.yyyy" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/pl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/el.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/sr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/uk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/sr-Cyrl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/ru.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/Scroller/css/dataTables.scroller.css: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Namespace: DTS (DataTables Scroller) 4 | */ 5 | 6 | div.DTS tbody th, 7 | div.DTS tbody td { 8 | white-space: nowrap; 9 | } 10 | 11 | div.DTS tbody tr.even { 12 | background-color: white; 13 | } 14 | 15 | div.DTS div.DTS_Loading { 16 | position: absolute; 17 | top: 50%; 18 | left: 50%; 19 | width: 200px; 20 | height: 20px; 21 | margin-top: -20px; 22 | margin-left: -100px; 23 | z-index: 1; 24 | 25 | border: 1px solid #999; 26 | padding: 20px 0; 27 | text-align: center; 28 | background-color: white; 29 | background-color: rgba(255, 255, 255, 0.5); 30 | } 31 | 32 | div.DTS div.dataTables_scrollHead, 33 | div.DTS div.dataTables_scrollFoot { 34 | background-color: white; 35 | } 36 | 37 | div.DTS div.dataTables_scrollBody { 38 | z-index: 2; 39 | } 40 | 41 | div.DTS div.dataTables_scroll { 42 | background: url('../images/loading-background.png') repeat 0 0; 43 | } 44 | 45 | -------------------------------------------------------------------------------- /dapp/build/less/login_and_register.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Page: Login & Register 3 | * ---------------------- 4 | */ 5 | 6 | .login-logo, 7 | .register-logo { 8 | font-size: 35px; 9 | text-align: center; 10 | margin-bottom: 25px; 11 | font-weight: 300; 12 | a { 13 | color: #444; 14 | } 15 | } 16 | 17 | .login-page, 18 | .register-page { 19 | background: @gray-lte; 20 | } 21 | 22 | .login-box, 23 | .register-box { 24 | width: 360px; 25 | margin: 7% auto; 26 | @media (max-width: @screen-sm) { 27 | width: 90%; 28 | margin-top: 20px; 29 | } 30 | } 31 | 32 | .login-box-body, 33 | .register-box-body { 34 | background: #fff; 35 | padding: 20px; 36 | border-top: 0; 37 | color: #666; 38 | .form-control-feedback { 39 | color: #777; 40 | } 41 | } 42 | 43 | .login-box-msg, 44 | .register-box-msg { 45 | margin: 0; 46 | text-align: center; 47 | padding: 0 20px 20px 20px; 48 | } 49 | 50 | .social-auth-links { 51 | margin: 10px 0; 52 | } 53 | -------------------------------------------------------------------------------- /dapp/build/less/products.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Component: Products List 3 | * ------------------------ 4 | */ 5 | .products-list { 6 | list-style: none; 7 | margin: 0; 8 | padding: 0; 9 | > .item { 10 | .border-radius(@box-border-radius); 11 | .box-shadow(@box-boxshadow); 12 | .clearfix(); 13 | padding: 10px 0; 14 | background: #fff; 15 | } 16 | .product-img { 17 | float: left; 18 | img { 19 | width: 50px; 20 | height: 50px; 21 | } 22 | } 23 | .product-info { 24 | margin-left: 60px; 25 | } 26 | .product-title { 27 | font-weight: 600; 28 | } 29 | .product-description { 30 | display: block; 31 | color: #999; 32 | overflow: hidden; 33 | white-space: nowrap; 34 | text-overflow: ellipsis; 35 | } 36 | } 37 | 38 | .product-list-in-box > .item { 39 | .box-shadow(none); 40 | .border-radius(0); 41 | border-bottom: 1px solid @box-border-color; 42 | &:last-of-type { 43 | border-bottom-width: 0; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 3 | 4 | module.exports = { 5 | entry: './app/multiowner/js/car-sharing.js', 6 | output: { 7 | path: path.resolve(__dirname, 'build'), 8 | filename: 'app.js' 9 | }, 10 | plugins: [ 11 | // Copy our app's index.html to the build folder. 12 | /* 13 | new CopyWebpackPlugin([ 14 | { from: './app/index.html', to: "index.html" } 15 | ]) 16 | */ 17 | ], 18 | module: { 19 | rules: [ 20 | { 21 | test: /\.css$/, 22 | use: [ 'style-loader', 'css-loader' ] 23 | } 24 | ], 25 | loaders: [ 26 | { test: /\.json$/, use: 'json-loader' }, 27 | { 28 | test: /\.js$/, 29 | exclude: /(node_modules|bower_components)/, 30 | loader: 'babel-loader', 31 | query: { 32 | presets: ['es2015'], 33 | plugins: ['transform-runtime'] 34 | } 35 | } 36 | ] 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /dapp/build/less/callout.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Component: Callout 3 | * ------------------ 4 | */ 5 | 6 | // Base styles (regardless of theme) 7 | .callout { 8 | .border-radius(3px); 9 | margin: 0 0 20px 0; 10 | padding: 15px 30px 15px 15px; 11 | border-left: 5px solid #eee; 12 | a { 13 | color: #fff; 14 | text-decoration: underline; 15 | &:hover { 16 | color: #eee; 17 | } 18 | } 19 | h4 { 20 | margin-top: 0; 21 | font-weight: 600; 22 | } 23 | p:last-child { 24 | margin-bottom: 0; 25 | } 26 | code, 27 | .highlight { 28 | background-color: #fff; 29 | } 30 | 31 | // Themes for different contexts 32 | &.callout-danger { 33 | &:extend(.bg-red); 34 | border-color: darken(@red, 10%); 35 | } 36 | &.callout-warning { 37 | &:extend(.bg-yellow); 38 | border-color: darken(@yellow, 10%); 39 | } 40 | &.callout-info { 41 | &:extend(.bg-aqua); 42 | border-color: darken(@aqua, 10%); 43 | } 44 | &.callout-success { 45 | &:extend(.bg-green); 46 | border-color: darken(@green, 10%); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /dapp/custom-js/blockies.min.js: -------------------------------------------------------------------------------- 1 | !function(){function r(r){for(var t=0;t>19^r^r>>8,(l[3]>>>0)/(1<<31>>>0)}function e(){var r=Math.floor(360*t()),e=60*t()+40+"%",o=25*(t()+t()+t()+t())+"%",n="hsl("+r+","+e+","+o+")";return n}function o(r){for(var e=r,o=r,n=Math.ceil(e/2),a=e-n,l=[],c=0;o>c;c++){for(var f=[],h=0;n>h;h++)f[h]=Math.floor(2.3*t());var i=f.slice(0,a);i.reverse(),f=f.concat(i);for(var v=0;v=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/dist/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Scott de Jonge 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/image.less: -------------------------------------------------------------------------------- 1 | // Image Mixins 2 | // - Responsive image 3 | // - Retina image 4 | 5 | // Responsive image 6 | // 7 | // Keep images from scaling beyond the width of their parents. 8 | .img-responsive(@display: block) { 9 | display: @display; 10 | max-width: 100%; // Part 1: Set a maximum relative to the parent 11 | height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching 12 | } 13 | 14 | // Retina image 15 | // 16 | // Short retina mixin for setting background-image and -size. Note that the 17 | // spelling of `min--moz-device-pixel-ratio` is intentional. 18 | .img-retina(@file-1x; @file-2x; @width-1x; @height-1x) { 19 | background-image: url("@{file-1x}"); 20 | 21 | @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and ( min--moz-device-pixel-ratio: 2), only screen and ( -o-min-device-pixel-ratio: 2/1), only screen and ( min-device-pixel-ratio: 2), only screen and ( min-resolution: 192dpi), only screen and ( min-resolution: 2dppx) { 22 | background-image: url("@{file-2x}"); 23 | background-size: @width-1x @height-1x; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /dapp/plugins/select2/i18n/cs.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím zadejte o jeden znak méně":n<=4?"Prosím zadejte o "+e(n,!0)+" znaky méně":"Prosím zadejte o "+n+" znaků méně"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím zadejte ještě jeden znak":n<=4?"Prosím zadejte ještě další "+e(n,!0)+" znaky":"Prosím zadejte ještě dalších "+n+" znaků"},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky":"Můžete zvolit maximálně "+n+" položek"},noResults:function(){return"Nenalezeny žádné položky"},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/ColVis/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2015 SpryMedia Limited 2 | http://datatables.net 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/ColReorder/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2015 SpryMedia Limited 2 | http://datatables.net 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/FixedColumns/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2015 SpryMedia Limited 2 | http://datatables.net 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/Responsive/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014-2015 SpryMedia Limited 2 | http://datatables.net 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /dapp/build/less/print.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Misc: print 3 | * ----------- 4 | */ 5 | @media print { 6 | //Add to elements that you do not want to show when printing 7 | .no-print { 8 | display: none !important; 9 | } 10 | 11 | //Elements that we want to hide when printing 12 | .main-sidebar, 13 | .left-side, 14 | .main-header, 15 | .content-header { 16 | &:extend(.no-print); 17 | } 18 | 19 | //This is the only element that should appear, so let's remove the margins 20 | .content-wrapper, 21 | .right-side, 22 | .main-footer { 23 | margin-left: 0 !important; 24 | min-height: 0 !important; 25 | .translate(0, 0) !important; 26 | } 27 | 28 | .fixed .content-wrapper, 29 | .fixed .right-side { 30 | padding-top: 0 !important; 31 | } 32 | 33 | //Invoice printing 34 | .invoice { 35 | width: 100%; 36 | border: 0; 37 | margin: 0; 38 | padding: 0; 39 | } 40 | 41 | .invoice-col { 42 | float: left; 43 | width: 33.3333333%; 44 | } 45 | 46 | //Make sure table content displays properly 47 | .table-responsive { 48 | overflow: auto; 49 | > .table tr th, 50 | > .table tr td { 51 | white-space: normal !important; 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /dapp/build/less/table.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Component: Table 3 | * ---------------- 4 | */ 5 | 6 | .table { 7 | //Cells 8 | > thead, 9 | > tbody, 10 | > tfoot { 11 | > tr { 12 | > th, 13 | > td { 14 | border-top: 1px solid @box-border-color; 15 | } 16 | } 17 | } 18 | //thead cells 19 | > thead > tr > th { 20 | border-bottom: 2px solid @box-border-color; 21 | } 22 | //progress bars in tables 23 | tr td .progress { 24 | margin-top: 5px; 25 | } 26 | } 27 | 28 | //Bordered Table 29 | .table-bordered { 30 | border: 1px solid @box-border-color; 31 | > thead, 32 | > tbody, 33 | > tfoot { 34 | > tr { 35 | > th, 36 | > td { 37 | border: 1px solid @box-border-color; 38 | } 39 | } 40 | } 41 | > thead > tr { 42 | > th, 43 | > td { 44 | border-bottom-width: 2px; 45 | } 46 | } 47 | } 48 | 49 | .table.no-border { 50 | &, 51 | td, 52 | th { 53 | border: 0; 54 | } 55 | } 56 | 57 | /* .text-center in tables */ 58 | table.text-center { 59 | &, td, th { 60 | text-align: center; 61 | } 62 | } 63 | 64 | .table.align { 65 | th { 66 | text-align: left; 67 | } 68 | td { 69 | text-align: right; 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /test/carpool.js: -------------------------------------------------------------------------------- 1 | var Carpool = artifacts.require('Carpool'); 2 | var utils = require('../app/common/javascripts/app-utils'); 3 | var Web3 = require('web3'); 4 | var web3 = new Web3(); 5 | 6 | contract('Carpool', function(accounts) { 7 | var carpool; 8 | it("should create a new driver account", function() { 9 | return Carpool.deployed().then(function(instance) { 10 | carpool = instance; 11 | return instance.registerDriver('lex', 'L87673', {from: accounts[0]}); 12 | }).then(function(result) { 13 | var log = utils.retrieveEventLog(result.logs, 'DriverRegistered'); 14 | assert.ok(log, 'DriverRegistered event not generated'); 15 | if (log) { 16 | assert.equal(log.args.account, accounts[0], "Account not same"); 17 | assert.equal(web3.toAscii(log.args.name).replace(/\0/g, ''), 18 | 'lex', "Name wasn't logged correctly"); 19 | } 20 | return carpool.registerDriver.call('lex0', 'L87666', {from: accounts[0]}); 21 | }).then(function(result) { 22 | assert.equal(result.toNumber(), 1, "Account already exists error wasn't returned"); 23 | });; 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-red-light.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Red 3 | * --------- 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | .skin-red-light { 11 | //Navbar 12 | .main-header { 13 | .navbar { 14 | .navbar-variant(@red; #fff); 15 | .sidebar-toggle { 16 | color: #fff; 17 | &:hover { 18 | background-color: darken(@red, 5%); 19 | } 20 | } 21 | @media (max-width: @screen-header-collapse) { 22 | .dropdown-menu { 23 | li { 24 | &.divider { 25 | background-color: rgba(255, 255, 255, 0.1); 26 | } 27 | a { 28 | color: #fff; 29 | &:hover { 30 | background: darken(@red, 5%); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | //Logo 38 | .logo { 39 | .logo-variant(@red); 40 | } 41 | 42 | li.user-header { 43 | background-color: @red; 44 | } 45 | } 46 | 47 | //Content Header 48 | .content-header { 49 | background: transparent; 50 | } 51 | 52 | //Create the sidebar skin 53 | .skin-light-sidebar(@red); 54 | } 55 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-red.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Red 3 | * --------- 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | .skin-red { 11 | //Navbar 12 | .main-header { 13 | .navbar { 14 | .navbar-variant(@red; #fff); 15 | .sidebar-toggle { 16 | color: #fff; 17 | &:hover { 18 | background-color: darken(@red, 5%); 19 | } 20 | } 21 | @media (max-width: @screen-header-collapse) { 22 | .dropdown-menu { 23 | li { 24 | &.divider { 25 | background-color: rgba(255, 255, 255, 0.1); 26 | } 27 | a { 28 | color: #fff; 29 | &:hover { 30 | background: darken(@red, 5%); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | //Logo 38 | .logo { 39 | .logo-variant(darken(@red, 5%)); 40 | } 41 | 42 | li.user-header { 43 | background-color: @red; 44 | } 45 | } 46 | 47 | //Content Header 48 | .content-header { 49 | background: transparent; 50 | } 51 | 52 | //Create the sidebar skin 53 | .skin-dark-sidebar(@red); 54 | } 55 | -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------------------------------- 3 | // Utilities 4 | @import "mixins/hide-text.less"; 5 | @import "mixins/opacity.less"; 6 | @import "mixins/image.less"; 7 | @import "mixins/labels.less"; 8 | @import "mixins/reset-filter.less"; 9 | @import "mixins/resize.less"; 10 | @import "mixins/responsive-visibility.less"; 11 | @import "mixins/size.less"; 12 | @import "mixins/tab-focus.less"; 13 | @import "mixins/reset-text.less"; 14 | @import "mixins/text-emphasis.less"; 15 | @import "mixins/text-overflow.less"; 16 | @import "mixins/vendor-prefixes.less"; 17 | // Components 18 | @import "mixins/alerts.less"; 19 | @import "mixins/buttons.less"; 20 | @import "mixins/panels.less"; 21 | @import "mixins/pagination.less"; 22 | @import "mixins/list-group.less"; 23 | @import "mixins/nav-divider.less"; 24 | @import "mixins/forms.less"; 25 | @import "mixins/progress-bar.less"; 26 | @import "mixins/table-row.less"; 27 | // Skins 28 | @import "mixins/background-variant.less"; 29 | @import "mixins/border-radius.less"; 30 | @import "mixins/gradients.less"; 31 | // Layout 32 | @import "mixins/clearfix.less"; 33 | @import "mixins/center-block.less"; 34 | @import "mixins/nav-vertical-align.less"; 35 | @import "mixins/grid-framework.less"; 36 | @import "mixins/grid.less"; 37 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-green-light.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Green 3 | * ----------- 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | .skin-green-light { 11 | //Navbar 12 | .main-header { 13 | .navbar { 14 | .navbar-variant(@green; #fff); 15 | .sidebar-toggle { 16 | color: #fff; 17 | &:hover { 18 | background-color: darken(@green, 5%); 19 | } 20 | } 21 | @media (max-width: @screen-header-collapse) { 22 | .dropdown-menu { 23 | li { 24 | &.divider { 25 | background-color: rgba(255, 255, 255, 0.1); 26 | } 27 | a { 28 | color: #fff; 29 | &:hover { 30 | background: darken(@green, 5%); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | //Logo 38 | .logo { 39 | .logo-variant(@green); 40 | } 41 | 42 | li.user-header { 43 | background-color: @green; 44 | } 45 | } 46 | 47 | //Content Header 48 | .content-header { 49 | background: transparent; 50 | } 51 | 52 | //Create the sidebar skin 53 | .skin-light-sidebar(@green); 54 | 55 | } 56 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-green.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Green 3 | * ----------- 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | .skin-green { 11 | //Navbar 12 | .main-header { 13 | .navbar { 14 | .navbar-variant(@green; #fff); 15 | .sidebar-toggle { 16 | color: #fff; 17 | &:hover { 18 | background-color: darken(@green, 5%); 19 | } 20 | } 21 | @media (max-width: @screen-header-collapse) { 22 | .dropdown-menu { 23 | li { 24 | &.divider { 25 | background-color: rgba(255, 255, 255, 0.1); 26 | } 27 | a { 28 | color: #fff; 29 | &:hover { 30 | background: darken(@green, 5%); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | //Logo 38 | .logo { 39 | .logo-variant(darken(@green, 5%)); 40 | } 41 | 42 | li.user-header { 43 | background-color: @green; 44 | } 45 | } 46 | 47 | //Content Header 48 | .content-header { 49 | background: transparent; 50 | } 51 | 52 | //Create the sidebar skin 53 | .skin-dark-sidebar(@green); 54 | 55 | } 56 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-purple-light.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Purple 3 | * ------------ 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | .skin-purple-light { 11 | //Navbar 12 | .main-header { 13 | .navbar { 14 | .navbar-variant(@purple; #fff); 15 | .sidebar-toggle { 16 | color: #fff; 17 | &:hover { 18 | background-color: darken(@purple, 5%); 19 | } 20 | } 21 | @media (max-width: @screen-header-collapse) { 22 | .dropdown-menu { 23 | li { 24 | &.divider { 25 | background-color: rgba(255, 255, 255, 0.1); 26 | } 27 | a { 28 | color: #fff; 29 | &:hover { 30 | background: darken(@purple, 5%); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | //Logo 38 | .logo { 39 | .logo-variant(@purple); 40 | } 41 | 42 | li.user-header { 43 | background-color: @purple; 44 | } 45 | } 46 | 47 | //Content Header 48 | .content-header { 49 | background: transparent; 50 | } 51 | 52 | //Create the sidebar skin 53 | .skin-light-sidebar(@purple); 54 | } 55 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-purple.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Purple 3 | * ------------ 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | .skin-purple { 11 | //Navbar 12 | .main-header { 13 | .navbar { 14 | .navbar-variant(@purple; #fff); 15 | .sidebar-toggle { 16 | color: #fff; 17 | &:hover { 18 | background-color: darken(@purple, 5%); 19 | } 20 | } 21 | @media (max-width: @screen-header-collapse) { 22 | .dropdown-menu { 23 | li { 24 | &.divider { 25 | background-color: rgba(255, 255, 255, 0.1); 26 | } 27 | a { 28 | color: #fff; 29 | &:hover { 30 | background: darken(@purple, 5%); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | //Logo 38 | .logo { 39 | .logo-variant(darken(@purple, 5%)); 40 | } 41 | 42 | li.user-header { 43 | background-color: @purple; 44 | } 45 | } 46 | 47 | //Content Header 48 | .content-header { 49 | background: transparent; 50 | } 51 | 52 | //Create the sidebar skin 53 | .skin-dark-sidebar(@purple); 54 | } 55 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-yellow-light.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Yellow 3 | * ------------ 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | .skin-yellow-light { 11 | //Navbar 12 | .main-header { 13 | .navbar { 14 | .navbar-variant(@yellow; #fff); 15 | .sidebar-toggle { 16 | color: #fff; 17 | &:hover { 18 | background-color: darken(@yellow, 5%); 19 | } 20 | } 21 | @media (max-width: @screen-header-collapse) { 22 | .dropdown-menu { 23 | li { 24 | &.divider { 25 | background-color: rgba(255, 255, 255, 0.1); 26 | } 27 | a { 28 | color: #fff; 29 | &:hover { 30 | background: darken(@yellow, 5%); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | //Logo 38 | .logo { 39 | .logo-variant(@yellow); 40 | } 41 | 42 | li.user-header { 43 | background-color: @yellow; 44 | } 45 | } 46 | 47 | //Content Header 48 | .content-header { 49 | background: transparent; 50 | } 51 | 52 | //Create the sidebar skin 53 | .skin-light-sidebar(@yellow); 54 | } 55 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-yellow.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Yellow 3 | * ------------ 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | .skin-yellow { 11 | //Navbar 12 | .main-header { 13 | .navbar { 14 | .navbar-variant(@yellow; #fff); 15 | .sidebar-toggle { 16 | color: #fff; 17 | &:hover { 18 | background-color: darken(@yellow, 5%); 19 | } 20 | } 21 | @media (max-width: @screen-header-collapse) { 22 | .dropdown-menu { 23 | li { 24 | &.divider { 25 | background-color: rgba(255, 255, 255, 0.1); 26 | } 27 | a { 28 | color: #fff; 29 | &:hover { 30 | background: darken(@yellow, 5%); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | //Logo 38 | .logo { 39 | .logo-variant(darken(@yellow, 5%)); 40 | } 41 | 42 | li.user-header { 43 | background-color: @yellow; 44 | } 45 | } 46 | 47 | //Content Header 48 | .content-header { 49 | background: transparent; 50 | } 51 | 52 | //Create the sidebar skin 53 | .skin-dark-sidebar(@yellow); 54 | } 55 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-blue.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Blue 3 | * ---------- 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | .skin-blue { 11 | //Navbar 12 | .main-header { 13 | .navbar { 14 | .navbar-variant(@light-blue; #fff); 15 | .sidebar-toggle { 16 | color: #fff; 17 | &:hover { 18 | background-color: darken(@light-blue, 5%); 19 | } 20 | } 21 | @media (max-width: @screen-header-collapse) { 22 | .dropdown-menu { 23 | li { 24 | &.divider { 25 | background-color: rgba(255, 255, 255, 0.1); 26 | } 27 | a { 28 | color: #fff; 29 | &:hover { 30 | background: darken(@light-blue, 5%); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | //Logo 38 | .logo { 39 | .logo-variant(darken(@light-blue, 5%)); 40 | } 41 | 42 | li.user-header { 43 | background-color: @light-blue; 44 | } 45 | } 46 | 47 | //Content Header 48 | .content-header { 49 | background: transparent; 50 | } 51 | 52 | //Create the sidebar skin 53 | .skin-dark-sidebar(@light-blue); 54 | } 55 | 56 | .skin-blue.layout-top-nav .main-header > .logo { 57 | .logo-variant(@light-blue); 58 | } 59 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/ColVis/Readme.md: -------------------------------------------------------------------------------- 1 | # ColVis 2 | 3 | ColVis adds a button to the toolbars around DataTables which gives the end user of the table the ability to dynamically change the visibility of the columns in the table: 4 | 5 | * Dynamically show and hide columns in a table 6 | * Very easy integration with DataTables 7 | * Ability to exclude columns from being either hidden or shown 8 | * Save saving integration with DataTables 9 | 10 | 11 | # Installation 12 | 13 | To use ColVis, first download DataTables ( http://datatables.net/download ) and place the unzipped ColVis package into a `extensions` directory in the DataTables package. This will allow the pages in the examples to operate correctly. To see the examples running, open the `examples` directory in your web-browser. 14 | 15 | 16 | # Basic usage 17 | 18 | ColVis is initialised using the `C` option that it adds to DataTables' `dom` option. For example: 19 | 20 | ```js 21 | $(document).ready( function () { 22 | $('#example').dataTable( { 23 | "dom": 'C<"clear">lfrtip' 24 | } ); 25 | } ); 26 | ``` 27 | 28 | 29 | # Documentation / support 30 | 31 | * Documentation: http://datatables.net/extensions/colvis/ 32 | * DataTables support forums: http://datatables.net/forums 33 | 34 | 35 | # GitHub 36 | 37 | If you fancy getting involved with the development of ColVis and help make it better, please refer to its GitHub repo: https://github.com/DataTables/ColVis 38 | 39 | -------------------------------------------------------------------------------- /dapp/dist/css/alt/AdminLTE-fullcalendar.min.css: -------------------------------------------------------------------------------- 1 | .fc-button{background:#f4f4f4;background-image:none;color:#444;border-color:#ddd;border-bottom-color:#ddd}.fc-button:hover,.fc-button:active,.fc-button.hover{background-color:#e9e9e9}.fc-header-title h2{font-size:15px;line-height:1.6em;color:#666;margin-left:10px}.fc-header-right{padding-right:10px}.fc-header-left{padding-left:10px}.fc-widget-header{background:#fafafa}.fc-grid{width:100%;border:0}.fc-widget-header:first-of-type,.fc-widget-content:first-of-type{border-left:0;border-right:0}.fc-widget-header:last-of-type,.fc-widget-content:last-of-type{border-right:0}.fc-toolbar{padding:10px;margin:0}.fc-day-number{font-size:20px;font-weight:300;padding-right:10px}.fc-color-picker{list-style:none;margin:0;padding:0}.fc-color-picker>li{float:left;font-size:30px;margin-right:5px;line-height:30px}.fc-color-picker>li .fa{-webkit-transition:-webkit-transform linear .3s;-moz-transition:-moz-transform linear .3s;-o-transition:-o-transform linear .3s;transition:transform linear .3s}.fc-color-picker>li .fa:hover{-webkit-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg)}#add-new-event{-webkit-transition:all linear .3s;-o-transition:all linear .3s;transition:all linear .3s}.external-event{padding:5px 10px;font-weight:bold;margin-bottom:4px;box-shadow:0 1px 1px rgba(0,0,0,0.1);text-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;cursor:move}.external-event:hover{box-shadow:inset 0 0 90px rgba(0,0,0,0.2)} -------------------------------------------------------------------------------- /dapp/build/less/info-box.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Component: Info Box 3 | * ------------------- 4 | */ 5 | .info-box { 6 | display: block; 7 | min-height: 90px; 8 | background: #fff; 9 | width: 100%; 10 | box-shadow: @box-boxshadow; 11 | .border-radius(2px); 12 | margin-bottom: 15px; 13 | small { 14 | font-size: 14px; 15 | } 16 | .progress { 17 | background: rgba(0, 0, 0, .2); 18 | margin: 5px -10px 5px -10px; 19 | height: 2px; 20 | &, 21 | & .progress-bar { 22 | .border-radius(0); 23 | } 24 | .progress-bar { 25 | background: #fff; 26 | } 27 | } 28 | } 29 | 30 | .info-box-icon { 31 | .border-radius(2px; 0; 2px; 0); 32 | display: block; 33 | float: left; 34 | height: 90px; 35 | width: 90px; 36 | text-align: center; 37 | font-size: 45px; 38 | line-height: 90px; 39 | background: rgba(0, 0, 0, 0.2); 40 | > img { 41 | max-width: 100%; 42 | } 43 | } 44 | 45 | .info-box-content { 46 | padding: 5px 10px; 47 | margin-left: 90px; 48 | } 49 | 50 | .info-box-number { 51 | display: block; 52 | font-weight: bold; 53 | font-size: 18px; 54 | } 55 | 56 | .progress-description, 57 | .info-box-text { 58 | display: block; 59 | font-size: 14px; 60 | white-space: nowrap; 61 | overflow: hidden; 62 | text-overflow: ellipsis; 63 | } 64 | 65 | .info-box-text { 66 | text-transform: uppercase; 67 | } 68 | 69 | .info-box-more { 70 | display: block; 71 | } 72 | 73 | .progress-description { 74 | margin: 0; 75 | } 76 | -------------------------------------------------------------------------------- /dapp/build/less/lockscreen.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Page: Lock Screen 3 | * ----------------- 4 | */ 5 | /* ADD THIS CLASS TO THE TAG */ 6 | .lockscreen { 7 | background: @gray-lte; 8 | } 9 | 10 | .lockscreen-logo { 11 | font-size: 35px; 12 | text-align: center; 13 | margin-bottom: 25px; 14 | font-weight: 300; 15 | a { 16 | color: #444; 17 | } 18 | } 19 | 20 | .lockscreen-wrapper { 21 | max-width: 400px; 22 | margin: 0 auto; 23 | margin-top: 10%; 24 | } 25 | 26 | /* User name [optional] */ 27 | .lockscreen .lockscreen-name { 28 | text-align: center; 29 | font-weight: 600; 30 | } 31 | 32 | /* Will contain the image and the sign in form */ 33 | .lockscreen-item { 34 | .border-radius(4px); 35 | padding: 0; 36 | background: #fff; 37 | position: relative; 38 | margin: 10px auto 30px auto; 39 | width: 290px; 40 | } 41 | 42 | /* User image */ 43 | .lockscreen-image { 44 | .border-radius(50%); 45 | position: absolute; 46 | left: -10px; 47 | top: -25px; 48 | background: #fff; 49 | padding: 5px; 50 | z-index: 10; 51 | > img { 52 | .border-radius(50%); 53 | width: 70px; 54 | height: 70px; 55 | } 56 | } 57 | 58 | /* Contains the password input and the login button */ 59 | .lockscreen-credentials { 60 | margin-left: 70px; 61 | .form-control { 62 | border: 0; 63 | } 64 | .btn { 65 | background-color: #fff; 66 | border: 0; 67 | padding: 0 10px; 68 | } 69 | } 70 | 71 | .lockscreen-footer { 72 | margin-top: 10px; 73 | } 74 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-blue-light.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Blue 3 | * ---------- 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | .skin-blue-light { 11 | //Navbar 12 | .main-header { 13 | .navbar { 14 | .navbar-variant(@light-blue; #fff); 15 | .sidebar-toggle { 16 | color: #fff; 17 | &:hover { 18 | background-color: darken(@light-blue, 5%); 19 | } 20 | } 21 | @media (max-width: @screen-header-collapse) { 22 | .dropdown-menu { 23 | li { 24 | &.divider { 25 | background-color: rgba(255, 255, 255, 0.1); 26 | } 27 | a { 28 | color: #fff; 29 | &:hover { 30 | background: darken(@light-blue, 5%); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | //Logo 38 | .logo { 39 | .logo-variant(@light-blue); 40 | } 41 | 42 | li.user-header { 43 | background-color: @light-blue; 44 | } 45 | } 46 | 47 | //Content Header 48 | .content-header { 49 | background: transparent; 50 | } 51 | 52 | //Create the sidebar skin 53 | .skin-light-sidebar(@light-blue); 54 | .main-footer { 55 | border-top-color: @gray-lte; 56 | } 57 | } 58 | 59 | .skin-blue.layout-top-nav .main-header > .logo { 60 | .logo-variant(@light-blue); 61 | } 62 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/ColReorder/Readme.md: -------------------------------------------------------------------------------- 1 | # ColReorder 2 | 3 | ColReorder adds the ability for the end user to click and drag column headers to reorder a table as they see fit, to DataTables. Key features include: 4 | 5 | * Very easy integration with DataTables 6 | * Tight integration with all other DataTables plug-ins 7 | * The ability to exclude the first (or more) column from being movable 8 | * Predefine a column order 9 | * Save staving integration with DataTables 10 | 11 | 12 | # Installation 13 | 14 | To use ColReorder, first download DataTables ( http://datatables.net/download ) and place the unzipped ColReorder package into a `extensions` directory in the DataTables package. This will allow the pages in the examples to operate correctly. To see the examples running, open the `examples` directory in your web-browser. 15 | 16 | 17 | # Basic usage 18 | 19 | ColReorder is initialised using the `$.fn.dataTable.ColReorder` constructor. For example: 20 | 21 | ```js 22 | $(document).ready( function () { 23 | $('#example').DataTable(); 24 | 25 | new $.fn.dataTable.ColReorder( table ); 26 | } ); 27 | ``` 28 | 29 | 30 | # Documentation / support 31 | 32 | * Documentation: http://datatables.net/extensions/colreorder/ 33 | * DataTables support forums: http://datatables.net/forums 34 | 35 | 36 | # GitHub 37 | 38 | If you fancy getting involved with the development of ColReorder and help make it better, please refer to its GitHub repo: https://github.com/DataTables/ColReorder 39 | 40 | -------------------------------------------------------------------------------- /dapp/custom-js/vehiclemanagement.js: -------------------------------------------------------------------------------- 1 | 2 | const MQTT_BROKER_WS = 'ws://35.166.170.137:3000'; 3 | const TOPIC_CARSHARING = 'carsharing-car-commands-topic'; 4 | 5 | //var web3; 6 | var client = mqtt.connect(MQTT_BROKER_WS); 7 | 8 | client.on('connect', () => { 9 | console.log('connected'); 10 | }); 11 | /* 12 | function lock() { 13 | client.publish(TOPIC_CARSHARING, "lock"); 14 | } 15 | 16 | function unlock() { 17 | client.publish(TOPIC_CARSHARING, "unlock"); 18 | } 19 | */ 20 | 21 | var tClient; 22 | const CAR_NODE_ADDRESS = "0x47d20260d01093f26e0c863c992caa796d45c131"; 23 | 24 | web3.eth.getAccounts((err, accs) => { 25 | if (err) throw err; 26 | if (accs.length === 0) throw new Error("No eth accounts available!"); 27 | var acc = accs[0]; 28 | console.log('MQTTT is using eth account ' + acc); 29 | // TODO: Web3Signer only tested with testrpc, geth may not working with the `eth_sign` 30 | // API change https://github.com/ethereum/go-ethereum/issues/3621 31 | tClient = new mqttt.MQTTT(acc, new mqttt.signers.Web3Signer(web3, 'hashPersonal', 'hashPersonal'), MQTT_BROKER_WS); 32 | 33 | tClient.listen(true, (err, msg) => { 34 | console.log(err, msg); 35 | if (err) throw err; 36 | var data = JSON.parse(msg.data); 37 | if (data.err) throw data.err; 38 | alert(data.result); 39 | }); 40 | }); 41 | 42 | 43 | function lock() { 44 | tClient.send(CAR_NODE_ADDRESS, 'lock', 'command'); 45 | } 46 | 47 | function unlock() { 48 | tClient.send(CAR_NODE_ADDRESS, 'unlock', 'command'); 49 | } 50 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/KeyTable/Readme.txt: -------------------------------------------------------------------------------- 1 | # KeyTable 2 | 3 | KeyTable provides enhanced accessibility and navigation options for DataTables enhanced tables, by allowing Excel like cell navigation on any table. Events (focus, blur, action etc) can be assigned to individual cells, columns, rows or all cells to allow advanced interaction options.. Key features include: 4 | 5 | * Easy to use spreadsheet like interaction 6 | * Fully integrated with DataTables 7 | * Wide range of supported events 8 | 9 | 10 | # Installation 11 | 12 | To use KeyTable, first download DataTables ( http://datatables.net/download ) and place the unzipped KeyTable package into a `extensions` directory in the DataTables package. This will allow the pages in the examples to operate correctly. To see the examples running, open the `examples` directory in your web-browser. 13 | 14 | 15 | # Basic usage 16 | 17 | KeyTable is initialised using the `C` option that it adds to DataTables' `dom` option. For example: 18 | 19 | ```js 20 | $(document).ready( function () { 21 | var table = $('#example').DataTable(); 22 | new $.fn.dataTable.KeyTable( table ); 23 | } ); 24 | ``` 25 | 26 | 27 | # Documentation / support 28 | 29 | * Documentation: http://datatables.net/extensions/keytable/ 30 | * DataTables support forums: http://datatables.net/forums 31 | 32 | 33 | # GitHub 34 | 35 | If you fancy getting involved with the development of KeyTable and help make it better, please refer to its GitHub repo: https://github.com/DataTables/KeyTable 36 | 37 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/AutoFill/Readme.txt: -------------------------------------------------------------------------------- 1 | # AutoFill 2 | 3 | AutoFill gives an Excel like option to a DataTable to click and drag over multiple cells, filling in information over the selected cells and incrementing numbers as needed. Key features include: 4 | 5 | * Click and drag cell content insertion 6 | * Automatic incrementing of numeric information 7 | * Enable and disable on any column 8 | * Detailed callback functions for customisation 9 | * Support for both DataTables and browser window scrolling 10 | 11 | 12 | # Installation 13 | 14 | To use AutoFill, first download DataTables ( http://datatables.net/download ) and place the unzipped AutoFill package into a `extensions` directory in the DataTables package. This will allow the pages in the examples to operate correctly. To see the examples running, open the `examples` directory in your web-browser. 15 | 16 | 17 | # Basic usage 18 | 19 | AutoFill is initialised using the `$.fn.dataTable.AutoFill` constructor. For example: 20 | 21 | ```js 22 | $(document).ready( function () { 23 | var table = $('#example').dataTable(); 24 | new $.fn.dataTable.AutoFill( table ); 25 | } ); 26 | ``` 27 | 28 | 29 | # Documentation / support 30 | 31 | * Documentation: http://datatables.net/extensions/autofill/ 32 | * DataTables support forums: http://datatables.net/forums 33 | 34 | 35 | # GitHub 36 | 37 | If you fancy getting involved with the development of AutoFill and help make it better, please refer to its GitHub repo: https://github.com/DataTables/AutoFill 38 | 39 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/TableTools/Readme.md: -------------------------------------------------------------------------------- 1 | # TableTools 2 | 3 | TableTools is a plug-in for the DataTables HTML table enhancer, which adds a highly customisable button toolbar to a DataTable. Key features include: 4 | 5 | * Copy to clipboard 6 | * Save table data as CSV, XLS or PDF files 7 | * Print view for clean printing 8 | * Row selection options 9 | * Easy use predefined buttons 10 | * Simple customisation of buttons 11 | * Well defined API for advanced control 12 | 13 | 14 | # Installation 15 | 16 | To use TableTools, first download DataTables ( http://datatables.net/download ) and place the unzipped TableTools package into a `extensions` directory in the DataTables package (in DataTables 1.9- use the `extras` directory). This will allow the pages in the examples to operate correctly. To see the examples running, open the `examples` directory in your web-browser. 17 | 18 | 19 | # Basic usage 20 | 21 | TableTools is initialised using the `T` option that it adds to DataTables' `dom` option. For example: 22 | 23 | ```js 24 | $(document).ready( function () { 25 | $('#example').DataTable( { 26 | dom: 'T<"clear">lfrtip' 27 | } ); 28 | } ); 29 | ``` 30 | 31 | 32 | # Documentation / support 33 | 34 | * Documentation: http://datatables.net/extensions/tabletools/ 35 | * DataTables support forums: http://datatables.net/forums 36 | 37 | 38 | # GitHub 39 | 40 | If you fancy getting involved with the development of TableTools and help make it better, please refer to its GitHub repo: https://github.com/DataTables/TableTools 41 | 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Decentralized Mobility Application Framework 2 | 3 | A decentralized mobility application framework. 4 | 5 | The framework consists of in-car components/libs and user car sharing dapps. 6 | 7 | # Install and run 8 | 9 | This dapp was built using the [Truffle Dapp Development Framework]. 10 | If you would like to deploy this dapp locally for testing the easiest way to do that is to install 11 | [Truffle] and the [testrpc Ethereum client]. 12 | 13 | 14 | ## Compile and install contracts. 15 | 16 | You will need to be running testrpc in one terminal instance and Truffle in a second one. 17 | This can be accomplished by opening 2 separate terminal windows or using a program like `screen` 18 | if you use a Linux based OS. After installing Truffle and testrpc: 19 | 20 | 21 | *Terminal Window 1:* 22 | 23 | 1. Start `testrpc` with settings to your liking (it is a good idea to unlock accounts 24 | when starting `testrpc` so you can more easily interact with the contracts). 25 | 26 | *Terminal Window 2:* 27 | 28 | 2. Compile smart contracts 29 | 30 | ```Bash 31 | truffle compile 32 | ``` 33 | 34 | 3. Migrate contracts to testrpc or other chains. 35 | 36 | ```Bash 37 | truffle migrate 38 | ``` 39 | 40 | ## Run dapps 41 | 42 | To run in-car dapp, go to *app/carsharing* to check out details. 43 | 44 | To run user dapp, go to dapp to check out details. 45 | 46 | # License 47 | Apache 2.0 48 | 49 | 50 | [Truffle Dapp Development Framework]: http://truffleframework.com 51 | [testrpc Ethereum client]: https://github.com/ethereumjs/testrpc 52 | [Truffle]: http://truffleframework.com 53 | -------------------------------------------------------------------------------- /dapp/custom-js/ipfs.js: -------------------------------------------------------------------------------- 1 | //const IPFSAPI = IpfsApi('/ip4/127.0.0.1/tcp/5002'); 2 | 3 | //const ipfsMini = new IPFS({ host: 'ipfs.infura.io', port: 5001, protocol: 'https' }); 4 | const ipfsMini = new IPFS({ host: 'localhost', port: 5002, protocol: 'http' }); 5 | 6 | const ipfs = IpfsApi('ipfs.infura.io', '5001', {'protocol': 'https'}); 7 | ipfs.id((err, identity) => { 8 | if (err) throw err; 9 | console.log('IPFS address: ' + identity.id); 10 | }); 11 | 12 | function addFileToIPFS(obj) { 13 | ipfsMini.addJSON(obj, (err, result) => { 14 | console.log(err, result); 15 | return result; 16 | }); 17 | 18 | } 19 | 20 | function retrieveFileFromIPFS(multihash, callback) { 21 | ipfs.files.cat(multihash, function(err, stream) { 22 | if (err) throw err; 23 | stream.on('data', (file) => { 24 | callback(file); 25 | }); 26 | }); 27 | 28 | /* 29 | ipfsMini.catJSON(multihash, (err, result) => { 30 | console.log(err, result); 31 | console.log("JSON: " + result); 32 | callback(result); 33 | }); 34 | */ 35 | } 36 | 37 | function addToIPNS(multihash) { 38 | var promisedPublishResult = Promise.resolve(IPFSAPI.name.publish(multihash)); 39 | 40 | var publishResult = Promise.resolve(promisedPublishResult); 41 | publishResult.then(function(e) { 42 | console.log(e); 43 | return e; 44 | }); 45 | }; 46 | 47 | function resolveFromIPNS(multihash, callback) { 48 | ipfs.name.resolve(multihash, (err, result) => { 49 | if (err) { 50 | throw err; 51 | } 52 | callback(result.Path); 53 | }); 54 | } 55 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/FixedHeader/Readme.txt: -------------------------------------------------------------------------------- 1 | # FixedHeader 2 | 3 | At times it can be useful to ensure that column titles will remain always visible on a table, even when a user scrolls down a table. The FixedHeader plug-in for DataTables will float the 'thead' element above the table at all times to help address this issue. The column titles also remain click-able to perform sorting. Key features include: 4 | 5 | * Fix the header to the top of the window 6 | * Ability to fix the footer and left / right columns as well 7 | * z-Index ordering options 8 | 9 | 10 | # Installation 11 | 12 | To use FixedHeader, first download DataTables ( http://datatables.net/download ) and place the unzipped FixedHeader package into a `extensions` directory in the DataTables package. This will allow the pages in the examples to operate correctly. To see the examples running, open the `examples` directory in your web-browser. 13 | 14 | 15 | # Basic usage 16 | 17 | FixedHeader is initialised using the `$.fn.dataTable.FixedHeader()` object. For example: 18 | 19 | ```js 20 | $(document).ready( function () { 21 | var table = $('#example').dataTable(); 22 | new $.fn.dataTable.FixedHeader( table ); 23 | } ); 24 | ``` 25 | 26 | 27 | # Documentation / support 28 | 29 | * Documentation: http://datatables.net/extensions/FixedHeader/ 30 | * DataTables support forums: http://datatables.net/forums 31 | 32 | 33 | # GitHub 34 | 35 | If you fancy getting involved with the development of FixedHeader and help make it better, please refer to its GitHub repo: https://github.com/DataTables/FixedHeader 36 | 37 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-black-light.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Black 3 | * ----------- 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | /* skin-black navbar */ 11 | .skin-black-light { 12 | //Navbar & Logo 13 | .main-header { 14 | .box-shadow(0px 1px 1px rgba(0, 0, 0, 0.05)); 15 | .navbar-toggle { 16 | color: #333; 17 | } 18 | .navbar-brand { 19 | color: #333; 20 | border-right: 1px solid #eee; 21 | } 22 | .navbar { 23 | .navbar-variant(#fff; #333; #999; #fff); 24 | > .sidebar-toggle { 25 | color: #333; 26 | border-right: 1px solid #eee; 27 | } 28 | .navbar-nav { 29 | > li > a { 30 | border-right: 1px solid #eee; 31 | } 32 | } 33 | .navbar-custom-menu .navbar-nav, 34 | .navbar-right { 35 | > li { 36 | > a { 37 | border-left: 1px solid #eee; 38 | border-right-width: 0; 39 | } 40 | } 41 | } 42 | } 43 | > .logo { 44 | .logo-variant(#fff; #333); 45 | border-right: 1px solid #eee; 46 | @media (max-width: @screen-header-collapse) { 47 | .logo-variant(#222; #fff); 48 | border-right: none; 49 | } 50 | } 51 | 52 | li.user-header { 53 | background-color: #222; 54 | } 55 | } 56 | 57 | //Content Header 58 | .content-header { 59 | background: transparent; 60 | box-shadow: none; 61 | } 62 | //Create the sidebar skin 63 | .skin-light-sidebar(#fff); 64 | } 65 | -------------------------------------------------------------------------------- /dapp/build/less/mailbox.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Page: Mailbox 3 | * ------------- 4 | */ 5 | .mailbox-messages { 6 | > .table { 7 | margin: 0; 8 | } 9 | } 10 | 11 | .mailbox-controls { 12 | padding: 5px; 13 | &.with-border { 14 | border-bottom: 1px solid @box-border-color; 15 | } 16 | } 17 | 18 | .mailbox-read-info { 19 | border-bottom: 1px solid @box-border-color; 20 | padding: 10px; 21 | h3 { 22 | font-size: 20px; 23 | margin: 0; 24 | } 25 | h5 { 26 | margin: 0; 27 | padding: 5px 0 0 0; 28 | } 29 | } 30 | 31 | .mailbox-read-time { 32 | color: #999; 33 | font-size: 13px; 34 | } 35 | 36 | .mailbox-read-message { 37 | padding: 10px; 38 | } 39 | 40 | .mailbox-attachments { 41 | &:extend(.list-unstyled); 42 | li { 43 | float: left; 44 | width: 200px; 45 | border: 1px solid #eee; 46 | margin-bottom: 10px; 47 | margin-right: 10px; 48 | } 49 | } 50 | 51 | .mailbox-attachment-name { 52 | font-weight: bold; 53 | color: #666; 54 | } 55 | 56 | .mailbox-attachment-icon, 57 | .mailbox-attachment-info, 58 | .mailbox-attachment-size { 59 | display: block; 60 | } 61 | 62 | .mailbox-attachment-info { 63 | padding: 10px; 64 | background: #f4f4f4; 65 | } 66 | 67 | .mailbox-attachment-size { 68 | color: #999; 69 | font-size: 12px; 70 | } 71 | 72 | .mailbox-attachment-icon { 73 | text-align: center; 74 | font-size: 65px; 75 | color: #666; 76 | padding: 20px 10px; 77 | &.has-img { 78 | padding: 0; 79 | > img { 80 | max-width: 100%; 81 | height: auto; 82 | } 83 | } 84 | } 85 | 86 | .mailbox-attachment-close { 87 | &:extend(.close); 88 | } 89 | -------------------------------------------------------------------------------- /dapp/custom-js/maps.js: -------------------------------------------------------------------------------- 1 | var currentCoords = document.getElementById("currentCoords"); 2 | var marker, geocoder; 3 | 4 | function addMarker(name, carObject) { 5 | var pos = { 6 | "lat": carObject.lat, 7 | "lng": carObject.lng 8 | }; 9 | var marker = new Marker({ 10 | position: pos, 11 | title: name, 12 | map: map 13 | }); 14 | } 15 | 16 | /*document.getElementById('submit').addEventListener('click', function() { 17 | geocodeAddress(geocoder, map); 18 | 19 | function geocodeAddress(geocoder, resultsMap) { 20 | var address = document.getElementById('address').value; 21 | geocoder.geocode({ 'address': address }, function(results, status) { 22 | if (status === 'OK') { 23 | resultsMap.setCenter(results[0].geometry.location); 24 | marker = new Marker({ 25 | map: resultsMap, 26 | draggable: true, 27 | position: results[0].geometry.location 28 | }); 29 | } else { 30 | alert('Geocode was not successful for the following reason: ' + status); 31 | } 32 | }); 33 | } 34 | });*/ 35 | 36 | function getLatLong() { 37 | currentCoords.innerHTML = marker.getPosition(); 38 | return marker.getPosition(); 39 | } 40 | 41 | function handleLocationError(browserHasGeolocation, infoWindow, pos) { 42 | infoWindow.setPosition(pos); 43 | infoWindow.setContent(browserHasGeolocation ? 44 | 'Error: The Geolocation service failed.' : 45 | 'Error: Your browser doesn\'t support geolocation.'); 46 | infoWindow.open(map); 47 | } 48 | -------------------------------------------------------------------------------- /dapp/build/less/modal.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Component: modal 3 | * ---------------- 4 | */ 5 | .modal { 6 | background: rgba(0, 0, 0, .3); 7 | } 8 | 9 | .modal-content { 10 | .border-radius(0); 11 | .box-shadow(0 2px 3px rgba(0, 0, 0, .125)); 12 | border: 0; 13 | @media (min-width: @screen-sm-min) { 14 | .box-shadow(0 2px 3px rgba(0, 0, 0, .125)); 15 | } 16 | } 17 | 18 | .modal-header { 19 | border-bottom-color: @box-border-color; 20 | } 21 | 22 | .modal-footer { 23 | border-top-color: @box-border-color; 24 | } 25 | 26 | //Modal variants 27 | .modal-primary { 28 | .modal-body { 29 | &:extend(.bg-light-blue); 30 | } 31 | .modal-header, 32 | .modal-footer { 33 | &:extend(.bg-light-blue-active); 34 | border-color: darken(@light-blue, 10%); 35 | } 36 | } 37 | 38 | .modal-warning { 39 | .modal-body { 40 | &:extend(.bg-yellow); 41 | } 42 | .modal-header, 43 | .modal-footer { 44 | &:extend(.bg-yellow-active); 45 | border-color: darken(@yellow, 10%); 46 | } 47 | } 48 | 49 | .modal-info { 50 | .modal-body { 51 | &:extend(.bg-aqua); 52 | } 53 | .modal-header, 54 | .modal-footer { 55 | &:extend(.bg-aqua-active); 56 | border-color: darken(@aqua, 10%); 57 | } 58 | } 59 | 60 | .modal-success { 61 | .modal-body { 62 | &:extend(.bg-green); 63 | } 64 | .modal-header, 65 | .modal-footer { 66 | &:extend(.bg-green-active); 67 | border-color: darken(@green, 10%); 68 | } 69 | } 70 | 71 | .modal-danger { 72 | .modal-body { 73 | &:extend(.bg-red); 74 | } 75 | .modal-header, 76 | .modal-footer { 77 | &:extend(.bg-red-active); 78 | border-color: darken(@red, 10%); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /dapp/plugins/datatables/extensions/FixedColumns/Readme.md: -------------------------------------------------------------------------------- 1 | # FixedColumns 2 | 3 | When making use of DataTables' x-axis scrolling feature (`scrollX`), you may wish to fix the left or right most columns in place. This plug-in for DataTables provides exactly this option (for non-scrolling tables, please use the FixedHeader plug-in, which can fix headers, footers and columns). Key features include: 4 | 5 | * Freezes the left most column to the side of the table 6 | * Option to freeze two or more columns 7 | * Full integration with DataTables' scrolling options 8 | 9 | 10 | # Installation 11 | 12 | To use FixedColumns, first download DataTables ( http://datatables.net/download ) and place the unzipped FixedColumns package into a `extensions` directory in the DataTables package. This will allow the pages in the examples to operate correctly. To see the examples running, open the `examples` directory in your web-browser. 13 | 14 | 15 | # Basic usage 16 | 17 | FixedColumns is initialised using the `$.fn.dataTable.FixedColumns()` constructor. For example: 18 | 19 | ```js 20 | $(document).ready(function() { 21 | var table = $('#example').DataTable( { 22 | scrollY: "300px", 23 | scrollX: true, 24 | scrollCollapse: true, 25 | paging: false 26 | } ); 27 | 28 | new $.fn.dataTable.FixedColumns( table ); 29 | } ); 30 | ``` 31 | 32 | 33 | # Documentation / support 34 | 35 | * Documentation: http://datatables.net/extensions/FixedColumns/ 36 | * DataTables support forums: http://datatables.net/forums 37 | 38 | 39 | # GitHub 40 | 41 | If you fancy getting involved with the development of FixedColumns and help make it better, please refer to its GitHub repo: https://github.com/DataTables/FixedColumns 42 | 43 | -------------------------------------------------------------------------------- /dapp/build/less/social-widgets.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Component: Social Widgets 3 | * ------------------------- 4 | */ 5 | //General widget style 6 | .box-widget { 7 | border: none; 8 | position: relative; 9 | } 10 | 11 | //User Widget Style 1 12 | .widget-user { 13 | //User name container 14 | .widget-user-header { 15 | padding: 20px; 16 | height: 120px; 17 | .border-top-radius(@box-border-radius); 18 | } 19 | //User name 20 | .widget-user-username { 21 | margin-top: 0; 22 | margin-bottom: 5px; 23 | font-size: 25px; 24 | font-weight: 300; 25 | text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); 26 | } 27 | //User single line description 28 | .widget-user-desc { 29 | margin-top: 0; 30 | } 31 | //User image container 32 | .widget-user-image { 33 | position: absolute; 34 | top: 65px; 35 | left: 50%; 36 | margin-left: -45px; 37 | > img { 38 | width: 90px; 39 | height: auto; 40 | border: 3px solid #fff; 41 | } 42 | } 43 | .box-footer { 44 | padding-top: 30px; 45 | } 46 | } 47 | 48 | //User Widget Style 2 49 | .widget-user-2 { 50 | //User name container 51 | .widget-user-header { 52 | padding: 20px; 53 | .border-top-radius(@box-border-radius); 54 | } 55 | //User name 56 | .widget-user-username { 57 | margin-top: 5px; 58 | margin-bottom: 5px; 59 | font-size: 25px; 60 | font-weight: 300; 61 | } 62 | //User single line description 63 | .widget-user-desc { 64 | margin-top: 0; 65 | } 66 | .widget-user-username, 67 | .widget-user-desc { 68 | margin-left: 75px; 69 | } 70 | //User image container 71 | .widget-user-image { 72 | > img { 73 | width: 65px; 74 | height: auto; 75 | float: left; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /contracts/MobilityRegistry.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.4.10; 2 | 3 | import "./CarTypes.sol"; 4 | import "./ErrorTypes.sol"; 5 | 6 | contract MobilityRegistry is CarTypes, ErrorTypes { 7 | struct UserAccount { 8 | address addr; 9 | bytes32 name; 10 | bytes16 license; 11 | address[] cars; 12 | bool exists; 13 | } 14 | 15 | mapping (address => UserAccount) users; 16 | mapping (address => Car) cars; 17 | 18 | event UserRegistered(address indexed account, bytes32 indexed name); 19 | event CarListed(address userAccount, address carAccount); 20 | 21 | /// Register a car. 22 | function listCar(address cid, bytes IPNSAddr) returns(uint error) { 23 | UserAccount user = users[msg.sender]; 24 | if (!user.exists) { 25 | return ACCOUNT_NOT_EXIST; 26 | } 27 | Car car = cars[cid]; 28 | if (car.exists) { 29 | return CAR_ALREADY_REGISTERED; 30 | } 31 | 32 | car.owner = msg.sender; 33 | car.status = CarStatus.AVAILABLE; 34 | car.exists = true; 35 | car.IPNSAddr = IPNSAddr; 36 | user.cars.push(cid); 37 | CarListed(msg.sender, cid); 38 | return SUCCESS; 39 | } 40 | 41 | /// Register as user. 42 | function registerUser(bytes32 name, bytes16 license) returns (uint error) { 43 | UserAccount user = users[msg.sender]; 44 | if (user.exists) { 45 | return ACCOUNT_ALREADY_EXIST; 46 | } 47 | 48 | user.addr = msg.sender; 49 | user.name = name; 50 | user.license = license; 51 | user.exists = true; 52 | users[msg.sender] = user; 53 | 54 | UserRegistered(user.addr, name); 55 | return SUCCESS; 56 | } 57 | } -------------------------------------------------------------------------------- /dapp/build/bootstrap-less/mixins/buttons.less: -------------------------------------------------------------------------------- 1 | // Button variants 2 | // 3 | // Easily pump out default styles, as well as :hover, :focus, :active, 4 | // and disabled options for all buttons 5 | 6 | .button-variant(@color; @background; @border) { 7 | color: @color; 8 | background-color: @background; 9 | border-color: @border; 10 | 11 | &:focus, 12 | &.focus { 13 | color: @color; 14 | background-color: darken(@background, 10%); 15 | border-color: darken(@border, 25%); 16 | } 17 | &:hover { 18 | color: @color; 19 | background-color: darken(@background, 10%); 20 | border-color: darken(@border, 12%); 21 | } 22 | &:active, 23 | &.active, 24 | .open > .dropdown-toggle& { 25 | color: @color; 26 | background-color: darken(@background, 10%); 27 | border-color: darken(@border, 12%); 28 | 29 | &:hover, 30 | &:focus, 31 | &.focus { 32 | color: @color; 33 | background-color: darken(@background, 17%); 34 | border-color: darken(@border, 25%); 35 | } 36 | } 37 | &:active, 38 | &.active, 39 | .open > .dropdown-toggle& { 40 | background-image: none; 41 | } 42 | &.disabled, 43 | &[disabled], 44 | fieldset[disabled] & { 45 | &, 46 | &:hover, 47 | &:focus, 48 | &.focus, 49 | &:active, 50 | &.active { 51 | background-color: @background; 52 | border-color: @border; 53 | } 54 | } 55 | 56 | .badge { 57 | color: @background; 58 | background-color: @color; 59 | } 60 | } 61 | 62 | // Button sizes 63 | .button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { 64 | padding: @padding-vertical @padding-horizontal; 65 | font-size: @font-size; 66 | line-height: @line-height; 67 | border-radius: @border-radius; 68 | } 69 | -------------------------------------------------------------------------------- /dapp/build/less/skins/skin-black.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Skin: Black 3 | * ----------- 4 | */ 5 | @import "../../bootstrap-less/mixins.less"; 6 | @import "../../bootstrap-less/variables.less"; 7 | @import "../variables.less"; 8 | @import "../mixins.less"; 9 | 10 | /* skin-black navbar */ 11 | .skin-black { 12 | //Navbar & Logo 13 | .main-header { 14 | .box-shadow(0px 1px 1px rgba(0, 0, 0, 0.05)); 15 | .navbar-toggle { 16 | color: #333; 17 | } 18 | .navbar-brand { 19 | color: #333; 20 | border-right: 1px solid #eee; 21 | } 22 | .navbar { 23 | .navbar-variant(#fff; #333; #999; #fff); 24 | > .sidebar-toggle { 25 | color: #333; 26 | border-right: 1px solid #eee; 27 | } 28 | .navbar-nav { 29 | > li > a { 30 | border-right: 1px solid #eee; 31 | } 32 | } 33 | .navbar-custom-menu .navbar-nav, 34 | .navbar-right { 35 | > li { 36 | > a { 37 | border-left: 1px solid #eee; 38 | border-right-width: 0; 39 | } 40 | } 41 | } 42 | } 43 | > .logo { 44 | .logo-variant(#fff; #333); 45 | border-right: 1px solid #eee; 46 | @media (max-width: @screen-header-collapse) { 47 | .logo-variant(#222; #fff); 48 | border-right: none; 49 | } 50 | } 51 | 52 | li.user-header { 53 | background-color: #222; 54 | } 55 | } 56 | 57 | //Content Header 58 | .content-header { 59 | background: transparent; 60 | box-shadow: none; 61 | } 62 | //Create the sidebar skin 63 | .skin-dark-sidebar(#fff); 64 | 65 | .pace { 66 | .pace-progress { 67 | background: #222; 68 | } 69 | .pace-activity { 70 | border-top-color: #222; 71 | border-left-color: #222; 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /dapp/plugins/input-mask/jquery.inputmask.phone.extensions.js: -------------------------------------------------------------------------------- 1 | /* 2 | Input Mask plugin extensions 3 | http://github.com/RobinHerbots/jquery.inputmask 4 | Copyright (c) 2010 - 2014 Robin Herbots 5 | Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) 6 | Version: 0.0.0 7 | 8 | Phone extension. 9 | When using this extension make sure you specify the correct url to get the masks 10 | 11 | $(selector).inputmask("phone", { 12 | url: "Scripts/jquery.inputmask/phone-codes/phone-codes.json", 13 | onKeyValidation: function () { //show some metadata in the console 14 | console.log($(this).inputmask("getmetadata")["name_en"]); 15 | } 16 | }); 17 | 18 | 19 | */ 20 | (function ($) { 21 | $.extend($.inputmask.defaults.aliases, { 22 | 'phone': { 23 | url: "phone-codes/phone-codes.json", 24 | mask: function (opts) { 25 | opts.definitions = { 26 | 'p': { 27 | validator: function () { return false; }, 28 | cardinality: 1 29 | }, 30 | '#': { 31 | validator: "[0-9]", 32 | cardinality: 1 33 | } 34 | }; 35 | var maskList = []; 36 | $.ajax({ 37 | url: opts.url, 38 | async: false, 39 | dataType: 'json', 40 | success: function (response) { 41 | maskList = response; 42 | } 43 | }); 44 | 45 | maskList.splice(0, 0, "+p(ppp)ppp-pppp"); 46 | return maskList; 47 | } 48 | } 49 | }); 50 | })(jQuery); 51 | -------------------------------------------------------------------------------- /dapp/plugins/pace/pace.min.css: -------------------------------------------------------------------------------- 1 | .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#fff;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}.pace .pace-progress-inner{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #fff,0 0 5px #fff;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-moz-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);-o-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}.pace .pace-activity{display:block;position:fixed;z-index:2000;top:15px;right:50%;width:14px;height:14px;border:solid 2px transparent;border-top-color:#fff;border-left-color:#fff;border-radius:10px;-webkit-animation:pace-spinner 400ms linear infinite;-moz-animation:pace-spinner 400ms linear infinite;-ms-animation:pace-spinner 400ms linear infinite;-o-animation:pace-spinner 400ms linear infinite;animation:pace-spinner 400ms linear infinite}@media (max-width: 767px){.pace .pace-activity{top:15px;right:15px;width:14px;height:14px}}@-webkit-keyframes pace-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes pace-spinner{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes pace-spinner{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes pace-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes pace-spinner{0%{transform:rotate(0deg);transform:rotate(0deg)}100%{transform:rotate(360deg);transform:rotate(360deg)}} -------------------------------------------------------------------------------- /dapp/build/less/AdminLTE-without-plugins.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * AdminLTE v2.3.5 Without Third-Party Plugins 3 | * Author: Almsaeed Studio 4 | * Website: Almsaeed Studio 5 | * License: Open source - MIT 6 | * Please visit http://opensource.org/licenses/MIT for more information 7 | !*/ 8 | //google fonts 9 | @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic); 10 | //Bootstrap Variables & Mixins 11 | //The core bootstrap code have not been modified. These files 12 | //are included only for reference. 13 | @import (reference) "../bootstrap-less/mixins.less"; 14 | @import (reference) "../bootstrap-less/variables.less"; 15 | //MISC 16 | //---- 17 | @import "core.less"; 18 | @import "variables.less"; 19 | @import "mixins.less"; 20 | //COMPONENTS 21 | //----------- 22 | @import "header.less"; 23 | @import "sidebar.less"; 24 | @import "sidebar-mini.less"; 25 | @import "control-sidebar.less"; 26 | @import "dropdown.less"; 27 | @import "forms.less"; 28 | @import "progress-bars.less"; 29 | @import "small-box.less"; 30 | @import "boxes.less"; 31 | @import "info-box.less"; 32 | @import "timeline.less"; 33 | @import "buttons.less"; 34 | @import "callout.less"; 35 | @import "alerts.less"; 36 | @import "navs.less"; 37 | @import "products.less"; 38 | @import "table.less"; 39 | @import "labels.less"; 40 | @import "direct-chat.less"; 41 | @import "users-list.less"; 42 | @import "carousel.less"; 43 | @import "modal.less"; 44 | @import "social-widgets.less"; 45 | //PAGES 46 | //------ 47 | @import "mailbox.less"; 48 | @import "lockscreen.less"; 49 | @import "login_and_register.less"; 50 | @import "404_500_errors.less"; 51 | @import "invoice.less"; 52 | @import "profile"; 53 | //Miscellaneous 54 | //------------- 55 | @import "miscellaneous.less"; 56 | @import "print.less"; 57 | -------------------------------------------------------------------------------- /dapp/build/less/AdminLTE.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * AdminLTE v2.3.8 3 | * Author: Almsaeed Studio 4 | * Website: Almsaeed Studio 5 | * License: Open source - MIT 6 | * Please visit http://opensource.org/licenses/MIT for more information 7 | !*/ 8 | //google fonts 9 | @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic); 10 | //Bootstrap Variables & Mixins 11 | //The core bootstrap code have not been modified. These files 12 | //are included only for reference. 13 | @import (reference) "../bootstrap-less/mixins.less"; 14 | @import (reference) "../bootstrap-less/variables.less"; 15 | //MISC 16 | //---- 17 | @import "core.less"; 18 | @import "variables.less"; 19 | @import "mixins.less"; 20 | //COMPONENTS 21 | //----------- 22 | @import "header.less"; 23 | @import "sidebar.less"; 24 | @import "sidebar-mini.less"; 25 | @import "control-sidebar.less"; 26 | @import "dropdown.less"; 27 | @import "forms.less"; 28 | @import "progress-bars.less"; 29 | @import "small-box.less"; 30 | @import "boxes.less"; 31 | @import "info-box.less"; 32 | @import "timeline.less"; 33 | @import "buttons.less"; 34 | @import "callout.less"; 35 | @import "alerts.less"; 36 | @import "navs.less"; 37 | @import "products.less"; 38 | @import "table.less"; 39 | @import "labels.less"; 40 | @import "direct-chat.less"; 41 | @import "users-list.less"; 42 | @import "carousel.less"; 43 | @import "modal.less"; 44 | @import "social-widgets.less"; 45 | //PAGES 46 | //------ 47 | @import "mailbox.less"; 48 | @import "lockscreen.less"; 49 | @import "login_and_register.less"; 50 | @import "404_500_errors.less"; 51 | @import "invoice.less"; 52 | @import "profile"; 53 | //Plugins 54 | //-------- 55 | @import "plugins.less"; 56 | //Miscellaneous 57 | //------------- 58 | @import "miscellaneous.less"; 59 | @import "print.less"; 60 | --------------------------------------------------------------------------------