[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [16098] Syncromind: Merge 15998:16097 from trunk
From: |
sigurdne |
Subject: |
[Fmsystem-commits] [16098] Syncromind: Merge 15998:16097 from trunk |
Date: |
Sun, 18 Dec 2016 19:22:14 +0000 (UTC) |
Revision: 16098
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16098
Author: sigurdne
Date: 2016-12-18 19:22:14 +0000 (Sun, 18 Dec 2016)
Log Message:
-----------
Syncromind: Merge 15998:16097 from trunk
Modified Paths:
--------------
branches/dev-syncromind-2/admin/inc/class.ui_custom.inc.php
branches/dev-syncromind-2/admin/templates/base/config.tpl
branches/dev-syncromind-2/admin/templates/base/custom.xsl
branches/dev-syncromind-2/booking/inc/class.uicommon.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.bobooking.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.bocommon.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.bovendor_report.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.sobooking.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.sovendor_report.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.uiapplication.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.uibooking.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.uicommon.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.uicustomer.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.uivendor_report.inc.php
branches/dev-syncromind-2/eventplanner/inc/model/class.application.inc.php
branches/dev-syncromind-2/eventplanner/inc/model/class.booking.inc.php
branches/dev-syncromind-2/eventplanner/inc/model/class.customer.inc.php
branches/dev-syncromind-2/eventplanner/inc/model/class.vendor.inc.php
branches/dev-syncromind-2/eventplanner/inc/model/class.vendor_report.inc.php
branches/dev-syncromind-2/eventplanner/js/portico/application.edit.js
branches/dev-syncromind-2/eventplanner/setup/default_records.inc.php
branches/dev-syncromind-2/eventplanner/setup/phpgw_no.lang
branches/dev-syncromind-2/eventplanner/setup/setup.inc.php
branches/dev-syncromind-2/eventplanner/setup/tables_current.inc.php
branches/dev-syncromind-2/eventplanner/setup/tables_update.inc.php
branches/dev-syncromind-2/eventplanner/templates/base/application.xsl
branches/dev-syncromind-2/eventplanner/templates/base/booking.xsl
branches/dev-syncromind-2/eventplanner/templates/base/customer.xsl
branches/dev-syncromind-2/eventplanner/templates/base/vendor.xsl
branches/dev-syncromind-2/eventplanner/templates/base/vendor_report.xsl
branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.jqcal2.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.jquery.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.phpgw.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.socommon.inc.php
branches/dev-syncromind-2/phpgwapi/inc/functions.inc.php
branches/dev-syncromind-2/phpgwapi/inc/model/class.model.inc.php
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/index.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/alwaysAsk.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/columns.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/events.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/fills.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/focus.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/index.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/keyTable.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/plugins.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/scrolling.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/simple.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/bootstrap.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/bootstrap4.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/foundation.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/index.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/jqueryui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/semanticui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/js/dataTables.autoFill.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/js/dataTables.autoFill.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/api/addRemove.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/api/enable.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/api/group.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/api/text.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/column_visibility/columnGroups.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/column_visibility/columns.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/column_visibility/columnsToggle.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/column_visibility/index.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/column_visibility/layout.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/column_visibility/restore.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/column_visibility/simple.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/column_visibility/stateSave.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/column_visibility/text.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/flash/copyi18n.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/flash/filename.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/flash/hidden.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/flash/pdfMessage.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/flash/pdfPage.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/flash/simple.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/flash/swfPath.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/flash/tsv.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/columns.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/copyi18n.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/customFile.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/excelBorder.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/excelCellShading.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/excelTextBold.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/filename.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/outputFormat-function.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/outputFormat-orthogonal.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/pdfImage.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/pdfMessage.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/pdfOpen.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/pdfPage.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/simple.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/html5/tsv.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/className.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/collections-autoClose.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/collections-sub.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/collections.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/custom.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/export.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/keys.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/multiple.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/new.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/pageLength.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/plugins.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/initialisation/simple.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/print/autoPrint.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/print/columns.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/print/customisation.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/print/message.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/print/select.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/print/simple.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/styling/bootstrap.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/styling/bootstrap4.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/styling/foundation.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/styling/icons.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/styling/jqueryui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/examples/styling/semanticui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/js/buttons.colVis.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/js/buttons.colVis.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/js/buttons.flash.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/js/buttons.flash.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/js/buttons.html5.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/js/buttons.html5.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/js/buttons.print.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/js/buttons.print.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/js/dataTables.buttons.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Buttons/js/dataTables.buttons.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/ColReorder/js/dataTables.colReorder.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/FixedColumns/examples/styling/col_filter.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/FixedColumns/js/dataTables.fixedColumns.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/FixedHeader/js/dataTables.fixedHeader.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/index.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/initialisation/events.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/initialisation/index.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/initialisation/scroller.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/initialisation/scrolling.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/initialisation/server-side.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/initialisation/simple.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/initialisation/stateSave.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/styling/bootstrap.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/styling/bootstrap4.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/styling/focusStyle.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/styling/foundation.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/styling/jqueryui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/styling/semanticui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/js/dataTables.keyTable.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/js/dataTables.keyTable.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.bootstrap.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.bootstrap.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.bootstrap4.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.bootstrap4.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.dataTables.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.dataTables.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.foundation.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.foundation.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.jqueryui.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.jqueryui.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.semanticui.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/css/responsive.semanticui.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/child-rows/column-control.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/child-rows/custom-renderer.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/child-rows/disable-child-rows.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/child-rows/right-column.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/child-rows/whole-row-control.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/column-control/auto.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/column-control/classes.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/column-control/colreorder.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/column-control/column-visibility.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/column-control/columnPriority.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/column-control/fixedHeader.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/column-control/init-classes.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/display-types/bootstrap-modal.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/display-types/bootstrap4-modal.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/display-types/foundation-modal.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/display-types/immediateShow.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/display-types/jqueryui-modal.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/display-types/modal.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/display-types/semanticui-modal.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/initialisation/ajax.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/initialisation/className.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/initialisation/default.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/initialisation/new.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/initialisation/option.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/styling/bootstrap.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/styling/bootstrap4.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/styling/compact.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/styling/foundation.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/styling/jqueryui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/styling/scrolling.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/examples/styling/semanticui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/js/dataTables.responsive.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/js/dataTables.responsive.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/js/responsive.bootstrap.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/js/responsive.bootstrap.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/js/responsive.bootstrap4.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Responsive/js/responsive.bootstrap4.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/index.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/initialisation/defaults.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/initialisation/events.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/initialisation/responsive.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/initialisation/restrictedOrdering.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/initialisation/scroll.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/initialisation/selector.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/initialisation/simple.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/styling/bootstrap.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/styling/bootstrap4.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/styling/foundation.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/styling/index.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/styling/jqueryui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/styling/reorderClass.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/styling/semanticui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/examples/styling/snapX.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/js/dataTables.rowReorder.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/RowReorder/js/dataTables.rowReorder.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Scroller/js/dataTables.scroller.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.bootstrap.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.bootstrap.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.bootstrap4.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.bootstrap4.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.dataTables.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.dataTables.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.foundation.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.foundation.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.jqueryui.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.jqueryui.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.semanticui.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/css/select.semanticui.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/api/cancellableEvents.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/api/events.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/api/get.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/api/select.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/initialisation/blurable.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/initialisation/buttons.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/initialisation/cells.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/initialisation/checkbox.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/initialisation/deferRender.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/initialisation/i18n.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/initialisation/multi.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/initialisation/reload.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/initialisation/simple.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/initialisation/single.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/styling/bootstrap.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/styling/bootstrap4.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/styling/foundation.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/styling/jqueryui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/examples/styling/semanticui.html
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/js/dataTables.select.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/Select/js/dataTables.select.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/css/dataTables.bootstrap.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/css/dataTables.bootstrap.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/css/dataTables.semanticui.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/css/dataTables.semanticui.min.css
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/dataTables.bootstrap.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/dataTables.bootstrap.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/dataTables.bootstrap4.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/dataTables.bootstrap4.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/dataTables.foundation.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/dataTables.foundation.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/dataTables.material.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/dataTables.material.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/dataTables.semanticui.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/dataTables.semanticui.min.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/jquery.dataTables.js
branches/dev-syncromind-2/phpgwapi/js/DataTables/media/js/jquery.dataTables.min.js
branches/dev-syncromind-2/phpgwapi/js/jquery/common.js
branches/dev-syncromind-2/phpgwapi/js/jquery/jqTree/lib/drag_and_drop_handler.js
branches/dev-syncromind-2/phpgwapi/js/jquery/jqTree/lib/node.js
branches/dev-syncromind-2/phpgwapi/js/jquery/jqTree/lib/save_state_handler.js
branches/dev-syncromind-2/phpgwapi/js/jquery/jqTree/lib/select_node_handler.js
branches/dev-syncromind-2/phpgwapi/js/jquery/jqTree/lib/tree.jquery.js
branches/dev-syncromind-2/phpgwapi/js/jquery/jqTree/lib/version.js
branches/dev-syncromind-2/phpgwapi/js/jquery/jqTree/tree.jquery.js
branches/dev-syncromind-2/phpgwapi/js/jquery/tabs/jquery.responsiveTabs.js
branches/dev-syncromind-2/phpgwapi/js/jquery/tabs/jquery.responsiveTabs.min.js
branches/dev-syncromind-2/phpgwapi/templates/base/datatable_inline.xsl
branches/dev-syncromind-2/phpgwapi/templates/base/datatable_jquery.xsl
branches/dev-syncromind-2/phpgwapi/templates/mobilefrontend/navbar.inc.php
branches/dev-syncromind-2/property/inc/class.boadmin_entity.inc.php
branches/dev-syncromind-2/property/inc/class.boproject.inc.php
branches/dev-syncromind-2/property/inc/class.botts.inc.php
branches/dev-syncromind-2/property/inc/class.boworkorder.inc.php
branches/dev-syncromind-2/property/inc/class.socommon.inc.php
branches/dev-syncromind-2/property/inc/class.sogeneric.inc.php
branches/dev-syncromind-2/property/inc/class.soproject.inc.php
branches/dev-syncromind-2/property/inc/class.sotts.inc.php
branches/dev-syncromind-2/property/inc/class.soworkorder.inc.php
branches/dev-syncromind-2/property/inc/class.uiadmin_entity.inc.php
branches/dev-syncromind-2/property/inc/class.uientity.inc.php
branches/dev-syncromind-2/property/inc/class.uigeneric_document.inc.php
branches/dev-syncromind-2/property/inc/class.uilocation.inc.php
branches/dev-syncromind-2/property/inc/class.uiproject.inc.php
branches/dev-syncromind-2/property/inc/class.uitts.inc.php
branches/dev-syncromind-2/property/inc/class.uiwo_hour.inc.php
branches/dev-syncromind-2/property/inc/class.uiworkorder.inc.php
branches/dev-syncromind-2/property/inc/cron/default/Import_fra_agresso_X205_BK.php
branches/dev-syncromind-2/property/inc/cron/default/synkroniser_avdelinger_med_fellesdata.php
branches/dev-syncromind-2/property/inc/custom/default/BkBygg_exporter_data_til_Agresso.php
branches/dev-syncromind-2/property/inc/custom/default/BkBygg_exporter_varemottak_til_Agresso.php
branches/dev-syncromind-2/property/inc/custom/default/BkBygg_lag_Agresso_ordre_fra_melding.php
branches/dev-syncromind-2/property/inc/custom/default/BkBygg_lag_Agresso_ordre_fra_workorder.php
branches/dev-syncromind-2/property/js/portico/project.edit.js
branches/dev-syncromind-2/property/js/portico/tts.view.js
branches/dev-syncromind-2/property/js/portico/workorder.edit.js
branches/dev-syncromind-2/property/setup/phpgw_en.lang
branches/dev-syncromind-2/property/setup/phpgw_no.lang
branches/dev-syncromind-2/property/templates/base/config.tpl
branches/dev-syncromind-2/property/templates/base/entity.xsl
branches/dev-syncromind-2/property/templates/base/project.xsl
branches/dev-syncromind-2/property/templates/base/tts.xsl
branches/dev-syncromind-2/property/templates/base/workorder.xsl
branches/dev-syncromind-2/redirect.php
branches/dev-syncromind-2/rental/inc/class.menu.inc.php
branches/dev-syncromind-2/rental/inc/class.socontract_price_item.inc.php
branches/dev-syncromind-2/rental/inc/class.uicontract.inc.php
branches/dev-syncromind-2/rental/setup/phpgw_no.lang
branches/dev-syncromind-2/rental/setup/setup.inc.php
branches/dev-syncromind-2/rental/setup/tables_current.inc.php
branches/dev-syncromind-2/rental/setup/tables_update.inc.php
Added Paths:
-----------
branches/dev-syncromind-2/eventplanner/js/portico/booking.edit.js
branches/dev-syncromind-2/eventplanner/templates/base/application_info.xsl
branches/dev-syncromind-2/mobilefrontend/rental/
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/KeyTable/examples/initialisation/blurable.html
branches/dev-syncromind-2/rental/inc/class.bomoveout.inc.php
branches/dev-syncromind-2/rental/inc/class.somoveout.inc.php
branches/dev-syncromind-2/rental/inc/class.uimoveout.inc.php
branches/dev-syncromind-2/rental/inc/model/class.moveout.inc.php
branches/dev-syncromind-2/rental/js/rental/moveout.edit.js
branches/dev-syncromind-2/rental/templates/base/moveout.xsl
Removed Paths:
-------------
branches/dev-syncromind-2/eventplanner/js/portico/demo.edit.js
branches/dev-syncromind-2/eventplanner/js/portico/demo.index.js
Property Changed:
----------------
branches/dev-syncromind-2/
branches/dev-syncromind-2/booking/
Property changes on: branches/dev-syncromind-2
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/dev-syncromind:13653
/branches/stavangerkommune:12743-12875,12986
/trunk:14934-14935,15165-15215,15218-15220,15222-15304,15306-15337,15339,15341-15398,15400-15421,15423-15474,15476-15607,15609,15611,15613-15652,15654-15732,15734,15736-15746,15750-15770,15772-15775,15777-15795,15797-15798,15800-15812,15814-15838,15840,15842-15888,15890,15892-15997
+ /branches/dev-syncromind:13653
/branches/stavangerkommune:12743-12875,12986
/trunk:14934-14935,15165-15215,15218-15220,15222-15304,15306-15337,15339,15341-15398,15400-15421,15423-15474,15476-15607,15609,15611,15613-15652,15654-15732,15734,15736-15746,15750-15770,15772-15775,15777-15795,15797-15798,15800-15812,15814-15838,15840,15842-15888,15890,15892-15997,15999-16097
Modified: branches/dev-syncromind-2/admin/inc/class.ui_custom.inc.php
===================================================================
--- branches/dev-syncromind-2/admin/inc/class.ui_custom.inc.php 2016-12-18
13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/admin/inc/class.ui_custom.inc.php 2016-12-18
19:22:14 UTC (rev 16098)
@@ -61,7 +61,7 @@
$this->bolocation->acl_app = $this->appname;
$this->acl = &
$GLOBALS['phpgw']->acl;
- $this->acl_location = 'admin';
+ $this->acl_location = '.admin';
$this->acl_read =
$this->acl->check($this->acl_location, PHPGW_ACL_READ, $this->appname);
$this->acl_add =
$this->acl->check($this->acl_location, PHPGW_ACL_ADD, $this->appname);
$this->acl_edit =
$this->acl->check($this->acl_location, PHPGW_ACL_EDIT, $this->appname);
@@ -96,6 +96,11 @@
function list_attribute()
{
+ if(!$this->acl_read)
+ {
+ phpgw::no_access($this->appname);
+ }
+
$appname = $this->appname;
$location = $this->location;
$id = phpgw::get_var('id', 'int');
@@ -259,6 +264,11 @@
function edit_attrib()
{
+ if(!$this->acl_add)
+ {
+ phpgw::no_access($this->appname);
+ }
+
$appname = $this->appname;
$location = $this->location;
$id = phpgw::get_var('id', 'int');
@@ -477,6 +487,11 @@
function list_custom_function()
{
+ if(!$this->acl_read)
+ {
+ phpgw::no_access($this->appname);
+ }
+
if($this->local_menu_selection)
{
$GLOBALS['phpgw_info']['flags']['menu_selection'] .= '::list_functions';
@@ -663,7 +678,12 @@
function edit_custom_function()
{
- // $GLOBALS['phpgw_info']['flags']['menu_selection'] .=
'::list_functions';
+ if(!$this->acl_add)
+ {
+ phpgw::no_access($this->appname);
+ }
+
+ //
$GLOBALS['phpgw_info']['flags']['menu_selection'] .= '::list_functions';
$appname = $this->appname;
$location = $this->location;
$id = phpgw::get_var('id', 'int');
@@ -782,6 +802,11 @@
function delete()
{
+ if(!$this->acl_delete)
+ {
+ phpgw::no_access($this->appname);
+ }
+
$appname =
phpgw::get_var('appname');
$location =
phpgw::get_var('location');
$attrib_id =
phpgw::get_var('attrib_id', 'int');
@@ -1270,6 +1295,10 @@
public function query($data = array())
{
+ if(!$this->acl_read)
+ {
+ phpgw::no_access($this->appname);
+ }
$search = phpgw::get_var('search');
$order = phpgw::get_var('order');
Modified: branches/dev-syncromind-2/admin/templates/base/config.tpl
===================================================================
--- branches/dev-syncromind-2/admin/templates/base/config.tpl 2016-12-18
13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/admin/templates/base/config.tpl 2016-12-18
19:22:14 UTC (rev 16098)
@@ -3,293 +3,296 @@
{error}
</div>
<form method="post" action="{action_url}">
-<table class="pure-table pure-table-bordered">
- <thead>
- <tr>
- <th colspan="2">{title}</th>
- </tr>
- </thead>
- <tbody>
-<!-- END header -->
-<!-- BEGIN body -->
- <tr class="pure-table-odd">
-
<td>{lang_Would_you_like_phpGroupWare_to_check_for_a_new_version_when_admins_login_?}:</td>
- <td>
- <select name="newsettings[checkfornewversion]">
- <option value="">{lang_No}</option>
- <option
value="True"{selected_checkfornewversion_True}>{lang_Yes}</option>
- </select>
- </td>
- </tr>
-
- <tr>
- <td>{lang_Timeout_for_sessions_in_seconds_(default_14400_=_4_hours)}:</td>
- <td><input size="8" name="newsettings[sessions_timeout]"
value="{value_sessions_timeout}"></td>
- </tr>
+ <table class="pure-table pure-table-bordered">
+ <thead>
+ <tr>
+ <th colspan="2">{title}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- END header -->
+ <!-- BEGIN body -->
+ <tr class="pure-table-odd">
+
<td>{lang_Would_you_like_phpGroupWare_to_check_for_a_new_version_when_admins_login_?}:</td>
+ <td>
+ <select
name="newsettings[checkfornewversion]">
+ <option
value="">{lang_No}</option>
+ <option
value="True"{selected_checkfornewversion_True}>{lang_Yes}</option>
+ </select>
+ </td>
+ </tr>
- <tr class="pure-table-odd">
-
<td>{lang_Timeout_for_application_session_data_in_seconds_(default_86400_=_1_day)}:</td>
- <td><input size="8" name="newsettings[sessions_app_timeout]"
value="{value_sessions_app_timeout}"></td>
- </tr>
+ <tr>
+
<td>{lang_Timeout_for_sessions_in_seconds_(default_14400_=_4_hours)}:</td>
+ <td><input size="8"
name="newsettings[sessions_timeout]" value="{value_sessions_timeout}"></td>
+ </tr>
- <tr>
-
<td>{lang_Would_you_like_to_show_each_application's_upgrade_status_?}:</td><td>
- <select name="newsettings[checkappversions]">
- <option value="">{lang_No}</option>
- <option
value="Admin"{selected_checkappversions_Admin}>{lang_Admins}</option>
- <option
value="All"{selected_checkappversions_All}>{lang_All_Users}</option>
- </select>
- </td>
- </tr>
+ <tr class="pure-table-odd">
+
<td>{lang_Timeout_for_application_session_data_in_seconds_(default_86400_=_1_day)}:</td>
+ <td><input size="8"
name="newsettings[sessions_app_timeout]"
value="{value_sessions_app_timeout}"></td>
+ </tr>
- <tr class="pure-table-odd">
-
<td>{lang_Would_you_like_phpGroupWare_to_cache_the_phpgw_info_array_?}:</td>
- <td>
- <select name="newsettings[cache_phpgw_info]">
- <option value="">{lang_No}</option>
- <option value="True"{selected_cache_phpgw_info_True}>{lang_Yes}</option>
- </select>
- </td>
- </tr>
+ <tr>
+
<td>{lang_Would_you_like_to_show_each_application's_upgrade_status_?}:</td><td>
+ <select
name="newsettings[checkappversions]">
+ <option
value="">{lang_No}</option>
+ <option
value="Admin"{selected_checkappversions_Admin}>{lang_Admins}</option>
+ <option
value="All"{selected_checkappversions_All}>{lang_All_Users}</option>
+ </select>
+ </td>
+ </tr>
- <tr>
- <td>{lang_Maximum_entries_in_click_path_history}:</td>
- <td><input size="8" name="newsettings[max_history]"
value="{value_max_history}"></td>
- </tr>
+ <tr class="pure-table-odd">
+
<td>{lang_Would_you_like_phpGroupWare_to_cache_the_phpgw_info_array_?}:</td>
+ <td>
+ <select
name="newsettings[cache_phpgw_info]">
+ <option
value="">{lang_No}</option>
+ <option
value="True"{selected_cache_phpgw_info_True}>{lang_Yes}</option>
+ </select>
+ </td>
+ </tr>
- <tr class="pure-table-odd">
-
<td>{lang_Would_you_like_to_automaticaly_load_new_langfiles_(at_login-time)_?}:</td>
- <td>
- <select name="newsettings[disable_autoload_langfiles]">
- <option value="">{lang_Yes}</option>
- <option
value="True"{selected_disable_autoload_langfiles_True}>{lang_No}</option>
- </select>
- </td>
- </tr>
+ <tr>
+
<td>{lang_Maximum_entries_in_click_path_history}:</td>
+ <td><input size="8"
name="newsettings[max_history]" value="{value_max_history}"></td>
+ </tr>
- <tr class="pure-table-odd">
-
<td>{lang_Would_you_like_phpGroupWare_to_cache_data_in_shared_memory_?}:</td>
- <td>
- <select name="newsettings[shm_enable]">
- <option value="">{lang_No}</option>
- <option value="True"{selected_shm_enable_True}>{lang_Yes}</option>
- </select>
- </td>
- </tr>
+ <tr class="pure-table-odd">
+
<td>{lang_Would_you_like_to_automaticaly_load_new_langfiles_(at_login-time)_?}:</td>
+ <td>
+ <select
name="newsettings[disable_autoload_langfiles]">
+ <option
value="">{lang_Yes}</option>
+ <option
value="True"{selected_disable_autoload_langfiles_True}>{lang_No}</option>
+ </select>
+ </td>
+ </tr>
- <tr class="th">
- <td colspan="2"> <b>{lang_SMTP_settings}</b></td>
- </tr>
+ <tr class="pure-table-odd">
+
<td>{lang_Would_you_like_phpGroupWare_to_cache_data_in_shared_memory_?}:</td>
+ <td>
+ <select name="newsettings[shm_enable]">
+ <option
value="">{lang_No}</option>
+ <option
value="True"{selected_shm_enable_True}>{lang_Yes}</option>
+ </select>
+ </td>
+ </tr>
- <tr class="pure-table-odd">
- <td>{lang_SMTP_server_hostname_(or_IP_address)}:</td>
- <td><input name="newsettings[smtp_server]" value="{value_smtp_server}"
/></td>
- </tr>
-
- <tr>
- <td>{lang_SMTP_server_port_number}:</td>
- <td><input name="newsettings[smtp_port]"
value="{value_smtp_port}" /></td>
- </tr>
+ <tr class="th">
+ <td
colspan="2"> <b>{lang_SMTP_settings}</b></td>
+ </tr>
- <tr>
- <td>{lang_SMTP_server_timeout}:</td>
- <td><input name="newsettings[smtp_timeout]"
value="{value_smtp_timeout}" /></td>
- </tr>
+ <tr class="pure-table-odd">
+
<td>{lang_SMTP_server_hostname_(or_IP_address)}:</td>
+ <td><input name="newsettings[smtp_server]"
value="{value_smtp_server}" /></td>
+ </tr>
- <tr class="pure-table-odd">
- <td>{lang_Use_SMTP_auth}:</td>
- <td>
- <select name="newsettings[smtpAuth]">
- <option value="">{lang_no}</option>
- <option value="yes" {selected_smtpAuth_yes}>{lang_yes}</option>
- </select>
- </td>
- </tr>
- <tr>
- <td>{lang_Enter_your_SMTP_server_user}:</td>
- <td><input name="newsettings[smtpUser]" value="{value_smtpUser}"></td>
- </tr>
- <tr class="pure-table-odd">
- <td>{lang_Enter_your_SMTP_server_password}:</td>
- <td><input type= "password" name="newsettings[smtpPassword]"
value="{value_smtpPassword}"></td>
- </tr>
- <tr>
- <td>{lang_SMTPSecure}:</td>
- <td>
- <select name="newsettings[smtpSecure]">
- <option value="">{lang_No}</option>
- <option
value="ssl"{selected_smtpSecure_ssl}>ssl</option>
- <option
value="tls"{selected_smtpSecure_tls}>tls</option>
- </select>
- </td>
- </tr>
+ <tr>
+ <td>{lang_SMTP_server_port_number}:</td>
+ <td><input name="newsettings[smtp_port]"
value="{value_smtp_port}" /></td>
+ </tr>
- <tr class="pure-table-odd">
- <td>{lang_SMTPDebug}:</td>
- <td>
- <select name="newsettings[SMTPDebug]">
- <option value="0">{lang_No}</option>
- <option
value="1"{selected_SMTPDebug_1}>commands</option>
- <option
value="2"{selected_SMTPDebug_2}>commands and data</option>
- </select>
- </td>
- </tr>
+ <tr>
+ <td>{lang_SMTP_server_timeout}:</td>
+ <td><input name="newsettings[smtp_timeout]"
value="{value_smtp_timeout}" /></td>
+ </tr>
- <tr>
- <td>{lang_Debugoutput}:</td>
- <td>
- <select name="newsettings[Debugoutput]">
- <option value="echo">echo</option>
- <option
value="html"{selected_Debugoutput_html}>html</option>
- <option
value="errorlog"{selected_Debugoutput_errorlog}>error log</option>
- </select>
- </td>
- </tr>
-
-
-
- <tr class="th">
- <td colspan="2"> <b>{lang_appearance}</b></td>
- </tr>
+ <tr class="pure-table-odd">
+ <td>{lang_Use_SMTP_auth}:</td>
+ <td>
+ <select name="newsettings[smtpAuth]">
+ <option
value="">{lang_no}</option>
+ <option value="yes"
{selected_smtpAuth_yes}>{lang_yes}</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>{lang_Enter_your_SMTP_server_user}:</td>
+ <td><input name="newsettings[smtpUser]"
value="{value_smtpUser}"></td>
+ </tr>
+ <tr class="pure-table-odd">
+ <td>{lang_Enter_your_SMTP_server_password}:</td>
+ <td><input type= "password"
name="newsettings[smtpPassword]" value="{value_smtpPassword}"></td>
+ </tr>
+ <tr>
+ <td>{lang_SMTPSecure}:</td>
+ <td>
+ <select name="newsettings[smtpSecure]">
+ <option
value="">{lang_No}</option>
+ <option
value="ssl"{selected_smtpSecure_ssl}>ssl</option>
+ <option
value="tls"{selected_smtpSecure_tls}>tls</option>
+ </select>
+ </td>
+ </tr>
- <tr class="pure-table-odd">
- <td>{lang_Enter_the_title_for_your_site}:</td>
- <td><input name="newsettings[site_title]"
value="{value_site_title}"></td>
- </tr>
-
- <tr>
- <td>{lang_Enter_the_background_color_for_the_site_title}:</td>
- <td>#<input name="newsettings[login_bg_color_title]"
value="{value_login_bg_color_title}"></td>
- </tr>
+ <tr class="pure-table-odd">
+ <td>{lang_SMTPDebug}:</td>
+ <td>
+ <select name="newsettings[SMTPDebug]">
+ <option
value="0">{lang_No}</option>
+ <option
value="1"{selected_SMTPDebug_1}>commands</option>
+ <option
value="2"{selected_SMTPDebug_2}>commands and data</option>
+ </select>
+ </td>
+ </tr>
- <tr class="pure-table-odd">
- <td>{lang_Enter_the_background_color_for_the_login_page}:</td>
- <td>#<input name="newsettings[login_bg_color]"
value="{value_login_bg_color}"></td>
- </tr>
+ <tr>
+ <td>{lang_Debugoutput}:</td>
+ <td>
+ <select name="newsettings[Debugoutput]">
+ <option
value="echo">echo</option>
+ <option
value="html"{selected_Debugoutput_html}>html</option>
+ <option
value="errorlog"{selected_Debugoutput_errorlog}>error log</option>
+ </select>
+ </td>
+ </tr>
- <tr>
- <td>{lang_Enter_the_file_name_of_your_logo_at_login}:</td>
- <td><input name="newsettings[login_logo_file]"
value="{value_login_logo_file}"></td>
- </tr>
-
- <tr class="pure-table-odd">
- <td>{lang_Enter_the_file_name_of_your_logo}:</td>
- <td><input name="newsettings[logo_file]"
value="{value_logo_file}"></td>
- </tr>
-
- <tr>
- <td>{lang_Enter_the_url_where_your_logo_should_link_to}:</td>
- <td>http://<input name="newsettings[login_logo_url]"
value="{value_login_logo_url}"></td>
- </tr>
-
- <tr class="pure-table-odd">
- <td>{lang_Enter_the_title_of_your_logo}:</td>
- <td><input name="newsettings[login_logo_title]"
value="{value_login_logo_title}"></td>
- </tr>
- <tr class="th">
- <td colspan="2"> <b>{lang_security}</b></td>
- </tr>
- <tr class="pure-table-odd">
- <td>{lang_Use_cookies_to_pass_sessionid}:</td>
- <td>
- <select name="newsettings[usecookies]">
- <option value="">{lang_No}</option>
- <option
value="True"{selected_usecookies_True}>{lang_Yes}</option>
- </select>
- </td>
- </tr>
-
- <tr>
- <td>{lang_check_ip_address_of_all_sessions}:</td>
- <td>
- <select name="newsettings[sessions_checkip]">
- <option value="">{lang_No}</option>
- <option
value="True"{selected_sessions_checkip_True}>{lang_Yes}</option>
- </select>
- </td>
- </tr>
-
- <tr class="pure-table-odd">
-
<td>{lang_Deny_all_users_access_to_grant_other_users_access_to_their_entries_?}:</td>
- <td>
- <select name="newsettings[deny_user_grants_access]">
- <option value="">{lang_No}</option>
- <option
value="True"{selected_deny_user_grants_access_True}>{lang_Yes}</option>
- </select>
- </td>
- </tr>
-
- <tr>
-
<td>{lang_How_many_days_should_entries_stay_in_the_access_log,_before_they_get_deleted_(default_90)_?}:</td>
- <td>
- <input name="newsettings[max_access_log_age]"
value="{value_max_access_log_age}" size="5">
- </td>
- </tr>
-
- <tr class="pure-table-odd">
-
<td>{lang_After_how_many_unsuccessful_attempts_to_login,_an_account_should_be_blocked_(default_3)_?}:</td>
- <td>
- <input name="newsettings[num_unsuccessful_id]"
value="{value_num_unsuccessful_id}" size="5">
- </td>
- </tr>
-
- <tr>
-
<td>{lang_After_how_many_unsuccessful_attempts_to_login,_an_IP_should_be_blocked_(default_3)_?}:</td>
- <td>
- <input name="newsettings[num_unsuccessful_ip]"
value="{value_num_unsuccessful_ip}" size="5">
- </td>
- </tr>
-
- <tr class="pure-table-odd">
-
<td>{lang_How_many_minutes_should_an_account_or_IP_be_blocked_(default_30)_?}:</td>
- <td>
- <input name="newsettings[block_time]" value="{value_block_time}" size="5">
- </td>
- </tr>
-
- <tr>
-
<td>{lang_Admin_email_addresses_(comma-separated)_to_be_notified_about_the_blocking_(empty_for_no_notify)}:</td>
- <td>
- <input name="newsettings[admin_mails]" value="{value_admin_mails}"
size="40">
- </td>
- </tr>
-
- <tr class="pure-table-odd">
- <td>{lang_Disable_"auto_completion"_of_the_login_form_}:</td>
- <td>
- <select name="newsettings[autocomplete_login]">
- <option value="">{lang_No}</option>
- <option
value="True"{selected_autocomplete_login_True}>{lang_Yes}</option>
- </select>
- </td>
- </tr>
- <tr>
- <td>{lang_collect_missing_translations_}:</td>
- <td>
- <select name="newsettings[collect_missing_translations]">
- <option value="">{lang_No}</option>
- <option
value="True"{selected_collect_missing_translations_True}>{lang_Yes}</option>
- </select>
- </td>
- </tr>
- <tr>
- <td>{lang_support_email_address}:</td>
- <td>
- <input name="newsettings[support_address]"
value="{value_support_address}" size="40">
- </td>
- </tr>
+ <tr class="th">
+ <td
colspan="2"> <b>{lang_appearance}</b></td>
+ </tr>
-
-<!-- END body -->
+ <tr class="pure-table-odd">
+ <td>{lang_Enter_the_title_for_your_site}:</td>
+ <td><input name="newsettings[site_title]"
value="{value_site_title}"></td>
+ </tr>
-<!-- BEGIN footer -->
- </tbody>
-</table>
-<div class="button_group">
- <input type="submit" name="submit" value="{lang_submit}">
- <input type="submit" name="cancel" value="{lang_cancel}">
-</div>
+ <tr>
+
<td>{lang_Enter_the_background_color_for_the_site_title}:</td>
+ <td>#<input
name="newsettings[login_bg_color_title]"
value="{value_login_bg_color_title}"></td>
+ </tr>
+
+ <tr class="pure-table-odd">
+
<td>{lang_Enter_the_background_color_for_the_login_page}:</td>
+ <td>#<input name="newsettings[login_bg_color]"
value="{value_login_bg_color}"></td>
+ </tr>
+
+ <tr>
+
<td>{lang_Enter_the_file_name_of_your_logo_at_login}:</td>
+ <td><input name="newsettings[login_logo_file]"
value="{value_login_logo_file}"></td>
+ </tr>
+
+ <tr class="pure-table-odd">
+
<td>{lang_Enter_the_file_name_of_your_logo}:</td>
+ <td><input name="newsettings[logo_file]"
value="{value_logo_file}"></td>
+ </tr>
+
+ <tr>
+
<td>{lang_Enter_the_url_where_your_logo_should_link_to}:</td>
+ <td>http://<input
name="newsettings[login_logo_url]" value="{value_login_logo_url}"></td>
+ </tr>
+
+ <tr class="pure-table-odd">
+ <td>{lang_Enter_the_title_of_your_logo}:</td>
+ <td><input name="newsettings[login_logo_title]"
value="{value_login_logo_title}"></td>
+ </tr>
+
+ <tr class="th">
+ <td
colspan="2"> <b>{lang_security}</b></td>
+ </tr>
+
+ <tr class="pure-table-odd">
+ <td>{lang_Use_cookies_to_pass_sessionid}:</td>
+ <td>
+ <select name="newsettings[usecookies]">
+ <option
value="">{lang_No}</option>
+ <option
value="True"{selected_usecookies_True}>{lang_Yes}</option>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+
<td>{lang_check_ip_address_of_all_sessions}:</td>
+ <td>
+ <select
name="newsettings[sessions_checkip]">
+ <option
value="">{lang_No}</option>
+ <option
value="True"{selected_sessions_checkip_True}>{lang_Yes}</option>
+ </select>
+ </td>
+ </tr>
+
+ <tr class="pure-table-odd">
+
<td>{lang_Deny_all_users_access_to_grant_other_users_access_to_their_entries_?}:</td>
+ <td>
+ <select
name="newsettings[deny_user_grants_access]">
+ <option
value="">{lang_No}</option>
+ <option
value="True"{selected_deny_user_grants_access_True}>{lang_Yes}</option>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+
<td>{lang_How_many_days_should_entries_stay_in_the_access_log,_before_they_get_deleted_(default_90)_?}:</td>
+ <td>
+ <input
name="newsettings[max_access_log_age]" value="{value_max_access_log_age}"
size="5">
+ </td>
+ </tr>
+
+ <tr class="pure-table-odd">
+
<td>{lang_After_how_many_unsuccessful_attempts_to_login,_an_account_should_be_blocked_(default_3)_?}:</td>
+ <td>
+ <input
name="newsettings[num_unsuccessful_id]" value="{value_num_unsuccessful_id}"
size="5">
+ </td>
+ </tr>
+
+ <tr>
+
<td>{lang_After_how_many_unsuccessful_attempts_to_login,_an_IP_should_be_blocked_(default_3)_?}:</td>
+ <td>
+ <input
name="newsettings[num_unsuccessful_ip]" value="{value_num_unsuccessful_ip}"
size="5">
+ </td>
+ </tr>
+
+ <tr class="pure-table-odd">
+
<td>{lang_How_many_minutes_should_an_account_or_IP_be_blocked_(default_30)_?}:</td>
+ <td>
+ <input name="newsettings[block_time]"
value="{value_block_time}" size="5">
+ </td>
+ </tr>
+
+ <tr>
+
<td>{lang_Admin_email_addresses_(comma-separated)_to_be_notified_about_the_blocking_(empty_for_no_notify)}:</td>
+ <td>
+ <input name="newsettings[admin_mails]"
value="{value_admin_mails}" size="40">
+ </td>
+ </tr>
+
+ <tr class="pure-table-odd">
+
<td>{lang_Disable_"auto_completion"_of_the_login_form_}:</td>
+ <td>
+ <select
name="newsettings[autocomplete_login]">
+ <option
value="">{lang_No}</option>
+ <option
value="True"{selected_autocomplete_login_True}>{lang_Yes}</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>{lang_collect_missing_translations_}:</td>
+ <td>
+ <select
name="newsettings[collect_missing_translations]">
+ <option
value="">{lang_No}</option>
+ <option
value="True"{selected_collect_missing_translations_True}>{lang_Yes}</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>{lang_support_email_address}:</td>
+ <td>
+ <input
name="newsettings[support_address]" value="{value_support_address}" size="40">
+ </td>
+ </tr>
+ <tr>
+ <td>{lang_email_domain}:</td>
+ <td><input name="newsettings[email_domain]"
value="{value_email_domain}"></td>
+ </tr>
+
+ <!-- END body -->
+
+ <!-- BEGIN footer -->
+ </tbody>
+ </table>
+ <div class="button_group">
+ <input type="submit" name="submit" value="{lang_submit}">
+ <input type="submit" name="cancel" value="{lang_cancel}">
+ </div>
</form>
<!-- END footer -->
Modified: branches/dev-syncromind-2/admin/templates/base/custom.xsl
===================================================================
--- branches/dev-syncromind-2/admin/templates/base/custom.xsl 2016-12-18
13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/admin/templates/base/custom.xsl 2016-12-18
19:22:14 UTC (rev 16098)
@@ -286,7 +286,7 @@
<xsl:value-of
select="php:function('lang', 'column name')" />
</td>
<td>
- <input type="text"
name="values[column_name]" value="{value_column_name}" maxlength="20">
+ <input type="text"
name="values[column_name]" value="{value_column_name}" maxlength="50">
<xsl:attribute
name="title">
<xsl:value-of
select="php:function('lang', 'enter the name for the column')" />
</xsl:attribute>
Property changes on: branches/dev-syncromind-2/booking
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/stavangerkommune/booking:9468-12740,12743-12875,12986
/trunk/booking:14937-15027,15165-15215,15253-15304,15306-15337,15341-15398,15476-15607,15613-15652,15654-15732,15814-15838,15892-15997
+ /branches/stavangerkommune/booking:9468-12740,12743-12875,12986
/trunk/booking:14937-15027,15165-15215,15253-15304,15306-15337,15341-15398,15476-15607,15613-15652,15654-15732,15814-15838,15892-15997,15999-16097
Modified: branches/dev-syncromind-2/booking/inc/class.uicommon.inc.php
===================================================================
--- branches/dev-syncromind-2/booking/inc/class.uicommon.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/booking/inc/class.uicommon.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -157,6 +157,9 @@
{
$GLOBALS['phpgw']->translation->add_app('booking');
}
+
+ phpgwapi_jquery::load_widget('autocomplete');
+
}
/**
Modified: branches/dev-syncromind-2/eventplanner/inc/class.bobooking.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.bobooking.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/class.bobooking.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -101,4 +101,26 @@
return $values;
}
+
+ public function update_active_status( $ids, $action )
+ {
+ return
eventplanner_sobooking::get_instance()->update_active_status($ids, $action);
+ }
+
+ public function update_schedule( $id, $from_ )
+ {
+ $booking =
eventplanner_sobooking::get_instance()->read_single($id, true);
+ $booking->from_ = $from_;
+// $application =
createObject('eventplanner.boapplication')->read_single($entity->application_id);
+// $booking->to_ = $booking->from_ +
((int)$application->timespan * 60);
+ $booking->customer_id = $booking->customer_id ?
$booking->customer_id : '';//foreigns key
+
+ if($booking->validate())
+ {
+ return $booking->store();
+ }
+// return
eventplanner_sobooking::get_instance()->update($booking);
+ }
+
+
}
\ No newline at end of file
Modified: branches/dev-syncromind-2/eventplanner/inc/class.bocommon.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.bocommon.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/class.bocommon.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -86,9 +86,27 @@
{
if(($field_info['action'] & PHPGW_ACL_ADD) ||
($field_info['action'] & PHPGW_ACL_EDIT))
{
- $object->set_field( $field,
phpgw::get_var($field, $field_info['type'] ) );
+ if($field_info['type'] == 'json')
+ {
+ $values = array();
+ $custom_fields =
$object->get_custom_fields();
+ $values_attribute =
phpgw::get_var('values_attribute');
+
+ foreach ($custom_fields as $key
=> $custom_field)
+ {
+
$values[$custom_field['name']] = $values_attribute[$key]['value'];
+ }
+ $object->set_field( $field,
$values);
+ }
+ else
+ {
+ $object->set_field( $field,
phpgw::get_var($field, $field_info['type'] ) );
+ }
}
}
+ $values_attribute = phpgw::get_var('values_attribute');
+ $object->set_field( 'values_attribute',
$values_attribute);
+
return $object;
}
Modified:
branches/dev-syncromind-2/eventplanner/inc/class.bovendor_report.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.bovendor_report.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/class.bovendor_report.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -85,16 +85,13 @@
}
$values =
eventplanner_sovendor_report::get_instance()->read($params);
- $status_text =
eventplanner_vendor_report::get_status_list();
$dateformat =
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
foreach ($values['results'] as &$entry)
{
- $entry['status'] =
$status_text[$entry['status']];
$entry['created'] =
$GLOBALS['phpgw']->common->show_date($entry['created']);
$entry['modified'] =
$GLOBALS['phpgw']->common->show_date($entry['modified']);
$entry['date_start'] =
$GLOBALS['phpgw']->common->show_date($entry['date_start'], $dateformat);
$entry['date_end'] =
$GLOBALS['phpgw']->common->show_date($entry['date_end'], $dateformat);
- $entry['case_officer_id'] =
$entry['case_officer_id'] ?
$GLOBALS['phpgw']->accounts->get($entry['case_officer_id'])->__toString() : '';
}
return $values;
}
Modified: branches/dev-syncromind-2/eventplanner/inc/class.sobooking.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.sobooking.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/class.sobooking.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -67,17 +67,26 @@
protected function update( $object )
{
$this->db->transaction_begin();
+ $this->update_history($object, $this->fields);
+
+ parent::update($object);
+
+ return $this->db->transaction_commit();
+ }
+
+ protected function update_history( $object, $fields )
+ {
// $status_text = eventplanner_booking::get_status_list();
$dateformat =
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
$lang_active = lang('active');
$lang_inactive = lang('inactive');
$original =
$this->read_single($object->get_id());//returned as array()
- foreach ($this->fields as $field => $params)
+ foreach ($fields as $field => $params)
{
$new_value = $object->$field;
$old_value = $original[$field];
- if (!empty($params['history']) && ($new_value
!= $old_value))
+ if (!empty($params['history']) && $new_value &&
$old_value && ($new_value != $old_value))
{
$label = !empty($params['label']) ?
lang($params['label']) : $field;
switch ($field)
@@ -90,6 +99,16 @@
$old_value = $old_value
? $lang_active : $lang_inactive;
$new_value = $new_value
? $lang_active : $lang_inactive;
break;
+ case 'from_':
+ case 'to_':
+ if(($old_value +
phpgwapi_datetime::user_timezone()) == $new_value)
+ {
+ continue;
+ }
+
+ $old_value =
$GLOBALS['phpgw']->common->show_date($old_value);
+ $new_value =
$GLOBALS['phpgw']->common->show_date($new_value);
+ break;
default:
break;
}
@@ -107,10 +126,36 @@
}
}
+ }
- parent::update($object);
+ public function update_active_status($ids, $action )
+ {
+ if(!$ids || !is_array($ids))
+ {
+ return;
+ }
+ switch ($action)
+ {
+ case 'disable':
+ $sql = "UPDATE eventplanner_booking SET
active = 0";
+
+ break;
+ case 'enable':
+ $sql = "UPDATE eventplanner_booking SET
active = 1";
+ break;
+
+ default:
+ throw new Exception("action {$action}
not supported");
+ break;
+ }
+
+ $sql .= 'WHERE id IN(' . implode(',', $ids) . ')';
+ $this->db->transaction_begin();
+
+ $this->db->query($sql,__LINE__,__FILE__);
+
+
return $this->db->transaction_commit();
}
-
}
\ No newline at end of file
Modified:
branches/dev-syncromind-2/eventplanner/inc/class.sovendor_report.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.sovendor_report.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/class.sovendor_report.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -82,7 +82,6 @@
protected function update( $object )
{
$this->db->transaction_begin();
- $status_text =
eventplanner_vendor_report::get_status_list();
$dateformat =
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
$original =
$this->read_single($object->get_id());//returned as array()
Modified: branches/dev-syncromind-2/eventplanner/inc/class.uiapplication.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.uiapplication.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/class.uiapplication.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -237,14 +237,12 @@
$tabs['calendar'] = array(
'label' => lang('calendar'),
'link' => '#calendar',
- 'function' => "set_tab('calendar')"
+ 'function' => "set_tab('calendar')",
+ 'disable' => $id ? false : true
);
$bocommon = CreateObject('property.bocommon');
- $GLOBALS['phpgw']->jqcal->add_listener('date_start');
- $GLOBALS['phpgw']->jqcal->add_listener('date_end');
-
$accounts =
$GLOBALS['phpgw']->acl->get_user_list_right(PHPGW_ACL_EDIT, '.application',
'eventplanner');
$case_officer_options[] = array('id' => '', 'name' =>
lang('select'), 'selected' => 0);
foreach ($accounts as $account)
@@ -281,11 +279,11 @@
);
$dates_def = array(
- array('key' => 'id', 'hidden' => true),
+ array('key' => 'id', 'label' => lang('id'),
'sortable' => true, 'resizeable' => true,'formatter' =>
'JqueryPortico.formatLink'),
array('key' => 'from_', 'label' =>
lang('From'), 'sortable' => false, 'resizeable' => true),
array('key' => 'to_', 'label' => lang('To'),
'sortable' => false, 'resizeable' => true),
array('key' => 'active', 'label' =>
lang('active'), 'sortable' => false, 'resizeable' => true),
- array('key' => 'where', 'label' =>
lang('where'), 'sortable' => false, 'resizeable' => true),
+ array('key' => 'location', 'label' =>
lang('location'), 'sortable' => false, 'resizeable' => true),
array('key' => 'customer_name', 'label' =>
lang('who'), 'sortable' => true, 'resizeable' => true),
array('key' => 'comment', 'label' =>
lang('Note'), 'sortable' => false, 'resizeable' => true),
array('key' => 'application_id', 'hidden' =>
true),
@@ -331,7 +329,6 @@
'filter_application_id' => $id,
'filter_active' => 1,
'phpgw_return_as' => 'json'))),
-// 'requestUrl' => "''",
'tabletools' => $tabletools,
'ColumnDefs' => $dates_def,
'data' => json_encode(array()),
@@ -340,8 +337,13 @@
array('disablePagination' => true)
)
);
- $GLOBALS['phpgw']->jqcal2->add_listener('from_',
'datetime');
- $GLOBALS['phpgw']->jqcal2->add_listener('to_',
'datetime');
+ $GLOBALS['phpgw']->jqcal->add_listener('date_start');
+ $GLOBALS['phpgw']->jqcal->add_listener('date_end');
+ $GLOBALS['phpgw']->jqcal2->add_listener('from_',
'datetime', $application->date_start, array(
+ 'min_date' => date('Y/m/d',
$application->date_start),
+ 'max_date' => date('Y/m/d',
$application->date_end)
+ )
+ );
$application_type_list =
execMethod('eventplanner.bogeneric.get_list', array('type' =>
'application_type'));
$types = (array)$application->types;
@@ -351,7 +353,7 @@
{
foreach ($types as $type)
{
- if($type['type_id'] ==
$application_type['id'])
+ if((!empty($type['type_id']) &&
$type['type_id'] == $application_type['id']) || ($type ==
$application_type['id']))
{
$application_type['selected'] = 1;
break;
@@ -376,6 +378,7 @@
'form_action' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'eventplanner.uiapplication.save')),
'cancel_url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'eventplanner.uiapplication.index',)),
'application' => $application,
+ 'new_vendor_url' =>
self::link(array('menuaction' => 'eventplanner.uivendor.add')),
'list_case_officer' => array('options' =>
$case_officer_options),
'cat_select' =>
$this->cats->formatted_xslt_list(array(
'select_name' => 'category_id',
Modified: branches/dev-syncromind-2/eventplanner/inc/class.uibooking.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.uibooking.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/class.uibooking.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -1,5 +1,5 @@
<?php
-/**
+ /**
* phpGroupWare - eventplanner: a part of a Facilities Management
System.
*
* @author Sigurd Nes <address@hidden>
@@ -41,9 +41,10 @@
'view' => true,
'edit' => true,
'save' => true,
- 'save_ajax' => true
+ 'save_ajax' => true,
+ 'update_active_status' => true,
+ 'update_schedule' => true
);
-
protected
$fields,
$permissions;
@@ -58,7 +59,6 @@
$this->permissions =
eventplanner_booking::get_instance()->get_permission_array();
}
-
public function index()
{
if (empty($this->permissions[PHPGW_ACL_READ]))
@@ -93,8 +93,8 @@
'type' =>
'checkbox',
'name' =>
'filter_active',
'text' =>
lang('showall'),
- 'value' => 1,
- 'checked'=> 1,
+ 'value' => 1,
+ 'checked' => 1,
)
)
)
@@ -105,7 +105,7 @@
'phpgw_return_as' => 'json'
)),
'allrows' => true,
- 'new_item' =>
self::link(array('menuaction' => 'eventplanner.uibooking.add')),
+ // 'new_item' =>
self::link(array('menuaction' => 'eventplanner.uibooking.add')),
'editor_action' => '',
'field' => parent::_get_fields()
)
@@ -147,7 +147,6 @@
self::render_template_xsl('datatable_jquery', $data);
}
-
/*
* Edit the price item with the id given in the http variable
'id'
*/
@@ -177,6 +176,11 @@
'link' => '#first_tab',
'function' => "set_tab('first_tab')"
);
+ $tabs['reports'] = array(
+ 'label' => lang('reports'),
+ 'link' => '#reports',
+ 'function' => "set_tab('reports')"
+ );
$bocommon = CreateObject('property.bocommon');
@@ -188,12 +192,12 @@
}
$comments_def = array(
- array('key' => 'from_', 'label' =>
lang('From'), 'sortable' => false, 'resizeable' => true),
- array('key' => 'to_', 'label' => lang('To'),
'sortable' => false, 'resizeable' => true),
- array('key' => 'author', 'label' =>
lang('User'), 'sortable' => false, 'resizeable' => true),
- array('key' => 'comment', 'label' =>
lang('Note'), 'sortable' => false, 'resizeable' => true)
+ array('key' => 'value_count', 'label' => '#',
'sortable' => true, 'resizeable' => true),
+ array('key' => 'value_date', 'label' =>
lang('Date'), 'sortable' => true, 'resizeable' => true),
+ array('key' => 'author', 'label' =>
lang('User'), 'sortable' => true, 'resizeable' => true),
+ array('key' => 'comment', 'label' =>
lang('Note'), 'sortable' => true, 'resizeable' => true)
);
-
+
$datatable_def[] = array(
'container' => 'datatable-container_0',
'requestUrl' => "''",
@@ -205,26 +209,171 @@
)
);
+ $vendor_report_def = array(
+ array('key' => 'id', 'label' => lang('id'),
'sortable' => true, 'resizeable' => true,'formatter' =>
'JqueryPortico.formatLink'),
+ array('key' => 'created', 'label' =>
lang('Date'), 'sortable' => true, 'resizeable' => true),
+ );
+
+ $vendor_report = array();
+
+ $tabletools = array(
+ array(
+ 'my_name' => 'add',
+ 'text' => lang('add'),
+ 'type' => 'custom',
+ 'className' => 'add',
+ 'custom_code' => "
+
add_report('vendor');"
+ )
+ );
+
+ $datatable_def[] = array(
+ 'container' => 'datatable-container_1',
+ 'requestUrl' =>
json_encode(self::link(array('menuaction' =>
'eventplanner.uivendor_report.query',
+ 'filter_booking_id' => $id,
+ 'filter_active' => 1,
+ 'phpgw_return_as' => 'json'))),
+ 'ColumnDefs' => $vendor_report_def,
+ 'data' => json_encode($vendor_report),
+ 'tabletools' => $tabletools,
+ 'config' => array(
+ array('disableFilter' => true),
+ array('disablePagination' => true)
+ )
+ );
+
+ $customer_report_def = array(
+ array('key' => 'id', 'label' => lang('id'),
'sortable' => true, 'resizeable' => true,'formatter' =>
'JqueryPortico.formatLink'),
+ array('key' => 'created', 'label' =>
lang('Date'), 'sortable' => true, 'resizeable' => true),
+ );
+
+ $customer_report = array();
+ $tabletools = array(
+ array(
+ 'my_name' => 'add',
+ 'text' => lang('add'),
+ 'type' => 'custom',
+ 'className' => 'add',
+ 'custom_code' => "
+
add_report('vendor');"
+ )
+ );
+ $datatable_def[] = array(
+ 'container' => 'datatable-container_2',
+// 'requestUrl' =>
json_encode(self::link(array('menuaction' =>
'eventplanner.uicustomer_report.query',
+// 'filter_booking_id' => $id,
+// 'filter_active' => 1,
+// 'phpgw_return_as' => 'json'))),
+ 'requestUrl' => "''",
+ 'ColumnDefs' => $customer_report_def,
+ 'data' => json_encode($customer_report),
+ 'tabletools' => $tabletools,
+ 'config' => array(
+ array('disableFilter' => true),
+ array('disablePagination' => true)
+ )
+ );
+
+ $application =
createObject('eventplanner.boapplication')->read_single($booking->application_id);
+
+// $GLOBALS['phpgw']->jqcal2->add_listener('from_',
'datetime', $booking->from_, array(
+// 'min_date' => date('Y/m/d',
$application->date_start),
+// 'max_date' => date('Y/m/d',
$application->date_end)
+// )
+// );
+
+ $application_type_list =
execMethod('eventplanner.bogeneric.get_list', array('type' =>
'application_type'));
+ $types = (array)$application->types;
+ if($types)
+ {
+ foreach ($application_type_list as
&$application_type)
+ {
+ foreach ($types as $type)
+ {
+ if((!empty($type['type_id']) &&
$type['type_id'] == $application_type['id']) || ($type ==
$application_type['id']))
+ {
+
$application_type['selected'] = 1;
+ break;
+ }
+ }
+ }
+ }
+
$data = array(
'datatable_def' => $datatable_def,
'form_action' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'eventplanner.uibooking.save')),
'cancel_url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'eventplanner.uibooking.index',)),
'booking' => $booking,
+ 'application' => $application,
+ 'application_type_list' =>
$application_type_list,
+ 'new_customer_url' =>
self::link(array('menuaction' => 'eventplanner.uicustomer.add')),
+ 'application_url' =>
self::link(array('menuaction' => 'eventplanner.uiapplication.edit', 'id' =>
$booking->application_id)),
+ 'customer_url' => self::link(array('menuaction'
=> 'eventplanner.uicustomer.edit', 'id' => $booking->customer_id)),
'mode' => $mode,
'tabs' =>
phpgwapi_jquery::tabview_generate($tabs, $active_tab),
'value_active_tab' => $active_tab
);
phpgwapi_jquery::formvalidator_generate(array());
self::add_javascript('eventplanner', 'portico',
'booking.edit.js');
+ phpgwapi_jquery::load_widget('autocomplete');
self::render_template_xsl(array('booking',
'datatable_inline'), array($mode => $data));
}
-
+
public function save()
{
parent::save();
}
+
public function save_ajax()
{
return parent::save(true);
}
+
+ public function update_active_status()
+ {
+ $ids = phpgw::get_var('ids', 'int');
+ $action = phpgw::get_var('action', 'string');
+
+ if ($this->bo->update_active_status($ids, $action))
+ {
+ return array(
+ 'status_kode' => 'ok',
+ 'status' => lang('ok'),
+ 'msg' => lang('messages_saved_form')
+ );
+ }
+ else
+ {
+ return array
+ (
+ 'status_kode' => 'error',
+ 'status' => lang('error'),
+ 'msg' => lang('messages_form_error')
+ );
+ }
+ }
+
+ public function update_schedule( )
+ {
+ $id = phpgw::get_var('id', 'int');
+ $from_ = phpgw::get_var('from_', 'date');
+ if ($this->bo->update_schedule($id, $from_))
+ {
+ return array(
+ 'status_kode' => 'ok',
+ 'status' => lang('ok'),
+ 'msg' => lang('messages_saved_form')
+ );
+ }
+ else
+ {
+ return array
+ (
+ 'status_kode' => 'error',
+ 'status' => lang('error'),
+ 'msg' => lang('messages_form_error')
+ );
+ }
+
+ }
}
\ No newline at end of file
Modified: branches/dev-syncromind-2/eventplanner/inc/class.uicommon.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.uicommon.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/class.uicommon.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -53,7 +53,7 @@
{
parent::__construct();
$called_class = get_called_class();
- $this->called_class_arr = explode('_', $called_class);
+ $this->called_class_arr = explode('_', $called_class,
2);
}
@@ -186,6 +186,15 @@
}
else
{
+ foreach ($this->fields as $field =>
$field_info)
+ {
+ $_temp = $object->$field;
+ if($_temp && !is_array($_temp))
+ {
+ $object->$field =
htmlspecialchars_decode(str_replace(array('&','(', ')',
'=','−−',';'), array('&','(', ')', '=', '--',';'),
$_temp),ENT_QUOTES);
+ }
+ }
+
$this->edit(array('object' =>
$object, 'active_tab' => $active_tab));
}
}
Modified: branches/dev-syncromind-2/eventplanner/inc/class.uicustomer.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.uicustomer.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/class.uicustomer.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -41,6 +41,7 @@
'view' => true,
'edit' => true,
'save' => true,
+ 'get' => true
);
protected
@@ -235,7 +236,27 @@
self::add_javascript('eventplanner', 'portico',
'customer.edit.js');
self::render_template_xsl(array('customer',
'datatable_inline'), array($mode => $data));
}
-
+
+ /*
+ * Get the customer with the id given in the http variable 'id'
+ */
+
+ public function get( $id = 0 )
+ {
+ if (empty($this->permissions[PHPGW_ACL_ADD]))
+ {
+ phpgw::no_access();
+ }
+
+ $id = !empty($id) ? $id : phpgw::get_var('id', 'int');
+
+ $customer = $this->bo->read_single($id)->toArray();
+
+ unset($customer['secret']);
+
+ return $customer;
+ }
+
public function save()
{
parent::save();
Modified:
branches/dev-syncromind-2/eventplanner/inc/class.uivendor_report.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.uivendor_report.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/class.uivendor_report.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -45,7 +45,8 @@
protected
$fields,
- $permissions;
+ $permissions,
+ $custom_fields;
public function __construct()
{
@@ -59,22 +60,7 @@
$this->custom_fields =
eventplanner_vendor_report::get_instance()->get_custom_fields();
}
- private function get_status_options( $selected = 0 )
- {
- $status_options = array();
- $status_list =
eventplanner_vendor_report::get_status_list();
- foreach ($status_list as $_key => $_value)
- {
- $status_options[] = array(
- 'id' => $_key,
- 'name' => $_value,
- 'selected' => $_key == $selected ? 1 : 0
- );
- }
- return $status_options;
- }
-
private function _get_filters()
{
$combos = array();
@@ -88,35 +74,6 @@
'requestGenerator' => 'requestWithVendorFilter'
);
- $status_options = $this->get_status_options();
- array_unshift($status_options, array('id' => '','name'
=> lang('all')));
-
- $combos[] = array(
- 'type' => 'filter',
- 'name' => 'filter_status',
- 'extra' => '',
- 'text' => lang('status'),
- 'list' => $status_options
- );
-
- $categories =
$this->cats->formatted_xslt_list(array('format' => 'filter',
- 'selected' => $this->cat_id, 'globals'
=> true, 'use_acl' => $this->_category_acl));
- $default_value = array('cat_id' => '', 'name' =>
lang('no category'));
- array_unshift($categories['cat_list'], $default_value);
-
- $_categories = array();
- foreach ($categories['cat_list'] as $_category)
- {
- $_categories[] = array('id' =>
$_category['cat_id'], 'name' => $_category['name']);
- }
-
- $combos[] = array('type' => 'filter',
- 'name' => 'filter_category_id',
- 'extra' => '',
- 'text' => lang('category'),
- 'list' => $_categories
- );
-
return $combos;
}
@@ -150,7 +107,7 @@
'phpgw_return_as' => 'json'
)),
'allrows' => true,
- 'new_item' =>
self::link(array('menuaction' => 'eventplanner.uivendor_report.add')),
+ // 'new_item' =>
self::link(array('menuaction' => 'eventplanner.uivendor_report.add')),
'editor_action' => '',
'field' => parent::_get_fields()
)
@@ -223,7 +180,28 @@
$vendor_report = $this->bo->read_single($id);
}
- $custom_values = $vendor_report->json_representation;
+ $booking_id = $vendor_report->booking_id ?
$vendor_report->booking_id : phpgw::get_var('booking_id', 'int');
+ $booking =
createObject('eventplanner.bobooking')->read_single($booking_id);
+
+ $application =
createObject('eventplanner.boapplication')->read_single($booking->application_id);
+ $application_type_list =
execMethod('eventplanner.bogeneric.get_list', array('type' =>
'application_type'));
+ $types = (array)$application->types;
+ if($types)
+ {
+ foreach ($application_type_list as
&$application_type)
+ {
+ foreach ($types as $type)
+ {
+ if((!empty($type['type_id']) &&
$type['type_id'] == $application_type['id']) || ($type ==
$application_type['id']))
+ {
+
$application_type['selected'] = 1;
+ break;
+ }
+ }
+ }
+ }
+
+ $custom_values = $vendor_report->json_representation ?
$vendor_report->json_representation : array();
$custom_fields =
createObject('booking.custom_fields','eventplanner');
$fields = $this->custom_fields;
foreach ($fields as $attrib_id => &$attrib)
@@ -259,8 +237,10 @@
'form_action' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'eventplanner.uivendor_report.save')),
'cancel_url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'eventplanner.uivendor_report.index',)),
'vendor_report' => $vendor_report,
- 'status_list' => array('options' =>
$this->get_status_options($vendor_report->status)),
- 'vendor_report_type_list' =>
$vendor_report_type_list,
+ 'booking' => $booking,
+ 'application' => $application,
+ 'application_type_list' =>
$application_type_list,
+ 'booking_url' => self::link(array('menuaction'
=> 'eventplanner.uibooking.edit', 'id' => $booking->id, 'active_tab' =>
'reports')),
'mode' => $mode,
'tabs' =>
phpgwapi_jquery::tabview_generate($tabs, $active_tab),
'value_active_tab' => $active_tab,
@@ -269,7 +249,7 @@
phpgwapi_jquery::formvalidator_generate(array('date',
'security', 'file'));
phpgwapi_jquery::load_widget('autocomplete');
self::add_javascript('eventplanner', 'portico',
'vendor_report.edit.js');
- self::render_template_xsl(array('vendor_report',
'datatable_inline', 'attributes_form'), array($mode => $data));
+
self::render_template_xsl(array('vendor_report','application_info',
'datatable_inline', 'attributes_form'), array($mode => $data));
}
Modified:
branches/dev-syncromind-2/eventplanner/inc/model/class.application.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/model/class.application.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/model/class.application.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -177,7 +177,7 @@
),
'description' => array('action'=> PHPGW_ACL_ADD
| PHPGW_ACL_EDIT,
'type' => 'string',
- 'label' => 'description',
+ 'label' => 'application description',
'sortable' => false,
),
'remark' => array('action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
@@ -210,28 +210,6 @@
'label' => 'contact phone',
'history' => true,
),
- /* 'customer_identifier_type' => array(
- 'action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
- 'type' => 'string',
- 'required' => true,
- 'label' => 'customer_identifier_type',
- ),
- 'customer_ssn' => array(
- 'action'=> PHPGW_ACL_READ |
PHPGW_ACL_ADD | PHPGW_ACL_EDIT,
- 'type' => 'string',
- 'required' => false,
- 'query' => true,
- 'sf_validator' =>
createObject('booking.sfValidatorNorwegianSSN', array('full_required' =>
false)),
- 'label' => 'customer_ssn'
- ),
- 'customer_organization_number' => array(
- 'action'=> PHPGW_ACL_READ |
PHPGW_ACL_ADD | PHPGW_ACL_EDIT,
- 'type' => 'string',
- 'required' => false,
- 'query' => true,
- 'sf_validator' =>
createObject('booking.sfValidatorNorwegianOrganizationNumber', array(),
array('invalid' => '%field% is invalid')),
- 'label' =>
'customer_organization_number'
- ),*/
'vendor_id' => array('action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
'type' => 'int',
'label' => 'vendor',
Modified: branches/dev-syncromind-2/eventplanner/inc/model/class.booking.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/model/class.booking.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/model/class.booking.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -51,6 +51,11 @@
$application_name,
$customer_id,
$customer_name,
+ $customer_contact_name,
+ $customer_contact_email,
+ $customer_contact_phone,
+ $location,
+ $comments,
$created,
$secret;
@@ -148,6 +153,49 @@
'column' => 'name'
)
),
+ 'customer_contact_name' => array(
+ 'action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
+ 'type' => 'string',
+ 'required' => false,
+ 'query' => true,
+ 'label' => 'customer contact name',
+ 'history' => true,
+ ),
+ 'customer_contact_email' => array(
+ 'action'=> PHPGW_ACL_READ |
PHPGW_ACL_ADD | PHPGW_ACL_EDIT,
+ 'type' => 'string',
+ 'required' => false,
+ 'query' => true,
+ 'sf_validator' =>
createObject('booking.sfValidatorEmail', array(), array('invalid' => '%field%
is invalid')),
+ 'label' => 'customer contact email',
+ 'history' => true,
+ ),
+ 'customer_contact_phone' => array(
+ 'action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
+ 'type' => 'string',
+ 'required' => false,
+ 'query' => true,
+ 'label' => 'customer contact phone',
+ 'history' => true,
+ ),
+ 'location' => array(
+ 'action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
+ 'type' => 'string',
+ 'required' => false,
+ 'query' => true,
+ 'label' => 'location',
+ 'history' => true,
+ ),
+ 'comments' => array(
+ 'action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
+ 'type' => 'string',
+ 'manytomany' => array(
+ 'input_field' =>
'comment_input',
+ 'table' =>
'eventplanner_booking_comment',
+ 'key' => 'booking_id',
+ 'column' => array('time',
'author', 'comment', 'type'),
+ 'order' => array('sort' =>
'time', 'dir' => 'ASC')
+ )),
'created' => array('action'=> PHPGW_ACL_READ,
'type' => 'date',
'label' => 'created',
@@ -189,17 +237,26 @@
);
}
- $entity->modified = time();
- $entity->active = (int)$entity->active;
+ if(!$entity->get_id())
+ {
+ $entity->status =
eventplanner_booking::STATUS_REGISTERED;
+ $entity->secret = self::generate_secret();
+ }
- if($entity->get_id())
+ if (empty($entity->completed))
{
+ $entity->completed = 0;
}
- else
+
+ if (!empty($entity->application_id))
{
- $entity->status =
eventplanner_booking::STATUS_REGISTERED;
- $entity->secret = self::generate_secret();
+ $application =
createObject('eventplanner.boapplication')->read_single($entity->application_id);
+ $entity->to_ = $entity->from_ +
((int)$application->timespan * 60);
}
+
+ $entity->modified = time();
+ $entity->active = (int)$entity->active;
+
}
protected function generate_secret( $length = 10 )
Modified:
branches/dev-syncromind-2/eventplanner/inc/model/class.customer.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/model/class.customer.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/model/class.customer.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -125,7 +125,7 @@
'sortable' => false,
),
'name' => array(
- 'action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
+ 'action'=> PHPGW_ACL_READ |
PHPGW_ACL_ADD | PHPGW_ACL_EDIT,
'type' => 'string',
'label' => 'name',
'required' => true,
@@ -137,7 +137,7 @@
),
'address_2' => array('action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
'type' => 'string',
- 'required' => true),
+ 'required' => false),
'zip_code' => array('action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
'type' => 'string',
'required' => true),
@@ -247,6 +247,10 @@
'type' => 'comment'
);
}
+ if (!empty($entity->customer_organization_number))
+ {
+ $entity->customer_organization_number =
str_replace(' ', '', $entity->customer_organization_number);
+ }
$entity->modified = time();
$entity->active = (int)$entity->active;
Modified: branches/dev-syncromind-2/eventplanner/inc/model/class.vendor.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/model/class.vendor.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/inc/model/class.vendor.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -125,7 +125,7 @@
'sortable' => false,
),
'name' => array(
- 'action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
+ 'action'=> PHPGW_ACL_READ |
PHPGW_ACL_ADD | PHPGW_ACL_EDIT,
'type' => 'string',
'label' => 'name',
'required' => true,
@@ -137,7 +137,7 @@
),
'address_2' => array('action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
'type' => 'string',
- 'required' => true),
+ 'required' => false),
'zip_code' => array('action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
'type' => 'string',
'required' => true),
Modified:
branches/dev-syncromind-2/eventplanner/inc/model/class.vendor_report.inc.php
===================================================================
---
branches/dev-syncromind-2/eventplanner/inc/model/class.vendor_report.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/eventplanner/inc/model/class.vendor_report.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -26,7 +26,6 @@
* @subpackage vendor_report
* @version $Id: $
*/
-
phpgw::import_class('eventplanner.bovendor_report');
include_class('phpgwapi', 'model', 'inc/model/');
@@ -34,19 +33,15 @@
class eventplanner_vendor_report extends phpgwapi_model
{
- const STATUS_REGISTERED = 1;
- const STATUS_PENDING = 2;
- const STATUS_REJECTED = 3;
- const STATUS_APPROVED = 4;
const acl_location = '.vendor_report';
protected
$id,
+ $booking_id,
+ $booking_location,
$created,
$json_representation;
-
static $custom_fields = array();
-
protected $field_of_responsibility_name = '.vendor_report';
public function __construct( int $id = null )
@@ -65,16 +60,6 @@
return new eventplanner_vendor_report();
}
- public static function get_status_list()
- {
- return array(
- self::STATUS_REGISTERED => lang('registered'),
- self::STATUS_PENDING => lang('pending'),
- self::STATUS_REJECTED => lang('rejected'),
- self::STATUS_APPROVED => lang('approved')
- );
- }
-
public function set_custom_fields()
{
$this->custom_fields =
$GLOBALS['phpgw']->custom_fields->find('eventplanner', self::acl_location, 0,
'', 'ASC', 'attrib_sort', true, true);
@@ -82,7 +67,7 @@
public function get_custom_fields()
{
- if(! $this->custom_fields)
+ if (!$this->custom_fields)
{
$this->set_custom_fields();
}
@@ -91,43 +76,58 @@
public function get_organized_fields()
{
- if(! $this->custom_fields)
+ if (!$this->custom_fields)
{
$this->custom_fields =
createObject('booking.custom_fields',
'eventplanner')->get_organized_fields(self::acl_location);
}
return $this->custom_fields;
}
-
- public static function get_fields($debug = true)
+ public static function get_fields( $debug = true )
{
- $fields = array(
- 'id' => array('action'=> PHPGW_ACL_READ,
+ $fields = array(
+ 'id' => array('action' => PHPGW_ACL_READ,
'type' => 'int',
'label' => 'id',
- 'sortable'=> true,
+ 'sortable' => true,
'formatter' =>
'JqueryPortico.formatLink',
- ),
- 'created' => array('action'=> PHPGW_ACL_READ |
PHPGW_ACL_ADD,
+ ),
+ 'booking_id' => array('action' => PHPGW_ACL_ADD
| PHPGW_ACL_EDIT,
+ 'type' => 'int',
+ 'label' => 'booking',
+ 'sortable' => true,
+ 'required' => true,
+ ),
+ 'booking_location' => array('action' =>
PHPGW_ACL_READ,
+ 'type' => 'string',
+ 'query' => true,
+ 'label' => 'location',
+ 'join' => array(
+ 'table' =>
'eventplanner_booking',
+ 'fkey' => 'booking_id',
+ 'key' => 'id',
+ 'column' => 'location'
+ )
+ ),
+ 'created' => array('action' => PHPGW_ACL_READ |
PHPGW_ACL_ADD,
'type' => 'date',
'label' => 'created',
'sortable' => true,
- ),
- 'json_representation' => array('action'=>
PHPGW_ACL_ADD | PHPGW_ACL_EDIT,
- 'type' => 'jsonb',
+ ),
+ 'json_representation' => array('action' =>
PHPGW_ACL_ADD | PHPGW_ACL_EDIT,
+ 'type' => 'json',
'sortable' => false,
- ),
+ ),
);
- if($debug)
+ if ($debug)
{
foreach ($fields as $field => $field_info)
{
-
if(!property_exists('eventplanner_vendor_report', $field))
+ if
(!property_exists('eventplanner_vendor_report', $field))
{
-
phpgwapi_cache::message_set('$'."{$field},", 'error');
+ phpgwapi_cache::message_set('$'
. "{$field},", 'error');
}
-
}
}
return $fields;
@@ -150,7 +150,7 @@
$entity->modified = time();
$entity->active = (int)$entity->active;
- if(!$entity->get_id())
+ if (!$entity->get_id())
{
$entity->created = time();
$entity->owner_id =
$GLOBALS['phpgw_info']['user']['account_id'];
@@ -174,8 +174,8 @@
return
eventplanner_bovendor_report::get_instance()->store($this);
}
- public function read_single($id)
+ public function read_single( $id )
{
return
eventplanner_bovendor_report::get_instance()->read_single($id, true);
}
- }
+ }
\ No newline at end of file
Modified: branches/dev-syncromind-2/eventplanner/js/portico/application.edit.js
===================================================================
--- branches/dev-syncromind-2/eventplanner/js/portico/application.edit.js
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/js/portico/application.edit.js
2016-12-18 19:22:14 UTC (rev 16098)
@@ -1,10 +1,43 @@
+var lang;
var oArgs = {menuaction: 'eventplanner.uivendor.index', organization_number:
true};
var strURL = phpGWLink('index.php', oArgs, true);
JqueryPortico.autocompleteHelper(strURL, 'vendor_name', 'vendor_id',
'vendor_container', 'name');
+validate_submit = function ()
+{
+ var active_tab = $("#active_tab").val();
+ conf = {
+ // modules: 'date, security, file',
+ validateOnBlur: false,
+ scrollToTopOnError: true,
+ errorMessagePosition: 'top'
+ // language: validateLanguage
+ };
+
+ var test = $('form').isValid(false, conf);
+ if (!test)
+ {
+ return;
+ }
+
+ if (active_tab === 'first_tab')
+ {
+ $('#tab-content').responsiveTabs('activate', 1);
+ $("#save_button").val(lang['save']);
+ $("#save_button_bottom").val(lang['save']);
+ $("#active_tab").val('demands');
+ }
+ else
+ {
+ document.form.submit();
+ }
+};
+
$(document).ready(function ()
{
+ check_button_names();
+
$("#number_of_units").change(function ()
{
calculate_total_amount();
@@ -52,16 +85,15 @@
$("#to_").val($("#from_").val());
});
- var width = 200;
$("#submitbox").css({
position: 'absolute',
right: '10px',
border: '1px solid #B5076D',
padding: '0 5px 5px 5px',
- width: width + 'px',
+ width: $("#submitbox").width() + 'px',
"background - color": '#FFF',
- display: "block",
+ display: "block"
});
var offset = $("#submitbox").offset();
@@ -108,24 +140,39 @@
});
-function set_tab(tab)
+check_button_names = function ()
{
- $("#active_tab").val(tab);
+ var tab = $("#active_tab").val();
if (tab === 'calendar')
{
$("#floating-box").hide();
$("#submit_group_bottom").hide();
}
+ else if (tab === 'first_tab')
+ {
+ $("#save_button").val(lang['next']);
+ $("#save_button_bottom").val(lang['next']);
+ $("#floating-box").show();
+ $("#submit_group_bottom").show();
+ }
else
{
+ $("#save_button").val(lang['save']);
+ $("#save_button_bottom").val(lang['save']);
$("#floating-box").show();
$("#submit_group_bottom").show();
}
+};
+
+function set_tab(tab)
+{
+ $("#active_tab").val(tab);
+ check_button_names();
}
function calculate_total_amount()
{
- var total_amount = 0
+ var total_amount = 0;
var number_of_units = $("#number_of_units").val();
var charge_per_unit = $("#charge_per_unit").val();
@@ -139,7 +186,7 @@
function calculate_stage_size()
{
- var total_size = 0
+ var total_size = 0;
var stage_width = $("#stage_width").val();
var stage_depth = $("#stage_depth").val();
@@ -153,6 +200,12 @@
add_booking = function ()
{
+ var from_ = $("#from_").val();
+ if (!from_)
+ {
+ return;
+ }
+
oArgs = {
menuaction: 'eventplanner.uibooking.save_ajax',
application_id: $("#application_id").val()
@@ -161,41 +214,76 @@
var requestUrl = phpGWLink('index.php', oArgs, true);
var htmlString = '';
$("#receipt").html("");
+ var data = {from_: from_, active: 1};
- $.ajax({
- type: 'POST',
- dataType: 'json',
- data: {from_: $("#from_").val(), to_: $("#to_").val(), active:
1},
- url: requestUrl,
- success: function (data)
+ JqueryPortico.execute_ajax(requestUrl,
+ function (result)
{
- if (data != null)
+ if (result.status_kode === 'ok')
{
- if (data.status_kode == 'ok')
- {
- $("#from_").val('');
- $("#to_").val('');
- htmlString += "<div
class=\"msg_good\">";
- }
- else
- {
- htmlString += "<div class=\"error\">";
- }
- htmlString += data.msg;
- htmlString += '</div>';
- $("#receipt").html(htmlString);
+ $("#from_").val('');
+ htmlString += "<div class=\"msg_good\">";
}
- }
- });
- JqueryPortico.updateinlineTableHelper('datatable-container_1');
+ else
+ {
+ htmlString += "<div class=\"error\">";
+ }
+ htmlString += result.msg;
+ htmlString += '</div>';
+ $("#receipt").html(htmlString);
+
+
JqueryPortico.updateinlineTableHelper('datatable-container_1');
+
+ }, data, "POST", "json"
+ );
+
};
+update_schedule = function (id)
+{
+ var from_ = $("#from_").val();
+ if (!from_)
+ {
+ return;
+ }
+ oArgs = {menuaction: 'eventplanner.uibooking.update_schedule'};
+
+ var requestUrl = phpGWLink('index.php', oArgs, true);
+ var htmlString = '';
+ $("#receipt").html("");
+
+ var data = {from_: from_, id: id};
+
+ JqueryPortico.execute_ajax(requestUrl,
+ function (result)
+ {
+ if (result.status_kode === 'ok')
+ {
+ $("#from_").val('');
+ htmlString += "<div class=\"msg_good\">";
+ }
+ else
+ {
+ htmlString += "<div class=\"error\">";
+ }
+ htmlString += result.msg;
+ htmlString += '</div>';
+ $("#receipt").html(htmlString);
+
+
JqueryPortico.updateinlineTableHelper('datatable-container_1');
+
+ }, data, "POST", "json"
+ );
+
+};
+
this.onActionsClick = function (action)
{
$("#receipt").html("");
if (action === 'add')
{
add_booking();
+ return;
}
var api = $('#datatable-container_1').dataTable().api();
@@ -213,45 +301,49 @@
{
var aData = selected[n];
ids.push(aData['id']);
+
+ if (action === 'edit')
+ {
+ if (numSelected > 1)
+ {
+ alert('There must be only one...');
+ return false;
+ }
+ update_schedule(aData['id']);
+ return;
+ }
}
if (ids.length > 0)
{
- var data = {"ids": ids, "action": action, from_:
$("#from_").val(), to_: $("#to_").val()};
+ var data = {"ids": ids, "action": action, from_:
$("#from_").val()};
- oArgs = {
- menuaction: 'eventplanner.uibooking.update',
- application_id: $("#application_id").val()
- };
+ oArgs = {menuaction:
'eventplanner.uibooking.update_active_status'};
var requestUrl = phpGWLink('index.php', oArgs, true);
- $.ajax({
- type: 'POST',
- dataType: 'json',
- url: requestUrl,
- data: data,
- success: function (data)
+ var htmlString = '';
+ $("#receipt").html("");
+
+ JqueryPortico.execute_ajax(requestUrl,
+ function (result)
{
- if (data != null)
+ if (result.status_kode === 'ok')
{
- if (data.status_kode == 'ok')
- {
- $("#from_").val('');
- $("#to_").val('');
- htmlString += "<div
class=\"msg_good\">";
- }
- else
- {
- htmlString += "<div
class=\"error\">";
- }
- htmlString += data.msg;
- htmlString += '</div>';
- $("#receipt").html(htmlString);
+ $("#from_").val('');
+ htmlString += "<div
class=\"msg_good\">";
}
- }
- });
+ else
+ {
+ htmlString += "<div class=\"error\">";
+ }
+ htmlString += result.msg;
+ htmlString += '</div>';
+ $("#receipt").html(htmlString);
- JqueryPortico.updateinlineTableHelper('datatable-container_4');
+
JqueryPortico.updateinlineTableHelper('datatable-container_1');
+
+ }, data, "POST", "json"
+ );
}
};
Copied: branches/dev-syncromind-2/eventplanner/js/portico/booking.edit.js (from
rev 16097, trunk/eventplanner/js/portico/booking.edit.js)
===================================================================
--- branches/dev-syncromind-2/eventplanner/js/portico/booking.edit.js
(rev 0)
+++ branches/dev-syncromind-2/eventplanner/js/portico/booking.edit.js
2016-12-18 19:22:14 UTC (rev 16098)
@@ -0,0 +1,190 @@
+var customer_id_selection;
+var lang;
+var oArgs = {menuaction: 'eventplanner.uicustomer.index', organization_number:
true};
+var strURL = phpGWLink('index.php', oArgs, true);
+JqueryPortico.autocompleteHelper(strURL, 'customer_name', 'customer_id',
'customer_container', 'name');
+
+$(window).on('load', function ()
+{
+ customer_id = $('#customer_id').val();
+ if (customer_id)
+ {
+ customer_id_selection = customer_id;
+ }
+ $("#customer_name").on("autocompleteselect", function (event, ui)
+ {
+ var customer_id = ui.item.value;
+ if (customer_id != customer_id_selection)
+ {
+ populateCustomerContact(customer_id);
+ }
+ });
+});
+
+function populateCustomerContact(customer_id)
+{
+ customer_id = customer_id || $('#customer_id').val();
+
+ if (!customer_id)
+ {
+ return;
+ }
+ oArgs = {
+ menuaction: 'eventplanner.uicustomer.get',
+ id: customer_id
+ };
+
+ var requestUrl = phpGWLink('index.php', oArgs, true);
+ var data = {};
+
+ JqueryPortico.execute_ajax(requestUrl,
+ function (result)
+ {
+ $("#customer_contact_name").val(result.contact_name);
+ $("#customer_contact_email").val(result.contact_email);
+ $("#customer_contact_phone").val(result.contact_phone);
+
+ var location = result.address_1;
+ if (result.address_2)
+ {
+ location += "\n" + result.address_2;
+ }
+ location += "\n" + result.zip_code;
+ location += ' ' + result.city;
+ $("#location").val(location);
+
+ }, data, "POST", "json"
+ );
+}
+
+function set_tab(tab)
+{
+ $("#active_tab").val(tab);
+ if (tab === 'reports')
+ {
+ $("#floating-box").hide();
+ $("#submit_group_bottom").hide();
+ }
+ else
+ {
+ $("#floating-box").show();
+ $("#submit_group_bottom").show();
+ }
+}
+
+add_report = function (type)
+{
+ var oArgs;
+ var win;
+ var booking_id = $("#booking_id").val();
+ if (type === 'vendor')
+ {
+ oArgs = {
+ menuaction: 'eventplanner.uivendor_report.add',
+ booking_id: booking_id
+ };
+
+ var requestUrl = phpGWLink('index.php', oArgs);
+ win = window.open(requestUrl, '_blank');
+ win.focus();
+
+ }
+ else if (type === 'customer')
+ {
+ oArgs = {
+ menuaction: 'eventplanner.uicustomer_report.add',
+ booking_id: booking_id
+ };
+
+ var requestUrl = phpGWLink('index.php', oArgs);
+ win = window.open(requestUrl, '_blank');
+ win.focus();
+
+ }
+
+};
+validate_submit = function ()
+{
+// var active_tab = $("#active_tab").val();
+ conf = {
+ validateOnBlur: false,
+ scrollToTopOnError: true,
+ errorMessagePosition: 'top'
+ };
+
+ var test = $('form').isValid(false, conf);
+ if (!test)
+ {
+ return;
+ }
+
+ document.form.submit();
+
+};
+
+
+$(document).ready(function ()
+{
+
+ $("#submitbox").css({
+ position: 'absolute',
+ right: '10px',
+ border: '1px solid #B5076D',
+ padding: '0 5px 5px 5px',
+ width: $("#submitbox").width() + 'px',
+ "background - color": '#FFF',
+ display: "block"
+ });
+ var tab = $("#active_tab").val();
+ if (tab === 'reports')
+ {
+ $("#floating-box").hide();
+ $("#submit_group_bottom").hide();
+ }
+ else
+ {
+ $("#floating-box").show();
+ $("#submit_group_bottom").show();
+ }
+
+ var offset = $("#submitbox").offset();
+ var topPadding = 180;
+
+ if ($("#center_content").length === 1)
+ {
+ $("#center_content").scroll(function ()
+ {
+ if ($("#center_content").scrollTop() > offset.top)
+ {
+ $("#submitbox").stop().animate({
+ marginTop:
$("#center_content").scrollTop() - offset.top + topPadding
+ }, 100);
+ }
+ else
+ {
+ $("#submitbox").stop().animate({
+ marginTop: 0
+ }, 100);
+ }
+ });
+ }
+ else
+ {
+ $(window).scroll(function ()
+ {
+ if ($(window).scrollTop() > offset.top)
+ {
+ $("#submitbox").stop().animate({
+ marginTop: $(window).scrollTop() -
offset.top + topPadding
+ }, 100);
+ }
+ else
+ {
+ $("#submitbox").stop().animate({
+ marginTop: 0
+ }, 100);
+ }
+ ;
+ });
+ }
+});
\ No newline at end of file
Deleted: branches/dev-syncromind-2/eventplanner/js/portico/demo.edit.js
===================================================================
--- branches/dev-syncromind-2/eventplanner/js/portico/demo.edit.js
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/js/portico/demo.edit.js
2016-12-18 19:22:14 UTC (rev 16098)
@@ -1,64 +0,0 @@
-var myDataSource, myDataTable, myContextMenu;
-var tableYUI;
-var myPaginator_0;
-var myDataTable_0;
-
-
-/********************************************************************************
- *
- */
-this.addFooterDatatable = function (paginator, datatable)
-{
- //call getSumPerPage(name of column) in property.js
- tmp_sum1 = getSumPerPage('budget', 2, paginator, datatable);
- tmp_sum2 = getSumPerPage('calculation', 2, paginator, datatable);
-
- if (typeof (tableYUI) == 'undefined')
- {
- tableYUI = YAHOO.util.Dom.getElementsByClassName("yui-dt-data",
"tbody")[0].parentNode;
- tableYUI.setAttribute("id", "tableYUI");
- }
- else
- {
- tableYUI.deleteTFoot();
- }
-
- //Create ROW
- newTR = document.createElement('tr');
-
- td_sum('Sum');
- td_sum(tmp_sum1);
- td_sum(tmp_sum2);
- td_empty(3);
-
- myfoot = tableYUI.createTFoot();
- myfoot.setAttribute("id", "myfoot");
- myfoot.appendChild(newTR);
-}
-
-/********************************************************************************/
-var FormatterCenter = function (elCell, oRecord, oColumn, oData)
-{
- elCell.innerHTML = "<center>" + oData + "</center>";
-}
-
-var FormatterRight = function (elCell, oRecord, oColumn, oData)
-{
- elCell.innerHTML = "<div align=\"right\">" +
YAHOO.util.Number.format(oData, {thousandsSeparator: " "}) + "</div>";
-}
-
-/********************************************************************************/
-YAHOO.util.Event.addListener(window, "load", function ()
-{
- var loader = new YAHOO.util.YUILoader();
- loader.addModule({
- name: "anyone",
- type: "js",
- fullpath: property_js
- });
-
- loader.require("anyone");
- loader.insert();
-});
-
-
Deleted: branches/dev-syncromind-2/eventplanner/js/portico/demo.index.js
===================================================================
--- branches/dev-syncromind-2/eventplanner/js/portico/demo.index.js
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/js/portico/demo.index.js
2016-12-18 19:22:14 UTC (rev 16098)
@@ -1,77 +0,0 @@
-//--------------------------------------------------------
-// Declaration of location.index vars
-//--------------------------------------------------------
-// define buttons
-var oMenuButton_0;
-var selectsButtons = [
- {order: 0, var_URL: 'cat_id', name: 'btn_cat_id', style:
'categorybutton', dependiente: [
- ]}
-];
-
-
-var oNormalButton_0, oNormalButton_1, oNormalButton_2, oNormalButton_3;
-var normalButtons = [
- {order: 0, name: 'btn_search', funct: "onSearchClick"},
- {order: 1, name: 'btn_new', funct: "onNewClick"},
- {order: 2, name: 'btn_done', funct: "onDoneClick"},
- {order: 3, name: 'btn_export', funct: "onDownloadClick"}
-];
-
-// define Text buttons
-var textImput = [
- {order: 0, name: 'query', id: 'txt_query'}
-];
-
-var toolTips =
-[
- {name: 'btn_export', title: 'download', description: 'Download table to
your browser', ColumnDescription: ''}
-]
-
-// define the hidden column in datatable
-var config_values =
-{
- date_search: 0, //if search has link "Data search"
- particular_done: "property.uilocation.index"
-}
-
-/********************************************************************************/
-var FormatterRight = function (elCell, oRecord, oColumn, oData)
-{
- elCell.innerHTML = "<div align=\"right\">" + oData + "</div>";
-}
-
-/****************************************************************************************/
-this.particular_setting = function ()
-{
- if (flag_particular_setting == 'init')
- {
- }
- else if (flag_particular_setting == 'update')
- {
- }
-}
-/****************************************************************************************/
-
-this.myParticularRenderEvent = function ()
-{
- //don't delete it
- document.getElementById('txt_query').focus();
-}
-/****************************************************************************************/
-YAHOO.util.Event.addListener(window, "load", function ()
-{
- YAHOO.util.Dom.getElementsByClassName('toolbar',
'div')[0].style.display = 'none';
-
- var loader = new YAHOO.util.YUILoader();
- loader.addModule({
- name: "anyone", //module name; must be unique
- type: "js", //can be "js" or "css"
- fullpath: property_js //'property_js' have the path for
property.js, is render in HTML
- });
-
- loader.require("anyone");
-
- //Insert JSON utility on the page
-
- loader.insert();
-});
Modified: branches/dev-syncromind-2/eventplanner/setup/default_records.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/setup/default_records.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/setup/default_records.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -21,6 +21,6 @@
$GLOBALS['phpgw']->locations->add('.customer', 'customer',
'eventplanner', $allow_grant = true, $custom_tbl = '', $c_function = true);
$GLOBALS['phpgw']->locations->add('.vendor', 'vendor', 'eventplanner',
$allow_grant = true, $custom_tbl = '', $c_function = true);
$GLOBALS['phpgw']->locations->add('.booking', 'booking',
'eventplanner', $allow_grant = true, $custom_tbl = '', $c_function = true);
- $GLOBALS['phpgw']->locations->add('.vendor_report', 'vendor_report',
'eventplanner', $allow_grant = true, $custom_tbl = '', $c_function = true);
- $GLOBALS['phpgw']->locations->add('.customer_report',
'customer_report', 'eventplanner', $allow_grant = true, $custom_tbl = '',
$c_function = true);
+ $GLOBALS['phpgw']->locations->add('.vendor_report', 'vendor_report',
'eventplanner', $allow_grant = true, $custom_tbl = '', $c_function = true,
$c_attrib = true);
+ $GLOBALS['phpgw']->locations->add('.customer_report',
'customer_report', 'eventplanner', $allow_grant = true, $custom_tbl = '',
$c_function = true, $c_attrib = true);
Modified: branches/dev-syncromind-2/eventplanner/setup/phpgw_no.lang
===================================================================
--- branches/dev-syncromind-2/eventplanner/setup/phpgw_no.lang 2016-12-18
13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/setup/phpgw_no.lang 2016-12-18
19:22:14 UTC (rev 16098)
@@ -50,7 +50,8 @@
field %1 is required eventplanner no Feltet %1 er påkrevd
please select a category ! eventplanner no Velg en kategori
title eventplanner no Programtittel
-description eventplanner no Omtale av program
+description eventplanner no Beskrivelse
+application description eventplanner no Omtale av program
might be published eventplanner no Kan bli publisert på internett
other participants eventplanner no Navn på andre medvirkende (+
rolle)
arena requirement eventplanner no Krav til lokale
@@ -61,4 +62,13 @@
wardrobe eventplanner no Garderobe
audience limit eventplanner no Maksimum antall publikum
raider eventplanner no Raider
-vendor report eventplanner no Utøverrapport
\ No newline at end of file
+vendor report eventplanner no Utøverrapport
+calendar eventplanner no Kalender
+from eventplanner no Fra
+select all eventplanner no Velg alle
+enable eventplanner no Aktiver
+disable eventplanner no Deaktiver
+reports eventplanner no Rapporter
+location eventplanner no Lokalisering
+who eventplanner no Hvem
+note eventplanner no Merknad
\ No newline at end of file
Modified: branches/dev-syncromind-2/eventplanner/setup/setup.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/setup/setup.inc.php 2016-12-18
13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/setup/setup.inc.php 2016-12-18
19:22:14 UTC (rev 16098)
@@ -11,7 +11,7 @@
* @version $Id: setup.inc.php 14728 2016-02-11 22:28:46Z sigurdne $
*/
$setup_info['eventplanner']['name'] = 'eventplanner';
- $setup_info['eventplanner']['version'] = '0.9.18.001';
+ $setup_info['eventplanner']['version'] = '0.9.18.002';
$setup_info['eventplanner']['app_order'] = 20;
$setup_info['eventplanner']['enable'] = 1;
$setup_info['eventplanner']['app_group'] = 'office';
@@ -58,6 +58,7 @@
'eventplanner_resource',
'eventplanner_resource_comment',
'eventplanner_booking',
+ 'eventplanner_booking_comment',
'eventplanner_booking_cost',
'eventplanner_booking_resource',
'eventplanner_order',
Modified: branches/dev-syncromind-2/eventplanner/setup/tables_current.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/setup/tables_current.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/setup/tables_current.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -26,7 +26,7 @@
'id' => array('type' => 'auto', 'nullable' =>
False),
'name' => array('type' => 'varchar',
'precision' => '255', 'nullable' => False),
'address_1' => array('type' => 'varchar',
'precision' => '255', 'nullable' => False),
- 'address_2' => array('type' => 'varchar',
'precision' => '255', 'nullable' => False),
+ 'address_2' => array('type' => 'varchar',
'precision' => '255', 'nullable' => true),
'zip_code' => array('type' => 'varchar',
'precision' => '10', 'nullable' => False),
'city' => array('type' => 'varchar',
'precision' => '64', 'nullable' => False),
'account_number' => array('type' => 'varchar',
'precision' => '20', 'nullable' => False),
@@ -83,7 +83,7 @@
'id' => array('type' => 'auto', 'nullable' =>
False),
'name' => array('type' => 'varchar',
'precision' => '255', 'nullable' => False),
'address_1' => array('type' => 'varchar',
'precision' => '255', 'nullable' => False),
- 'address_2' => array('type' => 'varchar',
'precision' => '255', 'nullable' => False),
+ 'address_2' => array('type' => 'varchar',
'precision' => '255', 'nullable' => true),
'zip_code' => array('type' => 'varchar',
'precision' => '10', 'nullable' => False),
'city' => array('type' => 'varchar',
'precision' => '64', 'nullable' => False),
'account_number' => array('type' => 'varchar',
'precision' => '20', 'nullable' => False),
@@ -132,7 +132,7 @@
'category_id' => array('type' => 'int',
'precision' => '4', 'nullable' => false),
'vendor_id' => array('type' => 'int',
'precision' => '4', 'nullable' => false),
'active' => array('type' => 'int', 'nullable'
=> False, 'precision' => '4', 'default' => 1),
- 'display_in_dashboard' => array('type' =>
'int', 'nullable' => False, 'precision' => '4','default' => 1),
+ 'display_in_dashboard' => array('type' =>
'int', 'nullable' => True, 'precision' => '4','default' => 1),
'status' => array('type' => 'int', 'nullable'
=> False, 'precision' => 2, 'default' => 1),
'created' => array('type' => 'int', 'precision'
=> '8', 'nullable' => False, 'default' => 'current_timestamp'),
'date_start' => array('type' => 'int',
'precision' => '8', 'nullable' => False),
@@ -269,6 +269,10 @@
'completed' => array('type' => 'int',
'precision' => 4, 'nullable' => False,'default' => '0'),
'cost' => array('type' => 'decimal',
'precision' => 20, 'scale' => 2, 'nullable' => True,'default' => '0.00'),
'application_id' => array('type' => 'int',
'precision' => 4, 'nullable' => True),
+ 'customer_contact_name' => array('type' =>
'text', 'nullable' => True),
+ 'customer_contact_email' => array('type' =>
'text', 'nullable' => True),
+ 'customer_contact_phone' => array('type' =>
'text', 'nullable' => True),
+ 'location' => array('type' => 'text',
'nullable' => True),
'reminder' => array('type' => 'int',
'precision' => 4, 'nullable' => False, 'default' => '0'),
'secret' => array('type' => 'text', 'nullable'
=> False),
'sms_total' => array('type' => 'int',
'precision' => 4, 'nullable' => True),
@@ -282,6 +286,21 @@
'ix' => array(),
'uc' => array()
),
+ 'eventplanner_booking_comment' => array(
+ 'fd' => array(
+ 'id' => array('type' => 'auto', 'nullable' =>
False),
+ 'booking_id' => array('type' => 'int',
'precision' => '4', 'nullable' => False),
+ 'time' => array('type' => 'int', 'precision' =>
'8', 'nullable' => False),
+ 'author' => array('type' => 'text', 'nullable'
=> False),
+ 'comment' => array('type' => 'text', 'nullable'
=> False),
+ 'type' => array('type' => 'varchar',
'precision' => '20', 'nullable' => false,'default' => 'comment'),
+ ),
+ 'pk' => array('id'),
+ 'fk' => array(
+ 'eventplanner_booking' => array('booking_id' =>
'id')),
+ 'ix' => array(),
+ 'uc' => array()
+ ),
'eventplanner_booking_cost' => array(
'fd' => array(
'id' => array('type' => 'auto', 'nullable' =>
False),
Modified: branches/dev-syncromind-2/eventplanner/setup/tables_update.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/setup/tables_update.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/setup/tables_update.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -19,6 +19,24 @@
{
$GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+ $GLOBALS['phpgw_setup']->oProc->CreateTable(
+ 'eventplanner_booking_comment', array(
+ 'fd' => array(
+ 'id' => array('type' => 'auto',
'nullable' => False),
+ 'booking_id' => array('type' =>
'int', 'precision' => '4', 'nullable' => False),
+ 'time' => array('type' =>
'int', 'precision' => '8', 'nullable' => False),
+ 'author' => array('type' =>
'text', 'nullable' => False),
+ 'comment' => array('type' =>
'text', 'nullable' => False),
+ 'type' => array('type' =>
'varchar', 'precision' => '20', 'nullable' => false,'default' => 'comment'),
+ ),
+ 'pk' => array('id'),
+ 'fk' => array(
+ 'eventplanner_booking' =>
array('booking_id' => 'id')),
+ 'ix' => array(),
+ 'uc' => array()
+ )
+ );
+
if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
{
$GLOBALS['setup_info']['eventplanner']['currentver'] =
'0.9.18.002';
Modified: branches/dev-syncromind-2/eventplanner/templates/base/application.xsl
===================================================================
--- branches/dev-syncromind-2/eventplanner/templates/base/application.xsl
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/templates/base/application.xsl
2016-12-18 19:22:14 UTC (rev 16098)
@@ -26,7 +26,8 @@
}
#submitbox {
display: none;
- } </style>
+ }
+ </style>
<xsl:variable name="date_format">
<xsl:value-of select="php:function('get_phpgw_info',
'user|preferences|common|dateformat')" />
</xsl:variable>
@@ -38,7 +39,7 @@
</xsl:variable>
<script type="text/javascript">
- var lang = <xsl:value-of
select="php:function('js_lang', 'Name or company is required')"/>;
+ var lang = <xsl:value-of
select="php:function('js_lang', 'Name or company is required', 'next',
'save')"/>;
</script>
<form id="form" name="form" method="post"
action="{$form_action}" class="pure-form pure-form-aligned">
<div id="tab-content">
@@ -49,15 +50,15 @@
<tbody>
<tr>
<td width="200px">
-
<xsl:variable name="lang_savel">
-
<xsl:value-of select="php:function('lang', 'save')"/>
+
<xsl:variable name="lang_save">
+
<xsl:value-of select="php:function('lang', 'next')"/>
</xsl:variable>
-
<input type="submit" class="pure-button pure-button-primary"
name="save">
+
<input type="button" class="pure-button pure-button-primary"
name="save" id="save_button" onClick="validate_submit();">
<xsl:attribute name="value">
-
<xsl:value-of select="$lang_savel"/>
+
<xsl:value-of select="$lang_save"/>
</xsl:attribute>
<xsl:attribute name="title">
-
<xsl:value-of select="$lang_savel"/>
+
<xsl:value-of select="$lang_save"/>
</xsl:attribute>
</input>
</td>
@@ -116,7 +117,14 @@
<xsl:attribute name="placeholder">
<xsl:value-of select="$lang_vendor"/>
</xsl:attribute>
+
<xsl:attribute name="data-validation">
+
<xsl:text>required</xsl:text>
+
</xsl:attribute>
</input>
+ <xsl:text>
</xsl:text>
+ <a
href="{new_vendor_url}" target="_blank">
+
<xsl:value-of select="php:function('lang', 'new')"/>
+ </a>
<div
id="vendor_container"/>
</div>
<div
class="pure-control-group">
@@ -427,7 +435,7 @@
<label>
<xsl:value-of select="php:function('lang', 'stage')"/>
</label>
- <input
type="text" id="stage_width" name="stage_width"
value="{application/stage_width}">
+ <input
type="text" id="stage_width" name="stage_width"
value="{application/stage_width}" size="2">
<xsl:attribute name="title">
<xsl:value-of select="php:function('lang', 'width')"/>
</xsl:attribute>
@@ -439,7 +447,7 @@
</xsl:attribute>
</input>
<xsl:text> X
</xsl:text>
- <input
type="text" id="stage_depth" name="stage_depth"
value="{application/stage_depth}">
+ <input
type="text" id="stage_depth" name="stage_depth"
value="{application/stage_depth}" size="2">
<xsl:attribute name="data-validation">
<xsl:text>number</xsl:text>
</xsl:attribute>
@@ -451,7 +459,7 @@
</xsl:attribute>
</input>
<xsl:text> M
</xsl:text>
- <input
id="stage_size" type="text" disabled="disabled"/>
+ <input
id="stage_size" type="text" disabled="disabled" size="3"/>
</div>
<div
class="pure-control-group">
<label>
@@ -475,19 +483,18 @@
<label>
<xsl:value-of select="php:function('lang', 'audience limit')"/>
</label>
- <input
type="text" id="audience_limit" name="audience_limit"
value="{application/audience_limit}">
+ <input
type="text" id="audience_limit" name="audience_limit"
value="{application/audience_limit}" size="5">
<xsl:attribute name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
<xsl:attribute name="data-validation-error-msg">
-
<xsl:value-of select="php:function('lang', 'audience_limit')"/>
+
<xsl:value-of select="php:function('lang', 'audience limit')"/>
</xsl:attribute>
<xsl:attribute name="placeholder">
<xsl:value-of select="php:function('lang', 'integer')"/>
</xsl:attribute>
</input>
</div>
-
</fieldset>
<fieldset>
<legend>
@@ -707,6 +714,14 @@
<xsl:value-of select="php:function('date', $date_format,
number(application/date_end))"/>
</xsl:if>
</div>
+ <div
class="pure-control-group">
+ <label>
+
<xsl:value-of select="php:function('lang', 'timespan')"/>
+ </label>
+ <xsl:if
test="application/date_end != 0 and application/timespan != ''">
+
<xsl:value-of select="application/timespan"/>
+ </xsl:if>
+ </div>
<div
class="pure-control-group">
<label>
@@ -715,13 +730,13 @@
<input
type="text" id="from_" name="from_" size="16" readonly="readonly">
</input>
</div>
- <div
class="pure-control-group">
+ <!--div
class="pure-control-group">
<label>
<xsl:value-of select="php:function('lang', 'to')"/>
</label>
<input
type="text" id="to_" name="to_" size="16" readonly="readonly">
</input>
- </div>
+ </div-->
<div
class="pure-control-group">
<label>
@@ -742,20 +757,21 @@
</xsl:for-each>
</div>
</div>
-
-
</fieldset>
-
-
-
</div>
</div>
<div id="submit_group_bottom"
class="proplist-col">
- <input type="submit" class="pure-button
pure-button-primary" name="save">
+ <xsl:variable name="lang_save">
+ <xsl:value-of
select="php:function('lang', 'next')"/>
+ </xsl:variable>
+ <input type="button" class="pure-button
pure-button-primary" name="save" id="save_button_bottom"
onClick="validate_submit();">
<xsl:attribute name="value">
- <xsl:value-of
select="php:function('lang', 'save')"/>
+ <xsl:value-of
select="$lang_save"/>
</xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:value-of
select="$lang_save"/>
+ </xsl:attribute>
</input>
<xsl:variable name="cancel_url">
<xsl:value-of
select="cancel_url"/>
Copied:
branches/dev-syncromind-2/eventplanner/templates/base/application_info.xsl
(from rev 16097, trunk/eventplanner/templates/base/application_info.xsl)
===================================================================
--- branches/dev-syncromind-2/eventplanner/templates/base/application_info.xsl
(rev 0)
+++ branches/dev-syncromind-2/eventplanner/templates/base/application_info.xsl
2016-12-18 19:22:14 UTC (rev 16098)
@@ -0,0 +1,79 @@
+
+<xsl:template name="application_info" xmlns:php="http://php.net/xsl">
+ <xsl:param name="application" />
+ <xsl:param name="application_type_list" />
+
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of select="php:function('lang', 'vendor')"/>
+ </label>
+ <xsl:value-of select="application/vendor_name"/>
+ </div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of select="php:function('lang',
'application')"/>
+ </label>
+ <xsl:value-of select="application/title"/>
+ </div>
+
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of select="php:function('lang', 'remark')"/>
+ </label>
+ <xsl:value-of select="application/remark"/>
+ </div>
+
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of select="php:function('lang', 'contact
name')"/>
+ </label>
+ <xsl:value-of select="application/contact_name"/>
+ </div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of select="php:function('lang', 'contact
email')"/>
+ </label>
+ <xsl:value-of select="application/contact_email"/>
+ </div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of select="php:function('lang', 'contact
phone')"/>
+ </label>
+ <xsl:value-of select="application/contact_phone"/>
+
+ </div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of select="php:function('lang', 'type')"/>
+ </label>
+ <div class="pure-custom">
+ <table class="pure-table pure-table-bordered"
border="0" cellspacing="2" cellpadding="2">
+ <thead>
+ <tr>
+ <th>
+ <xsl:value-of
select="php:function('lang', 'select')"/>
+ </th>
+ <th>
+ <xsl:value-of
select="php:function('lang', 'type')"/>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <xsl:for-each
select="application_type_list">
+ <tr>
+ <td>
+ <xsl:if
test="selected = 1">
+
<xsl:text>X</xsl:text>
+ </xsl:if>
+ </td>
+ <td>
+ <xsl:value-of
disable-output-escaping="yes" select="name"/>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+</xsl:template>
Modified: branches/dev-syncromind-2/eventplanner/templates/base/booking.xsl
===================================================================
--- branches/dev-syncromind-2/eventplanner/templates/base/booking.xsl
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/templates/base/booking.xsl
2016-12-18 19:22:14 UTC (rev 16098)
@@ -14,8 +14,18 @@
<!-- add / edit -->
<xsl:template xmlns:php="http://php.net/xsl" match="edit">
+ <style type="text/css">
+ #floating-box {
+ position: relative;
+ z-index: 1000;
+ }
+ #submitbox {
+ display: none;
+ }
+ </style>
<xsl:variable name="date_format">
<xsl:value-of select="php:function('get_phpgw_info',
'user|preferences|common|dateformat')" />
+ <xsl:text> H:i</xsl:text>
</xsl:variable>
<xsl:variable name="form_action">
<xsl:value-of select="form_action"/>
@@ -24,135 +34,201 @@
<xsl:value-of select="mode"/>
</xsl:variable>
- <div>
+ <div class="content">
<script type="text/javascript">
- var lang = <xsl:value-of
select="php:function('js_lang', 'Name or company is required')"/>;
+ var lang = <xsl:value-of
select="php:function('js_lang', 'Name or company is required', 'customer')"/>;
</script>
<form id="form" name="form" method="post"
action="{$form_action}" class="pure-form pure-form-aligned">
<div id="tab-content">
<xsl:value-of disable-output-escaping="yes"
select="tabs"/>
+ <div id="floating-box">
+ <div id="submitbox">
+ <table width="200px">
+ <tbody>
+ <tr>
+ <td
width="200px">
+
<xsl:variable name="lang_save">
+
<xsl:value-of select="php:function('lang', 'save')"/>
+
</xsl:variable>
+
<input type="button" class="pure-button pure-button-primary" name="save"
id="save_button" onClick="validate_submit();">
+
<xsl:attribute name="value">
+
<xsl:value-of select="$lang_save"/>
+
</xsl:attribute>
+
<xsl:attribute name="title">
+
<xsl:value-of select="$lang_save"/>
+
</xsl:attribute>
+
</input>
+ </td>
+ <td>
+
<xsl:variable name="lang_cancel">
+
<xsl:value-of select="php:function('lang', 'cancel')"/>
+
</xsl:variable>
+
<input type="button" class="pure-button pure-button-primary" name="done"
value="{$lang_cancel}" onClick="window.location = '{cancel_url}';">
+
<xsl:attribute name="title">
+
<xsl:value-of select="php:function('lang', 'Back to the ticket
list')"/>
+
</xsl:attribute>
+
</input>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
<input type="hidden" id="active_tab"
name="active_tab" value="{value_active_tab}"/>
<div id="first_tab">
+ <xsl:if test="booking/id > 0">
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'id')"/>
+ </label>
+ <input type="hidden"
id="booking_id" name="id" value="{booking/id}"/>
+ <input type="hidden"
name="application_id" value="{booking/application_id}"/>
+ <xsl:value-of
select="booking/id"/>
+ </div>
+ </xsl:if>
<fieldset>
- <xsl:if test="booking/id > 0">
- <div
class="pure-control-group">
- <label>
-
<xsl:value-of select="php:function('lang', 'id')"/>
- </label>
- <input
type="hidden" name="id" value="{booking/id}"/>
- <xsl:value-of
select="booking/id"/>
- </div>
- </xsl:if>
+ <legend>
+ <xsl:value-of
select="php:function('lang', 'vendor')"/>
+ </legend>
<div class="pure-control-group">
<label>
- <xsl:value-of
select="php:function('lang', 'active')"/>
+ <xsl:value-of
select="php:function('lang', 'vendor')"/>
</label>
- <input type="checkbox"
name="active" id="active" value="1">
- <xsl:if
test="booking/active = 1">
-
<xsl:attribute name="checked" value="checked"/>
- </xsl:if>
- </input>
+ <xsl:value-of
select="application/vendor_name"/>
</div>
<div class="pure-control-group">
- <xsl:variable
name="lang_category">
- <xsl:value-of
select="php:function('lang', 'category')"/>
- </xsl:variable>
<label>
- <xsl:value-of
select="$lang_category"/>
+ <a
href="{application_url}" target="_blank">
+
<xsl:value-of select="php:function('lang', 'application')"/>
+ </a>
+
</label>
- <select
name="category_id">
- <xsl:attribute
name="title">
-
<xsl:value-of select="$lang_category"/>
- </xsl:attribute>
- <xsl:attribute
name="data-validation">
-
<xsl:text>required</xsl:text>
- </xsl:attribute>
- <xsl:attribute
name="data-validation-error-msg">
-
<xsl:value-of select="$lang_category"/>
- </xsl:attribute>
-
<xsl:apply-templates select="category_list/options"/>
- </select>
+ <xsl:value-of
select="booking/application_name"/>
</div>
+
<div class="pure-control-group">
<label>
- <xsl:value-of
select="php:function('lang', 'name')"/>
+ <xsl:value-of
select="php:function('lang', 'remark')"/>
</label>
- <input type="text"
name="name" value="{booking/name}">
- <xsl:attribute
name="data-validation">
-
<xsl:text>required</xsl:text>
- </xsl:attribute>
- <xsl:attribute
name="placeholder">
-
<xsl:value-of select="php:function('lang', 'name')"/>
- </xsl:attribute>
- </input>
+ <xsl:value-of
select="application/remark"/>
</div>
+
<div class="pure-control-group">
- <xsl:variable
name="lang_address_1">
- <xsl:value-of
select="php:function('lang', 'address_1')"/>
- </xsl:variable>
- <xsl:variable
name="lang_address_2">
- <xsl:value-of
select="php:function('lang', 'address_2')"/>
- </xsl:variable>
<label>
- <xsl:value-of
select="php:function('lang', 'address')"/>
+ <xsl:value-of
select="php:function('lang', 'contact name')"/>
</label>
- <input type="text"
name="address_1" value="{booking/address_1}">
- <xsl:attribute
name="data-validation">
-
<xsl:text>required</xsl:text>
- </xsl:attribute>
- <xsl:attribute
name="placeholder">
-
<xsl:value-of select="$lang_address_1"/>
- </xsl:attribute>
+ <xsl:value-of
select="application/contact_name"/>
+ </div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'contact email')"/>
+ </label>
+ <xsl:value-of
select="application/contact_email"/>
+ </div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'contact phone')"/>
+ </label>
+ <xsl:value-of
select="application/contact_phone"/>
- </input>
- <input type="text"
name="address_2" value="{booking/address_2}">
- <xsl:attribute
name="data-validation">
-
<xsl:text>required</xsl:text>
- </xsl:attribute>
- <xsl:attribute
name="placeholder">
-
<xsl:value-of select="$lang_address_2"/>
- </xsl:attribute>
- </input>
</div>
<div class="pure-control-group">
<label>
- <xsl:value-of
select="php:function('lang', 'postal_code_place')"/>
+ <xsl:value-of
select="php:function('lang', 'type')"/>
</label>
- <input type="text"
name="zip_code" value="{booking/zip_code}">
+ <div
class="pure-custom">
+ <table
class="pure-table pure-table-bordered" border="0" cellspacing="2"
cellpadding="2">
+ <thead>
+
<tr>
+
<th>
+
<xsl:value-of select="php:function('lang', 'select')"/>
+
</th>
+
<th>
+
<xsl:value-of select="php:function('lang', 'type')"/>
+
</th>
+
</tr>
+ </thead>
+ <tbody>
+
<xsl:for-each select="application_type_list">
+
<tr>
+
<td>
+
<xsl:if test="selected = 1">
+
<xsl:text>X</xsl:text>
+
</xsl:if>
+
</td>
+
<td>
+
<xsl:value-of disable-output-escaping="yes"
select="name"/>
+
</td>
+
</tr>
+
</xsl:for-each>
+ </tbody>
+ </table>
+ </div>
+
+ </div>
+
+
+
+
+ </fieldset>
+
+ <fieldset>
+
+ <legend>
+ <xsl:value-of
select="php:function('lang', 'customer')"/>
+ </legend>
+
+ <div class="pure-control-group">
+ <xsl:variable
name="lang_customer">
+ <xsl:value-of
select="php:function('lang', 'customer')"/>
+ </xsl:variable>
+ <label>
+ <xsl:choose>
+
<xsl:when test="booking/customer_id > 0">
+
<div id="customer_url">
+
<a href="{customer_url}" target="_blank">
+
<xsl:value-of select="$lang_customer"/>
+
</a>
+
</div>
+
</xsl:when>
+
<xsl:otherwise>
+
<div id="customer_url">
+
<xsl:value-of select="$lang_customer"/>
+
</div>
+
</xsl:otherwise>
+ </xsl:choose>
+ </label>
+ <input type="hidden"
id="customer_id" name="customer_id" value="{booking/customer_id}">
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
+ <xsl:attribute
name="data-validation-error-msg">
+
<xsl:value-of select="$lang_customer"/>
+ </xsl:attribute>
<xsl:attribute
name="placeholder">
-
<xsl:value-of select="php:function('lang', 'zip_code')"/>
+
<xsl:value-of select="$lang_customer"/>
</xsl:attribute>
</input>
- <input type="text"
name="city" value="{booking/city}">
- <xsl:attribute
name="data-validation">
-
<xsl:text>required</xsl:text>
- </xsl:attribute>
+ <input type="text"
id="customer_name" name="customer_name" value="{booking/customer_name}">
<xsl:attribute
name="placeholder">
-
<xsl:value-of select="php:function('lang', 'city')"/>
+
<xsl:value-of select="$lang_customer"/>
</xsl:attribute>
- </input>
- </div>
- <div class="pure-control-group">
- <label>
- <xsl:value-of
select="php:function('lang', 'booking_organization_number')"/>
- </label>
- <input type="text"
id="lastname" name="booking_organization_number"
value="{booking/booking_organization_number}">
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
- <xsl:attribute
name="placeholder">
-
<xsl:value-of select="php:function('lang', 'booking_organization_number')"/>
- </xsl:attribute>
</input>
+ <xsl:text> </xsl:text>
+ <a
href="{new_customer_url}" target="_blank">
+ <xsl:value-of
select="php:function('lang', 'new')"/>
+ </a>
+ <div
id="customer_container"/>
</div>
+
<div class="pure-control-group">
<label>
<xsl:value-of
select="php:function('lang', 'contact name')"/>
</label>
- <input type="text"
name="contact_name" value="{booking/contact_name}">
+ <input type="text"
id="customer_contact_name" name="customer_contact_name"
value="{booking/customer_contact_name}">
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -165,7 +241,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'email')"/>
</label>
- <input type="text"
name="contact_email" id="contact_email" value="{booking/contact_email}">
+ <input type="text"
id="customer_contact_email" name="customer_contact_email"
value="{booking/customer_contact_email}">
<xsl:attribute
name="data-validation">
<xsl:text>email</xsl:text>
</xsl:attribute>
@@ -186,7 +262,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'contact phone')"/>
</label>
- <input type="text"
name="contact_phone" value="{booking/contact_phone}">
+ <input type="text"
id="customer_contact_phone" name="customer_contact_phone"
value="{booking/customer_contact_phone}">
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -195,25 +271,79 @@
</xsl:attribute>
</input>
</div>
+ </fieldset>
+
+ <fieldset>
+
+ <legend>
+ <xsl:value-of
select="php:function('lang', 'booking')"/>
+ </legend>
+
<div class="pure-control-group">
<label>
- <xsl:value-of
select="php:function('lang', 'account_number')"/>
+ <xsl:value-of
select="php:function('lang', 'active')"/>
</label>
- <input type="text"
name="account_number" value="{booking/account_number}">
+ <input type="checkbox"
name="active" id="active" value="1" readonly="readonly">
+ <xsl:if
test="booking/active = 1">
+
<xsl:attribute name="checked" value="checked"/>
+ </xsl:if>
+ </input>
+ </div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'completed')"/>
+ </label>
+ <input type="checkbox"
name="completed" id="completed" value="1">
+ <xsl:if
test="booking/completed = 1">
+
<xsl:attribute name="checked" value="checked"/>
+ </xsl:if>
+ </input>
+ </div>
+
+ <div class="pure-control-group">
+ <xsl:variable
name="lang_from">
+ <xsl:value-of
select="php:function('lang', 'from')"/>
+ </xsl:variable>
+ <label>
+ <xsl:value-of
select="$lang_from"/>
+ </label>
+ <input type="text"
id="from_" name="from_" size="16" readonly="readonly">
+ <xsl:if
test="booking/from_ != 0 and booking/from_ != ''">
+
<xsl:attribute name="value">
+
<xsl:value-of select="php:function('show_date', number(booking/from_),
$date_format)"/>
+
</xsl:attribute>
+ </xsl:if>
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
- <xsl:attribute
name="placeholder">
-
<xsl:value-of select="php:function('lang', 'account_number')"/>
+ <xsl:attribute
name="data-validation-error-msg">
+
<xsl:value-of select="$lang_from"/>
</xsl:attribute>
</input>
</div>
<div class="pure-control-group">
<label>
- <xsl:value-of
select="php:function('lang', 'description')"/>
+ <xsl:value-of
select="php:function('lang', 'timespan')"/>
</label>
- <textarea cols="47"
rows="7" name="description">
- <xsl:value-of
select="booking/description"/>
+ <xsl:value-of
select="application/timespan"/>
+ </div>
+
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'to')"/>
+ </label>
+ <xsl:value-of
select="php:function('show_date', number(booking/to_), $date_format)"/>
+ </div>
+
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'location')"/>
+ </label>
+ <textarea cols="47"
rows="7" id="location" name="location">
+ <xsl:attribute
name="data-validation">
+
<xsl:text>required</xsl:text>
+ </xsl:attribute>
+ <xsl:value-of
select="booking/location"/>
</textarea>
</div>
<div class="pure-control-group">
@@ -252,9 +382,56 @@
</div>
</fieldset>
</div>
+ <div id="reports">
+ <fieldset>
+ <legend>
+ <xsl:value-of
select="php:function('lang', 'vendor report')"/>
+ </legend>
+ <div class="pure-control-group">
+ <div
class="pure-custom">
+ <xsl:for-each
select="datatable_def">
+ <xsl:if
test="container = 'datatable-container_1'">
+
<xsl:call-template name="table_setup">
+
<xsl:with-param name="container" select ='container'/>
+
<xsl:with-param name="requestUrl" select ='requestUrl'/>
+
<xsl:with-param name="ColumnDefs" select ='ColumnDefs'/>
+
<xsl:with-param name="tabletools" select ='tabletools'/>
+
<xsl:with-param name="data" select ='data'/>
+
<xsl:with-param name="config" select ='config'/>
+
</xsl:call-template>
+
</xsl:if>
+ </xsl:for-each>
+ </div>
+ </div>
+
+ </fieldset>
+ <fieldset>
+ <legend>
+ <xsl:value-of
select="php:function('lang', 'customer report')"/>
+ </legend>
+ <div class="pure-control-group">
+ <div
class="pure-custom">
+ <xsl:for-each
select="datatable_def">
+ <xsl:if
test="container = 'datatable-container_2'">
+
<xsl:call-template name="table_setup">
+
<xsl:with-param name="container" select ='container'/>
+
<xsl:with-param name="requestUrl" select ='requestUrl'/>
+
<xsl:with-param name="ColumnDefs" select ='ColumnDefs'/>
+
<xsl:with-param name="tabletools" select ='tabletools'/>
+
<xsl:with-param name="data" select ='data'/>
+
<xsl:with-param name="config" select ='config'/>
+
</xsl:call-template>
+
</xsl:if>
+ </xsl:for-each>
+ </div>
+ </div>
+
+ </fieldset>
+
+ </div>
</div>
- <div class="proplist-col">
- <input type="submit" class="pure-button
pure-button-primary" name="save">
+ <div id="submit_group_bottom">
+ <input type="button" class="pure-button
pure-button-primary" name="save" onClick="validate_submit();">
<xsl:attribute name="value">
<xsl:value-of
select="php:function('lang', 'save')"/>
</xsl:attribute>
@@ -270,6 +447,7 @@
</div>
</form>
</div>
+
</xsl:template>
<xsl:template match="options">
Modified: branches/dev-syncromind-2/eventplanner/templates/base/customer.xsl
===================================================================
--- branches/dev-syncromind-2/eventplanner/templates/base/customer.xsl
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/templates/base/customer.xsl
2016-12-18 19:22:14 UTC (rev 16098)
@@ -106,9 +106,6 @@
</input>
<input type="text"
name="address_2" value="{customer/address_2}">
- <xsl:attribute
name="data-validation">
-
<xsl:text>required</xsl:text>
- </xsl:attribute>
<xsl:attribute
name="placeholder">
<xsl:value-of select="$lang_address_2"/>
</xsl:attribute>
Modified: branches/dev-syncromind-2/eventplanner/templates/base/vendor.xsl
===================================================================
--- branches/dev-syncromind-2/eventplanner/templates/base/vendor.xsl
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/templates/base/vendor.xsl
2016-12-18 19:22:14 UTC (rev 16098)
@@ -106,9 +106,6 @@
</input>
<input type="text"
name="address_2" value="{vendor/address_2}">
- <xsl:attribute
name="data-validation">
-
<xsl:text>required</xsl:text>
- </xsl:attribute>
<xsl:attribute
name="placeholder">
<xsl:value-of select="$lang_address_2"/>
</xsl:attribute>
@@ -170,7 +167,7 @@
<xsl:text>email</xsl:text>
</xsl:attribute>
<xsl:attribute
name="placeholder">
- <xsl:value-of
select="php:function('lang', 'email')"/>
+
<xsl:value-of select="php:function('lang', 'email')"/>
</xsl:attribute>
</input>
</div>
@@ -213,6 +210,9 @@
<xsl:value-of
select="php:function('lang', 'remark')"/>
</label>
<textarea cols="47"
rows="7" name="remark">
+ <xsl:attribute
name="data-validation">
+
<xsl:text>required</xsl:text>
+ </xsl:attribute>
<xsl:value-of
select="vendor/remark"/>
</textarea>
</div>
Modified:
branches/dev-syncromind-2/eventplanner/templates/base/vendor_report.xsl
===================================================================
--- branches/dev-syncromind-2/eventplanner/templates/base/vendor_report.xsl
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/eventplanner/templates/base/vendor_report.xsl
2016-12-18 19:22:14 UTC (rev 16098)
@@ -16,6 +16,7 @@
<xsl:template xmlns:php="http://php.net/xsl" match="edit">
<xsl:variable name="date_format">
<xsl:value-of select="php:function('get_phpgw_info',
'user|preferences|common|dateformat')" />
+ <xsl:text> H:i</xsl:text>
</xsl:variable>
<xsl:variable name="form_action">
<xsl:value-of select="form_action"/>
@@ -33,16 +34,66 @@
<xsl:value-of disable-output-escaping="yes"
select="tabs"/>
<input type="hidden" id="active_tab"
name="active_tab" value="{value_active_tab}"/>
<div id="first_tab">
+ <xsl:if test="booking/id > 0">
+ <div class="pure-control-group">
+ <label>
+ <a
href="{booking_url}">
+
<xsl:value-of select="php:function('lang', 'booking')"/>
+ </a>
+ </label>
+ <input type="hidden"
name="booking_id" value="{booking/id}"/>
+ <xsl:value-of
select="booking/id"/>
+ </div>
+ </xsl:if>
+ <xsl:if test="vendor_report/id > 0">
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'report')"/>
+ </label>
+ <input type="hidden"
name="id" value="{vendor_report/id}"/>
+ <xsl:value-of
select="vendor_report/id"/>
+ </div>
+ </xsl:if>
+ <xsl:call-template
name="application_info">
+ <xsl:with-param
name="application" select ='application'/>
+ <xsl:with-param
name="application_type_list" select ='application_type_list'/>
+ </xsl:call-template>
+ <div class="pure-control-group">
+ <xsl:variable name="lang_from">
+ <xsl:value-of
select="php:function('lang', 'from')"/>
+ </xsl:variable>
+ <label>
+ <xsl:value-of
select="$lang_from"/>
+ </label>
+ <xsl:value-of
select="php:function('show_date', number(booking/from_), $date_format)"/>
+ </div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'timespan')"/>
+ </label>
+ <xsl:value-of
select="application/timespan"/>
+ </div>
+
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'to')"/>
+ </label>
+ <xsl:value-of
select="php:function('show_date', number(booking/to_), $date_format)"/>
+ </div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'customer')"/>
+ </label>
+ <xsl:value-of
select="booking/customer_name"/>
+ </div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'location')"/>
+ </label>
+ <xsl:value-of
select="booking/location"/>
+ </div>
+
<fieldset>
- <xsl:if test="vendor/id > 0">
- <div
class="pure-control-group">
- <label>
-
<xsl:value-of select="php:function('lang', 'id')"/>
- </label>
- <input
type="hidden" name="id" value="{vendor/id}"/>
- <xsl:value-of
select="vendor/id"/>
- </div>
- </xsl:if>
<!--xsl:apply-templates
select="attributes_group/attributes"/-->
<xsl:call-template
name="attributes_values"/>
Modified: branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php 2016-12-18
13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php 2016-12-18
19:22:14 UTC (rev 16098)
@@ -978,7 +978,9 @@
*/
if(!$entry['email'])
{
- $entry['email'] =
"{$entry['account_lid'address@hidden";
+ $email_domain =
!empty($GLOBALS['phpgw_info']['server']['email_domain']) ?
$GLOBALS['phpgw_info']['server']['email_domain'] : 'bergen.kommune.no';
+
+ $entry['email'] =
"{$entry['account_lid'address@hidden";
}
if ($entry['is_active'] &&
$entry['notification_method'] == 'email' && $entry['email'])
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.jqcal2.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.jqcal2.inc.php 2016-12-18
13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.jqcal2.inc.php 2016-12-18
19:22:14 UTC (rev 16098)
@@ -43,7 +43,7 @@
}
- function add_listener($name, $type = 'date', $value = '')
+ function add_listener($name, $type = 'date', $value = 0,
$config = array())
{
switch($type)
{
@@ -59,8 +59,15 @@
$_type = 'date';
$dateformat = "{$this->dateformat}";
}
-
- $this->_input_modern($name, $_type, $dateformat);
+ if(ctype_digit($value) && $value)
+ {
+ $start_value = date('Y/m/d H:i', $value);
+ }
+ else
+ {
+ $start_value = '';
+ }
+ $this->_input_modern($name, $_type, $dateformat,
$config, $start_value);
return "<input id='{$name}' type='text'
value='{$value}' size='10' name='{$name}'/>";
}
@@ -70,12 +77,37 @@
* @access private
* @param string $name the element ID
*/
- function _input_modern($id, $type, $dateformat)
+ function _input_modern($id, $type, $dateformat, $config =
array(), $start_value = '')
{
$datepicker = $type == 'time' ? 0 : 1;
$timepicker = $type == 'date' ? 0 : 1;
$placeholder = str_ireplace(array('Y','m', 'd', 'H',
'i'), array('YYYY', 'MM', 'DD', 'HH', 'mm' ),$dateformat);
+
+ if(empty($config['min_date']))
+ {
+ $min_date = 0;
+ }
+ else
+ {
+ $min_date = "'{$config['min_date']}'";
+ }
+
+ if(!empty($config['max_date']))
+ {
+ $min_date .= ",maxDate:'{$config['max_date']}'";
+ }
+
+ if(!$start_value)
+ {
+ $start_value = 'new Date()';
+ }
+ else
+ {
+ $start_value = "new Date('{$start_value}')";
+ }
+
+
$js = <<<JS
$(document).ready(function()
{
@@ -91,12 +123,12 @@
step: 15,
weeks: true,
dayOfWeekStart:1,
- // mask:true,
- minDate:0
+// mask:true,
+ formatDate:'Y/m/d', //Format date for
minDate and maxDate
+ formatTime: 'H:i',
+ startDate: {$start_value},
+ minDate:{$min_date}
});
-//jQuery('#image_button').click(function(){
-// jQuery('#datetimepicker4').datetimepicker('show'); //support hide,show and
destroy command
-//});
});
JS;
$GLOBALS['phpgw']->js->add_code('', $js);
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.jquery.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.jquery.inc.php 2016-12-18
13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.jquery.inc.php 2016-12-18
19:22:14 UTC (rev 16098)
@@ -137,7 +137,7 @@
(
"js/{$_jquery_core}{$_type}",
//
"tabs/jquery.responsiveTabs{$_type}",
- "tabs/jquery.responsiveTabs",
+
"tabs/jquery.responsiveTabs{$_type}",
'common'
);
@@ -386,7 +386,7 @@
form: '#{$form_id}',
validateOnBlur : false,
scrollToTopOnError : false,
- validateHiddenInputs: true,
+ // validateHiddenInputs: true,
errorMessagePosition :
{$errorMessagePosition},
scrollToTopOnError:
{$scrollToTopOnError}
});
@@ -472,11 +472,19 @@
collapsible: 'accordion',
setHash: true,
activate: function(e, tab) {
- $('.info').html('Tab <strong>'
+ tab.id + '</strong> activated!');
+ if(tab.disabled == false)
+ {
+ var selector =
tab.selector;
+ var active_tab =
selector.replace("#", '');
+
+ if (typeof set_tab ===
"function")
+ {
+
set_tab(active_tab);
+ }
+ }
}
});
-
$('#{$tab_set}').responsiveTabs('activate',
{$selected});
};
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.phpgw.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.phpgw.inc.php 2016-12-18
13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.phpgw.inc.php 2016-12-18
19:22:14 UTC (rev 16098)
@@ -465,7 +465,7 @@
$value = filter_var($value,
FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
$value =
htmlspecialchars($value, ENT_QUOTES, 'UTF-8', true);
// $value = htmlentities($value,
ENT_QUOTES, 'UTF-8', true);
- $value = str_replace(array('(',
')', '=', '--',';'),array('(', ')', '=','−−',';'),
$value); // prevent SQL-injection
+ $value =
str_replace(array(';','(', ')', '=', '--'),array(';','(', ')',
'=','−−'), $value); // prevent SQL-injection
break;
case 'boolean':
@@ -577,6 +577,10 @@
break;
case 'date':
$value =
phpgwapi_datetime::date_to_timestamp($value);
+ if($value)
+ {
+ $value -=
phpgwapi_datetime::user_timezone();
+ }
break;
}
return $value;
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.socommon.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.socommon.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.socommon.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -1,4 +1,5 @@
<?php
+
/**
* phpGroupWare
*
@@ -10,23 +11,22 @@
* @subpackage phpgwapi
* @version $Id: class.custom_fields.inc.php 15409 2016-08-03 11:52:23Z
sigurdne $
*/
-
/*
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
- abstract class phpgwapi_socommon
+ abstract class phpgwapi_socommon
{
protected $db;
@@ -41,7 +41,7 @@
protected static $so;
protected $table_name;
- public function __construct($table_name, $fields)
+ public function __construct( $table_name, $fields )
{
$this->db = & $GLOBALS['phpgw']->db;
$this->db2 = clone($GLOBALS['phpgw']->db);
@@ -77,7 +77,7 @@
/**
* Rollback the current transaction
*
- * @return bool True if sucessful, False if fails
+ * @return bool True if successful, False if fails
*/
public function transaction_abort()
{
@@ -112,6 +112,10 @@
{
return $this->db->db_addslashes($value);
}
+ else if ($type == 'jsonb')
+ {
+ return "'" . json_encode($value) . "'";
+ }
return "'" . $this->db->db_addslashes($value) . "'";
}
@@ -169,7 +173,6 @@
*/
public abstract static function get_instance();
-
/**
* Method for retrieving the db-object (security "forgotten")
*/
@@ -336,7 +339,7 @@
return $this->table_name . '.id=' . $id_value;
}
- function read_single( $id, $return_object = false)
+ function read_single( $id, $return_object = false )
{
if (!$id && !$return_object)
{
@@ -412,7 +415,7 @@
}
}
}
- if($return_object)
+ if ($return_object)
{
return $this->populate($row);
}
@@ -422,7 +425,6 @@
}
}
-
function _get_conditions( $query, $filters )
{
$clauses = array('1=1');
@@ -480,7 +482,7 @@
}
else
{
- $_column =
$this->fields[$key]['join'] ? $this->fields[$key]['join']['column'] : $key;
+ $_column =
$this->fields[$key]['join'] ? $this->fields[$key]['join']['column'] : $key;
$clauses[] =
"{$table}.{$_column}=" . $this->marshal($val, $this->fields[$key]['type']);
}
}
@@ -540,7 +542,6 @@
return array($cols, $joins);
}
-
/**
* Implementing classes must return the name of the field used
in the query
* returned from get_query().
@@ -554,7 +555,6 @@
protected abstract function populate( array $data );
-
protected function add( &$object )
{
$object->entry_date = time();
@@ -562,18 +562,39 @@
$fields = $object::get_fields();
- foreach ($fields as $field => $field_info)
+ foreach ($fields as $field => $field_info)
{
- if(($field_info['action'] & PHPGW_ACL_ADD)
- && empty($field_info['join'])
- && empty($field_info['related'])
- && empty($field_info['manytomany']))
+ if (($field_info['action'] & PHPGW_ACL_ADD) &&
empty($field_info['join']) && empty($field_info['related']) &&
empty($field_info['manytomany']))
{
- $value_set[$field] = $object->$field;
+ if ($field_info['type'] == 'json')
+ {
+ $value_set[$field] =
json_encode($object->$field);
+ }
+ else
+ {
+ $value_set[$field] =
$object->$field;
+ }
}
}
-
- $sql = "INSERT INTO {$this->table_name} (".
implode(',', array_keys($value_set))
+// $custom_fields = $object::get_custom_fields();
+ $values_attribute =
createObject('phpgwapi.custom_fields')->convert_attribute_save($object->values_attribute);
+
+ if ( $values_attribute)
+ {
+ foreach ($values_attribute as $attrib_id =>
$entry)
+ {
+ if ($entry['value'])
+ {
+ if ($entry['datatype'] == 'C'
|| $entry['datatype'] == 'T' || $entry['datatype'] == 'V' || $entry['datatype']
== 'link')
+ {
+ $entry['value'] =
$this->db->db_addslashes($entry['value']);
+ }
+ $value_set[$entry['name']] =
$entry['value'];
+ }
+ }
+ }
+
+ $sql = "INSERT INTO {$this->table_name} (" .
implode(',', array_keys($value_set))
. ') VALUES ('
.
$this->db->validate_insert(array_values($value_set))
. ')';
@@ -587,7 +608,7 @@
$this->db->transaction_begin();
}
- $this->db->query($sql,__LINE__,__FILE__);
+ $this->db->query($sql, __LINE__, __FILE__);
$id = $this->db->get_last_insert_id($this->table_name,
'id');
$object->set_id($id);
@@ -615,20 +636,40 @@
foreach ($this->fields as $field => $field_info)
{
- if(($field_info['action'] & PHPGW_ACL_EDIT)
- && empty($field_info['join'])
- && empty($field_info['related'])
- && empty($field_info['manytomany']))
+ if (($field_info['action'] & PHPGW_ACL_EDIT) &&
empty($field_info['join']) && empty($field_info['related']) &&
empty($field_info['manytomany']))
{
- $value_set[$field] = $object->$field;
+ if ($field_info['type'] == 'json')
+ {
+ $value_set[$field] =
json_encode($object->$field);
+ }
+ else
+ {
+ $value_set[$field] =
$object->$field;
+ }
}
}
+ $values_attribute =
createObject('phpgwapi.custom_fields')->convert_attribute_save($object->values_attribute);
+ if ( $values_attribute)
+ {
+ foreach ($values_attribute as $attrib_id =>
$entry)
+ {
+ if ($entry['value'])
+ {
+ if ($entry['datatype'] == 'C'
|| $entry['datatype'] == 'T' || $entry['datatype'] == 'V' || $entry['datatype']
== 'link')
+ {
+ $entry['value'] =
$this->db->db_addslashes($entry['value']);
+ }
+ $value_set[$entry['name']] =
$entry['value'];
+ }
+ }
+ }
+
$sql = "UPDATE {$this->table_name} SET "
. $this->db->validate_update($value_set)
. " WHERE id = {$id}";
- $ret1 = $this->db->query($sql,__LINE__,__FILE__);
+ $ret1 = $this->db->query($sql, __LINE__, __FILE__);
$ret2 = $this->add_manytomany($object);
@@ -663,7 +704,7 @@
$colnames = join(',',
array_keys($colnames));
$v =
$object->get_field($params['manytomany']['input_field']);
-
+
$data = array();
foreach
($params['manytomany']['column'] as $intOrCol => $paramsOrCol)
{
@@ -687,17 +728,17 @@
}
$v = join(',', $data);
$update_query = "INSERT INTO
$table ($key, $colnames) VALUES($id, $v)";
- return
$this->db->query($update_query,__LINE__,__FILE__);
+ return
$this->db->query($update_query, __LINE__, __FILE__);
}
else
{
$colname =
$params['manytomany']['column'];
$v =
$this->marshal($object->get_field($params['manytomany']['input_field']),
$params['type']);
$update_query = "INSERT INTO
$table ($key, $colname) VALUES($id, $v)";
- return
$this->db->query($update_query,__LINE__,__FILE__);
+ return
$this->db->query($update_query, __LINE__, __FILE__);
}
}
- else if(!empty($params['manytomany']) &&
is_array($value))
+ else if (!empty($params['manytomany']) &&
is_array($value))
{
$update_queries = array();
$table = $params['manytomany']['table'];
@@ -755,7 +796,6 @@
{
$this->db->query($update_query,
__LINE__, __FILE__);
}
-
}
}
return true;
@@ -778,4 +818,4 @@
return $this->add($object);
}
}
- }
+ }
\ No newline at end of file
Modified: branches/dev-syncromind-2/phpgwapi/inc/functions.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/functions.inc.php 2016-12-18
13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/phpgwapi/inc/functions.inc.php 2016-12-18
19:22:14 UTC (rev 16098)
@@ -87,7 +87,17 @@
}
return json_encode($strings);
}
-
+ /**
+ * Generate formatted datetime for use with xslt templates
+ * @return string datetime
+ */
+ function show_date()
+ {
+ $args = func_get_args();
+ $timestamp = $args[0];
+ $dateformat = !empty($args[1]) ? $args[1] : '';
+ return $GLOBALS['phpgw']->common->show_date($timestamp,
$dateformat);
+ }
/**
Modified: branches/dev-syncromind-2/phpgwapi/inc/model/class.model.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/model/class.model.inc.php
2016-12-18 13:23:14 UTC (rev 16097)
+++ branches/dev-syncromind-2/phpgwapi/inc/model/class.model.inc.php
2016-12-18 19:22:14 UTC (rev 16098)
@@ -76,7 +76,7 @@
{
case 'int':
case 'integert':
- $value =
(int)$this->$name;
+ $value =
empty($this->$name) && $this->$name === '' ? null : (int)$this->$name;
break;
case 'float':
$value =
(float)$this->$name;
@@ -279,7 +279,15 @@
return $errors ? false : true;
}
+
/**
+ * Implement in subclasses
+ */
+ public function get_custom_fields()
+ {
+ return array();
+ }
+ /**
* Implement in subclasses to perform actions on entity before
validation
*/
protected function preValidate( &$entity )
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/index.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/index.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/index.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -6,7 +6,7 @@
<meta name="viewport" content="initial-scale=1.0, maximum-scale=2.0">
<link rel="stylesheet" type="text/css"
href="../../../examples/resources/syntax/shCore.css">
<link rel="stylesheet" type="text/css"
href="../../../examples/resources/demo.css">
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../examples/resources/syntax/shCore.js">
</script>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/alwaysAsk.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/alwaysAsk.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/alwaysAsk.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -12,7 +12,7 @@
<style type="text/css" class="init">
</style>
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../media/js/jquery.dataTables.js">
</script>
@@ -51,6 +51,7 @@
action if they made a mistake during the drag.
This example shows <a
href="//datatables.net/reference/option/autoFill.alwaysAsk"><code
class="option" title=
"AutoFill initialisation
option">autoFill.alwaysAsk</code></a> set to <code>true</code> - to
demonstrate, try auto filling a single row or column.</p>
</div>
+ <div class="demo-html"></div>
<table id="example" class="display nowrap"
cellspacing="0" width="100%">
<thead>
<tr>
@@ -550,7 +551,7 @@
<p>In addition to the above code, the
following Javascript library files are loaded for use in this example:</p>
<ul>
<li>
- <a
href="//code.jquery.com/jquery-1.12.3.min.js">//code.jquery.com/jquery-1.12.3.min.js</a>
+ <a
href="//code.jquery.com/jquery-1.12.3.js">//code.jquery.com/jquery-1.12.3.js</a>
</li>
<li>
<a
href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/columns.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/columns.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/columns.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -13,7 +13,7 @@
<style type="text/css" class="init">
</style>
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../media/js/jquery.dataTables.js">
</script>
@@ -67,6 +67,7 @@
"https://datatables.net/extensions/rowreorder">RowReorder</a> and <a
href="https://datatables.net/extensions/keytable">KeyTable</a>) can make for a
powerful data
editing environment for end users.</p>
</div>
+ <div class="demo-html"></div>
<table id="example" class="display" cellspacing="0"
width="100%">
<thead>
<tr>
@@ -576,7 +577,7 @@
<p>In addition to the above code, the
following Javascript library files are loaded for use in this example:</p>
<ul>
<li>
- <a
href="//code.jquery.com/jquery-1.12.3.min.js">//code.jquery.com/jquery-1.12.3.min.js</a>
+ <a
href="//code.jquery.com/jquery-1.12.3.js">//code.jquery.com/jquery-1.12.3.js</a>
</li>
<li>
<a
href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/events.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/events.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/events.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -12,7 +12,7 @@
<style type="text/css" class="init">
</style>
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../media/js/jquery.dataTables.js">
</script>
@@ -58,6 +58,7 @@
for to adjust the table's column sizes to suit
the new data. Although this is a trivial example, this listener can be used to
perform other updates such as writing
the filled data to a database.</p>
</div>
+ <div class="demo-html"></div>
<table id="example" class="display nowrap"
cellspacing="0" width="100%">
<thead>
<tr>
@@ -559,7 +560,7 @@
<p>In addition to the above code, the
following Javascript library files are loaded for use in this example:</p>
<ul>
<li>
- <a
href="//code.jquery.com/jquery-1.12.3.min.js">//code.jquery.com/jquery-1.12.3.min.js</a>
+ <a
href="//code.jquery.com/jquery-1.12.3.js">//code.jquery.com/jquery-1.12.3.js</a>
</li>
<li>
<a
href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/fills.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/fills.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/fills.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -12,7 +12,7 @@
<style type="text/css" class="init">
</style>
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../media/js/jquery.dataTables.js">
</script>
@@ -53,6 +53,7 @@
</ul>
<p>Additional fills can also be added <a
href="plugins.html">using plug-ins</a> if you require further options.</p>
</div>
+ <div class="demo-html"></div>
<table id="example" class="display nowrap"
cellspacing="0" width="100%">
<thead>
<tr>
@@ -550,7 +551,7 @@
<p>In addition to the above code, the
following Javascript library files are loaded for use in this example:</p>
<ul>
<li>
- <a
href="//code.jquery.com/jquery-1.12.3.min.js">//code.jquery.com/jquery-1.12.3.min.js</a>
+ <a
href="//code.jquery.com/jquery-1.12.3.js">//code.jquery.com/jquery-1.12.3.js</a>
</li>
<li>
<a
href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/focus.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/focus.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/focus.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -12,7 +12,7 @@
<style type="text/css" class="init">
</style>
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../media/js/jquery.dataTables.js">
</script>
@@ -56,6 +56,7 @@
<p>This example shows the <code class="string"
title="String">click</code> behaviour. Click a cell to show the auto fill
handle. Note that a click outside of the
table will cause the handle to be removed.</p>
</div>
+ <div class="demo-html"></div>
<table id="example" class="display nowrap"
cellspacing="0" width="100%">
<thead>
<tr>
@@ -555,7 +556,7 @@
<p>In addition to the above code, the
following Javascript library files are loaded for use in this example:</p>
<ul>
<li>
- <a
href="//code.jquery.com/jquery-1.12.3.min.js">//code.jquery.com/jquery-1.12.3.min.js</a>
+ <a
href="//code.jquery.com/jquery-1.12.3.js">//code.jquery.com/jquery-1.12.3.js</a>
</li>
<li>
<a
href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/index.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/index.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/index.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -6,7 +6,7 @@
<meta name="viewport" content="initial-scale=1.0, maximum-scale=2.0">
<link rel="stylesheet" type="text/css"
href="../../../../examples/resources/syntax/shCore.css">
<link rel="stylesheet" type="text/css"
href="../../../../examples/resources/demo.css">
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../examples/resources/syntax/shCore.js">
</script>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/keyTable.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/keyTable.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/keyTable.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -13,7 +13,7 @@
<style type="text/css" class="init">
</style>
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../media/js/jquery.dataTables.js">
</script>
@@ -45,12 +45,13 @@
<div class="info">
<p>If you are looking to emulate the UI of
spreadsheet programs such as Excel with DataTables, the combination of <a href=
"https://datatables.net/extensions/keytable">KeyTable</a> and AutoFill will
take you a long way there!</p>
- <p>AutoFill will automatically detect when
KeyTable is used on the same table and later its focus option (<a href=
+ <p>AutoFill will automatically detect when
KeyTable is used on the same table and alter its focus option (<a href=
"//datatables.net/reference/option/autoFill.focus"><code class="option"
title="AutoFill initialisation option">autoFill.focus</code></a>) so the
focused cell will
show the auto fill handle. Thus all that needs
to be done is to initialise both AutoFill and KeyTable with <a href=
"//datatables.net/reference/option/autoFill"><code class="option"
title="AutoFill initialisation option">autoFill</code></a> and <a href=
"//datatables.net/reference/option/keys"><code
class="option" title="KeyTable initialisation option">keys</code></a>
respectively).</p>
</div>
+ <div class="demo-html"></div>
<table id="example" class="display" cellspacing="0"
width="100%">
<thead>
<tr>
@@ -549,7 +550,7 @@
<p>In addition to the above code, the
following Javascript library files are loaded for use in this example:</p>
<ul>
<li>
- <a
href="//code.jquery.com/jquery-1.12.3.min.js">//code.jquery.com/jquery-1.12.3.min.js</a>
+ <a
href="//code.jquery.com/jquery-1.12.3.js">//code.jquery.com/jquery-1.12.3.js</a>
</li>
<li>
<a
href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/plugins.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/plugins.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/plugins.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -12,7 +12,7 @@
<style type="text/css" class="init">
</style>
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../media/js/jquery.dataTables.js">
</script>
@@ -78,6 +78,7 @@
<p>For full details about creating fill
plug-ins for AutoFill, please refer to the <a
href="https://datatables.net/extensions/autofill">online
documentation</a>.</p>
</div>
+ <div class="demo-html"></div>
<table id="example" class="display nowrap"
cellspacing="0" width="100%">
<thead>
<tr>
@@ -599,7 +600,7 @@
<p>In addition to the above code, the
following Javascript library files are loaded for use in this example:</p>
<ul>
<li>
- <a
href="//code.jquery.com/jquery-1.12.3.min.js">//code.jquery.com/jquery-1.12.3.min.js</a>
+ <a
href="//code.jquery.com/jquery-1.12.3.js">//code.jquery.com/jquery-1.12.3.js</a>
</li>
<li>
<a
href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/scrolling.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/scrolling.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/scrolling.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -12,7 +12,7 @@
<style type="text/css" class="init">
</style>
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../media/js/jquery.dataTables.js">
</script>
@@ -46,6 +46,7 @@
<p>When dragging an AutoFill handle, the table
(if DataTables scrolling is enabled) or the window will be automatically
scrolled, as you approach the edge of the
scrolling component. The example below shows
the effect with DataTables scrolling (and also window if needed).</p>
</div>
+ <div class="demo-html"></div>
<table id="example" class="display nowrap"
cellspacing="0" width="100%">
<thead>
<tr>
@@ -547,7 +548,7 @@
<p>In addition to the above code, the
following Javascript library files are loaded for use in this example:</p>
<ul>
<li>
- <a
href="//code.jquery.com/jquery-1.12.3.min.js">//code.jquery.com/jquery-1.12.3.min.js</a>
+ <a
href="//code.jquery.com/jquery-1.12.3.js">//code.jquery.com/jquery-1.12.3.js</a>
</li>
<li>
<a
href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/simple.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/simple.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/initialisation/simple.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -12,7 +12,7 @@
<style type="text/css" class="init">
</style>
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../media/js/jquery.dataTables.js">
</script>
@@ -45,6 +45,7 @@
"AutoFill initialisation
option">autoFill</code></a> option as shown in the example below. This can be
set to be <code>true</code> to use the AutoFill
configuration defaults, or used as an object to
specify options.</p>
</div>
+ <div class="demo-html"></div>
<table id="example" class="display nowrap"
cellspacing="0" width="100%">
<thead>
<tr>
@@ -542,7 +543,7 @@
<p>In addition to the above code, the
following Javascript library files are loaded for use in this example:</p>
<ul>
<li>
- <a
href="//code.jquery.com/jquery-1.12.3.min.js">//code.jquery.com/jquery-1.12.3.min.js</a>
+ <a
href="//code.jquery.com/jquery-1.12.3.js">//code.jquery.com/jquery-1.12.3.js</a>
</li>
<li>
<a
href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/bootstrap.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/bootstrap.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/bootstrap.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -13,7 +13,7 @@
<style type="text/css" class="init">
</style>
- <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.min.js">
+ <script type="text/javascript" language="javascript"
src="//code.jquery.com/jquery-1.12.3.js">
</script>
<script type="text/javascript" language="javascript"
src="../../../../media/js/jquery.dataTables.js">
</script>
@@ -50,6 +50,7 @@
The <a
href="//datatables.net/manual/styling/bootstrap">DataTables / Bootstrap
integration</a> provides seamless integration for DataTables to be used in a
Bootstrap page.</p>
</div>
+ <div class="demo-html"></div>
<table id="example" class="table table-striped
table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
@@ -547,7 +548,7 @@
<p>In addition to the above code, the
following Javascript library files are loaded for use in this example:</p>
<ul>
<li>
- <a
href="//code.jquery.com/jquery-1.12.3.min.js">//code.jquery.com/jquery-1.12.3.min.js</a>
+ <a
href="//code.jquery.com/jquery-1.12.3.js">//code.jquery.com/jquery-1.12.3.js</a>
</li>
<li>
<a
href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a>
Modified:
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/bootstrap4.html
===================================================================
---
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/bootstrap4.html
2016-12-18 13:23:14 UTC (rev 16097)
+++
branches/dev-syncromind-2/phpgwapi/js/DataTables/extensions/AutoFill/examples/styling/bootstrap4.html
2016-12-18 19:22:14 UTC (rev 16098)
@@ -5,7 +5,7 @@
<link rel="shortcut icon" type="image/ico"
href="http://www.datatables.net/favicon.ico">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=2.0">
<title>AutoFill example - Bootstrap 4 styling</title>
@@ Diff output truncated at 153600 characters. @@
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [16098] Syncromind: Merge 15998:16097 from trunk,
sigurdne <=