Initial commit

This commit is contained in:
Senad Uka
2018-06-11 11:09:35 +02:00
commit ed7df7b11f
1954 changed files with 483354 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
<div class="chose-installation-layer row">
<div class="col-md-12" ng-if="multipleInstallCompanies">
<label class="col-md-4">{{'orders.tables.extra.CHOOSE_INSTALLATION' | translate}}</label>
<select id="installation-companies-group"
class="form-control-static col-md-4"
ng-model="step.installationCompany"
ng-options="installCompany.name for installCompany in step.installCompanies track by installCompany.id"
ng-change="saveInstallationForPackage(step)">
</select>
</div>
<div class="col-md-12">
<label class="col-md-4">{{'orders.tables.extra.INSTALLATION_COMPANY' | translate}}</label>
{{step.installationCompany.name}}
</div>
</div>

View File

@@ -0,0 +1,6 @@
<div class="chose-installation-layer row">
<div class="col-md-12">
<label class="col-md-4">{{'orders.tables.extra.INSTALLATION_COMPANY' | translate}}</label>
{{step.installationCompany.name}}
</div>
</div>

View File

@@ -0,0 +1,12 @@
<div id="choose-installation-company-extra-action" ng-controller="chooseInstallationCtrl" ng-init="getInstallCompaniesForPackage(step)">
<?php
if($user->getUserType() === USER_TYPES['BROKER']){
require_once('chooseInstallationBrokerTemplate.php');
}else{
require_once('chooseInstallationCustomerTemplate.php');
}
?>
<div class="chose-installation-schedule">
<schedule-meeting ng-controller="scheduleMeetingCtrl"></schedule-meeting>
</div>
</div>

View File

@@ -0,0 +1,37 @@
<div class="acceptance-due-date col-md-12">
<div class="alert {{getDueDateClass()}}">
<label>{{'orders.headers.DUE_DATE_BROKER' | translate}}:</label>
{{acceptance.acceptanceDueDate}}
</div>
</div>
<div>
<div class="uploaded-documents col-md-12">
<div class="document-layer" ng-repeat="document in acceptance.acceptanceDocuments">
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
{{document.documentName}}.{{document.extension}}
</a>
</div>
</div>
<div class="col-md-12">
<span class="not-accepted col-md-12" ng-if="!showCustomerAcceptance(acceptance.customerAccepted)">
<span class="glyphicon glyphicon-time"></span>
{{'orders.tables.extra.NOT_ACCEPTED_CUSTOMER_INSTALLATION' | translate}}
</span>
<div class="alert alert-{{getAcceptanceClass(acceptance.customerAccepted)}} col-md-12" ng-if="showCustomerAcceptance(acceptance.customerAccepted)">
<div class="col-md-12">
<span class="glyphicon glyphicon-{{getStatusIcon(acceptance.customerAccepted)}}"></span>
{{getCustomerAcceptanceDescription(acceptance.customerAccepted)}}
</div>
<div class="customer-installation-decline-reason col-md-12" ng-if="acceptance.customerDeclineReason">
<span>{{'orders.messages.DECLINE_REASON' | translate}}:</span>
<span>{{acceptance.customerDeclineReason}}</span>
</div>
</div>
</div>
<div ng-if="acceptance.idDocument" class="col-md-12">
<a href="utils/api/downloadFile?idDocument={{acceptance.idDocument}}&fileName={{acceptance.documentName}}.{{acceptance.extension}}">
{{acceptance.documentName}}.{{acceptance.extension}}
</a>
</div>
</div>

View File

@@ -0,0 +1,103 @@
<div class="acceptance-due-date col-md-12">
<div class="alert {{getDueDateClass()}}">
<label>{{'orders.headers.DUE_DATE_CUSTOMER' | translate}}:</label>
{{acceptance.acceptanceDueDate}}
</div>
<div class="alert alert-{{getAcceptanceClass(acceptance.customerAccepted)}} col-md-12" ng-if="showCustomerAcceptance(acceptance.customerAccepted)">
<div class="col-md-12">
<span class="glyphicon glyphicon-{{getStatusIcon(acceptance.customerAccepted)}}"></span>
{{getCustomerAcceptanceDescription(acceptance.customerAccepted)}}
</div>
<div class="customer-installation-decline-reason col-md-12" ng-if="acceptance.customerDeclineReason">
<span>{{'orders.messages.CUSTOMER_DECLINE_REASON' | translate}}:</span>
<span>{{acceptance.customerDeclineReason}}</span>
</div>
</div>
</div>
<div id="customer-acceptance-files-container" class="col-md-12">
<form name="form" class="col-md-4">
<div ngf-drop="uploadFile($file)"
ng-model="files"
ngf-drag-over-class="'dragover'"
ngf-select="uploadFile($file)"
ngf-pattern="'.pdf,.docx,.doc,.xlsx,.xls,.odt,.ods,.jpg,.png,.jpeg'"
ngf-max-size="20MB"
class="drop-box">{{'orders.headers.SELECT_ACCEPT_DOCUMENT' | translate}}</div>
</form>
<div class="uploaded-documents col-md-8">
<div class="document-layer" ng-repeat="document in acceptance.acceptanceDocuments">
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
{{document.documentName}}.{{document.extension}}
</a>
<div id="remove-document-{{document.idDocument}}" class="remove-document">
<span class="remove-document-btn glyphicon glyphicon-remove" ng-click="showHideDialog(document.idDocument)">
{{'orders.tables.extra.REMOVE' | translate}}
</span>
<div id="confirm-remove-document"
dialog
ng-if="isDialogVisible[document.idDocument]"
on-confirmation="removeAcceptanceDocument"
on-close="showHideDialog"
is-modal="true"
has-buttons="true"
parameters="document.idDocument"
title="{{'orders.headers.REMOVE_DOCUMENT' | translate}}">
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.REMOVE_DOCUMENT_CONFIRMATION' | translate}} <b>{{document.documentName}}.{{document.extension}}</b>?</p>
</div>
</div>
</div>
</div>
</div>
<div class="acceptance-button-layer col-md-12">
<div class="document-layer row" ng-if="acceptance.idDocument">
<a href="utils/api/downloadFile?idDocument={{acceptance.idDocument}}&fileName={{acceptance.documentName}}.{{acceptance.extension}}">
{{acceptance.documentName}}.{{acceptance.extension}}
</a>
</div>
<div class='row'>
<div class="install-btn btn btn-success col-md-5"
ng-disabled="isAcceptInstallationDisabled"
ng-click="showHideDialog('accept')">
{{'orders.buttons.ACCEPT_INSTALLATION' | translate}}
</div>
<div id="dialog-accept-installation-confirm"
dialog
ng-if="isDialogVisible['accept']"
on-confirmation="acceptDeclineInstallation"
on-close="showHideDialog"
is-modal="true"
has-buttons="true"
parameters="'accept'"
title="{{'orders.headers.CUSTOMER_INSTALLATION_ACCEPT' | translate}}">
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.CUSTOMER_INSTALLATION_ACCEPT' | translate}}?</p>
</div>
<div class="install-btn btn btn-danger col-md-offset-1 col-md-5"
ng-disabled="isDeclineInstallationDisabled"
ng-click="showDeclineInstallation()">
{{'orders.buttons.DECLINE_INSTALLATION' | translate}}
</div>
</div>
<div class="decline-installation-container row" ng-if="isInstallationDeclined[acceptance.idPackage]">
<span class="col-md-12">{{'orders.tables.extra.DECLINED_CUSTOMER_INSTALLATION' | translate}}:</span>
<textarea id="installation-declined-reason" class="decline-installation-text col-md-12" ng-model="$parent.installationDeclinedReason"></textarea>
<div>
<div class="save-decline-install-btn install-btn btn btn-warning col-md-offset-8 col-md-4"
ng-click="showHideDialog('decline')">{{'orders.tables.extra.SAVE' | translate}}</div>
<div id="dialog-decline-installation-confirm"
dialog
ng-if="isDialogVisible['decline']"
on-confirmation="acceptDeclineInstallation"
on-close="showHideDialog"
is-modal="true"
has-buttons="true"
parameters="'decline'"
title="{{'orders.headers.CUSTOMER_INSTALLATION_DECLINE' | translate}}">
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.CUSTOMER_INSTALLATION_DECLINE' | translate}}?</p>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,11 @@
<div id="customer-acceptance-extra-action" ng-controller="customerAcceptanceCtrl" ng-init="getCustmerAcceptance()">
<?php
if($user->getUserType() === USER_TYPES['CUSTOMER']){
require_once('customerAcceptanceCustomerTemplate.php');
}
if($user->getUserType() === USER_TYPES['BROKER']){
require_once('customerAcceptanceBrokerTemplate.php');
}
?>
</div>

View File

@@ -0,0 +1,52 @@
<div class="supplier-layer row" ng-repeat="(supplierName, supplier) in suppliersData">
<div class="supplier-header col-md-12">{{supplierName}}</div>
<div class="document-types col-md-12">
<label>{{'orders.headers.PACKAGES' | translate}}: </label>
<select class="document-supplier-packages-for-order"
class="form-control-static add-document-value"
ng-model="package"
ng-options="package.packageName for package in $parent.packages track by package.idPackage"
ng-change="selectPackage(package, supplier.idSupplier)">
<option value="" disabled selected>{{'orders.headers.SELECT_PACKAGE' | translate}}</option>
</select>
</div>
<form name="form" class="col-md-4">
<div ngf-drop="uploadFile($file, supplier.idSupplier)"
ng-model="files"
ngf-drag-over-class="'dragover'"
ngf-select="uploadFile($file, supplier.idSupplier)"
ngf-pattern="'.pdf,.docx,.doc,.xlsx,.xls,.odt,.ods'"
ngf-max-size="20MB"
class="drop-box">{{'orders.headers.SELECT_CONFIG_DOCUMENT' | translate}}</div>
</form>
<div class="uploaded-documents col-md-8">
<div class="document-layer" ng-repeat="document in supplier.documents">
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
{{document.documentName}}.{{document.extension}}
</a>
<div id="remove-document-{{document.idDocument}}" class="remove-document">
<span class="remove-document-btn glyphicon glyphicon-remove" ng-click="showHideDialog(document.idDocument)">
{{'orders.tables.extra.REMOVE' | translate}}
</span>
<div id="confirm-remove-document"
dialog
ng-if="isDialogVisible[document.idDocument]"
on-confirmation="removeOrderDocument"
on-close="showHideDialog"
is-modal="true"
has-buttons="true"
parameters="document"
title="{{'orders.headers.REMOVE_DOCUMENT' | translate}}">
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.REMOVE_DOCUMENT_CONFIRMATION' | translate}} <b>{{document.documentName}}.{{document.extension}}</b>?</p>
</div>
</div>
</div>
</div>
<div ng-if="supplier.supplierBids.length > 0" class="supplier-bids col-md-12">
Bids: <span ng-repeat="supplierBid in supplier.supplierBids">{{supplierBid.bidNumber}} </span>
</div>
</div>
<a href="orders/excel/generateProcurementExcel?idOrder={{step.idOrder}}">
<div class="btn btn-primary">{{'orders.buttons.PROC_REPORT_BUTTON' | translate}}</div>
</a>

View File

@@ -0,0 +1,46 @@
<div class="supplier-layer row" ng-repeat="(supplierName, supplier) in productsEstimations">
<div class="supplier-header col-md-12">{{supplierName}}</div>
<div class="col-md-12">
<div class="col-md-3 col-md-offset-5">
{{ 'orders.tables.headers.estimatedDate' | translate }}
</div>
<div class="col-md-3">
{{ 'orders.tables.headers.confirmedDate' | translate }}
</div>
</div>
<div class="product-layer col-md-12" ng-repeat="product in supplier.estimations">
<div class="prdocut-name col-md-5">
{{product.productName}}
</div>
<div class="prdocut-estimated col-md-3">
<input class="product-input"
placeholder="{{ 'orders.tables.headers.estimatedDate' | translate }}"
element-data="product"
datepicker
on-date-selected="updateProductEstimation"
ng-model="product.estimatedDate" />
</div>
<div class="prdocut-confimrmed col-md-3">
<input class="product-input"
placeholder="{{ 'orders.tables.headers.confirmedDate' | translate }}"
element-data="product"
datepicker
on-date-selected="updateProductEstimation"
ng-model="product.confirmedDate" />
</div>
<div class="col-md-1">
<span class="glyphicon {{getEstimationIcon(product.confirmedDate)}}"></span>
</div>
</div>
<div class="uploaded-documents col-md-12">
<div class="document-layer" ng-repeat="document in supplier.documents">
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
{{document.documentName}}.{{document.extension}}
</a>
</div>
</div>
</div>

View File

@@ -0,0 +1,11 @@
<div id="procuremnet-extra-action" ng-controller="procurementCtrl" ng-init="getSuppliersByPackageOrder()">
<?php
if($user->getUserType() === USER_TYPES['BROKER']){
require_once('procurementBrokerTemplate.php');
}
if($user->getUserType() === USER_TYPES['SUPPLIER']){
require_once('procurementSupplierTemplate.php');
}
?>
</div>

View File

@@ -0,0 +1,27 @@
<div class="date-row col-md-12" ng-repeat="(key, scheduleDate) in step.scheduledDates">
<label class="col-md-5">{{'orders.tables.extra.DATE' | translate}}</label>
<input ng-model="scheduleDate.scheduledDate"
element-data="{step, scheduleDate}"
class="col-md-3"
on-date-selected="updateScheduledDates"
ng-disabled="canNotEditDate(scheduleDate)"
datepicker
id="schedule-date-{{scheduleDate.idPackage}}-{{scheduleDate.idProcessStep}}-{{key}}"/>
<div class="col-md-12" ng-repeat="userConfirmation in scheduleDate.confirmations">
<div class="col-md-5">
{{userConfirmation.username}} ({{userConfirmation.userType}})
</div>
<div class="col-md-2 confirmation-{{userConfirmation.status}}">
<span class="glyphicon glyphicon-{{getIcon(userConfirmation.status)}}"></span>
{{userConfirmation.status}}
</div>
</div>
</div>
<div class="col-md-12">
<div class="col-md-3 btn btn-primary" ng-click="addNewSchedule(step)">
<span class="glyphicon glyphicon-plus"></span>
<span class="add-new-schedule">{{'orders.buttons.ADD_OPTIONAL_DATE' | translate}}</span>
</div>
</div>

View File

@@ -0,0 +1,26 @@
<div class="date-row col-md-12" ng-repeat="scheduleDate in step.scheduledDates">
<label class="col-md-5">{{'orders.tables.extra.DATE' | translate}} </label>
<div class="col-md-3 schedule-date">
{{scheduleDate.scheduledDate}}
</div>
<div class="col-md-12" ng-repeat="userConfirmation in scheduleDate.confirmations">
<div class="col-md-5">
{{userConfirmation.username}} ({{userConfirmation.userType}})
</div>
<div class="confirmation-{{userConfirmation.status}} col-md-2">
<span class="glyphicon glyphicon-{{getIcon(userConfirmation.status)}}"></span>
{{userConfirmation.status}}
</div>
<div ng-click="changeScheduleStatus(scheduleDate, 'accepted', step)" class="col-md-2">
<div ng-if="!canNotEditDate(scheduleDate)" class="btn btn-success" ng-if="!canNotEditDate(scheduleDate)">
{{'orders.buttons.ACCEPT' | translate}}
</div>
</div>
<div ng-click="changeScheduleStatus(scheduleDate, 'declined', step)" class="col-md-2">
<div class="btn btn-danger">
{{'orders.buttons.DECLINE' | translate}}
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,13 @@
<div id="orders-steps-schedule" ng-controller="scheduleMeetingCtrl" ng-init="getScheduledDates(step)">
<div class="chose-scheduled-date-layer row">
<?php
if($user->getUserType() === USER_TYPES['BROKER']){
require_once('scheduleMeetingBrokerTemplate.php');
}
if($user->getUserType() === USER_TYPES['CUSTOMER']){
require_once('scheduleMeetingCustomerTemplate.php');
}
?>
</div>
</div>

View File

@@ -0,0 +1,82 @@
<div id="validate-questionaire" ng-controller="validateQuestionnaireCtrl" ng-init="getDocumentsAndQuestionnaireComments()">
<div class="document-package-layer" ng-repeat="(key, packageDocuments) in customerDocuments">
<div class="document-layer" ng-repeat="document in packageDocuments">
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
<div class="btn btn-primary document-name">
{{document.documentName}}.{{document.extension}}
</div>
</a>
<div class="document-status">
<span class="invalid" ng-if="getValidationStatus('invalid', document.validation)">
<span class="glyphicon glyphicon-remove"></span>
{{'orders.tables.extra.INVALID' | translate}}
</span>
</div>
<div class="validation-buttons">
<div class="btn btn-success"
ng-disabled="waitingResponseFromCustomer[document.idDocument]"
ng-click="showHideValidationDialog({idDocument: document.idDocument, validationStatus: 'validated'})">
{{'orders.tables.extra.VALID' | translate}}
</div>
<div id="dialog-validation-confirm"
dialog
ng-if="isValidationDialogVisible.validated[document.idDocument]"
on-confirmation="validateQuestionaire"
on-close="showHideValidationDialog"
is-modal="true"
has-buttons="true"
parameters="{idPackage:document.idPackage, idDocument: document.idDocument, validationStatus: 'validated'}"
title="{{'orders.headers.VALIDATE_QUESTIONAIER' | translate}}">
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.VALIDATE_QUESTIONAIER' | translate}} {{'orders.tables.extra.VALID' | translate}}?</p>
</div>
<div class="btn btn-warning"
ng-disabled="waitingResponseFromCustomer[document.idDocument]"
ng-click="showInvalidTextbox(document.idDocument)">
{{'orders.tables.extra.INVALID' | translate}}
</div>
</div>
<div class="document-status">
<span class="not-validated" ng-if="getValidationStatus('not-validated', document.validation)">
<span class="glyphicon glyphicon-time"></span>
{{'orders.tables.extra.NOT_VALIDATED' | translate}}
</span>
<span class="validated" ng-if="getValidationStatus('validated', document.validation)">
<span class="glyphicon glyphicon-ok"></span>
{{'orders.tables.extra.VALIDATED' | translate}}
</span>
</div>
<div class="invalid-questionaire-comment-container" ng-if="isQuestionaireInvalid[document.idDocument]">
<div class="row">{{'orders.tables.extra.INVALID_QUESTIONAIRE_COMMENT' | translate}}:</div>
<textarea id="invalid-questionaire-comment" class="invalid-questionaire-text col-md-12" ng-model="$parent.$parent.$parent.invalidQuestionaireReason"></textarea>
<div class="row">
<div class="save-invalid-doc-btn btn btn-warning col-md-offset-10 col-md-2"
ng-click="showHideValidationDialog({idDocument: document.idDocument, validationStatus: 'invalid'})">{{'orders.tables.extra.SAVE' | translate}}</div>
<div id="dialog-invalidation-confirm"
dialog
ng-if="isValidationDialogVisible.invalid[document.idDocument]"
on-confirmation="validateQuestionaire"
on-close="showHideValidationDialog"
is-modal="true"
has-buttons="true"
parameters="{idPackage:document.idPackage, idDocument: document.idDocument, validationStatus: 'invalid'}"
title="{{'orders.headers.VALIDATE_QUESTIONAIER' | translate}}">
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.VALIDATE_QUESTIONAIER' | translate}} {{'orders.tables.extra.INVALID' | translate}}?</p>
</div>
</div>
</div>
<div class="order-added-comments" class="col-md-12" ng-if="invalidQuestionaireComments[key]">
<h4>{{getInvalidReasonsHeader()}}</h4>
<div class="order-comment-layer reason-comment" ng-repeat="commentObj in invalidQuestionaireComments[key]">
<div class="order-comment-date">
{{commentObj.user}} - {{commentObj.addDate}}
</div>
<div class="order-comment-label">
{{commentObj.comment}}
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,50 @@
<div id="validate-questionaire" ng-controller="validateQuestionnaireCtrl" ng-init="getDocumentsAndQuestionnaireComments()">
<div class="document-package-layer" ng-repeat="(key, packageDocuments) in customerDocuments">
<div class="document-layer row" ng-repeat="document in packageDocuments">
<div class="col-md-6">
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
<div class="btn btn-primary">
{{document.documentName}}.{{document.extension}}
</div>
</a>
<div class="document-status">
<span class="not-validated" ng-if="getValidationStatus('not-validated', document.validation)">
<span class="glyphicon glyphicon-time"></span>
{{'orders.tables.extra.NOT_VALIDATED' | translate}}
</span>
<span class="validated" ng-if="getValidationStatus('validated', document.validation)">
<span class="glyphicon glyphicon-ok"></span>
{{'orders.tables.extra.VALIDATED' | translate}}
</span>
<div class="invalid" ng-if="getValidationStatus('invalid', document.validation)">
<span class="glyphicon glyphicon-remove"></span>
{{'orders.tables.extra.INVALID' | translate}}
<span class="questionnaire-invalid-reason">{{invalidQuestionaireReason}}</span>
</div>
</div>
<div class="order-added-comments" class="col-md-12" ng-if="questionnaireCommentsExist">
<h4>{{getInvalidReasonsHeader()}}</h4>
<div class="order-comment-layer reason-comment" ng-repeat="commentObj in invalidQuestionaireComments">
<div class="order-comment-date">
{{commentObj.user}} - {{commentObj.addDate}}
</div>
<div class="order-comment-label">
{{commentObj.comment}}
</div>
</div>
</div>
</div>
<form ng-if="needsUplaod(document.validation)" name="form" class="col-md-4">
<div ngf-drop="uploadFile($file, document.idDocument)"
ng-model="files"
ngf-drag-over-class="'dragover'"
ngf-select="uploadFile($file, document.idDocument)"
ngf-pattern="'.pdf,.docx,.doc,.xlsx,.xls,.odt,.ods'"
ngf-max-size="20MB"
class="drop-box">{{'orders.headers.SELECT_QUESTIONAIRE' | translate}}</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,6 @@
<?php
if($user->getUserType() === USER_TYPES['BROKER']){
require_once('validateQuestionnaireBrokerTemplate.php');
}else{
require_once('validateQuestionnaireCustomerTemplate.php');
}