瀏覽代碼

Merge branch 'master' of ssh://biuro.biall-net.pl:2222/p5/project-bocian

Piotr Labudda 7 年之前
父節點
當前提交
daf2eed969
共有 7 個文件被更改,包括 470 次插入33 次删除
  1. 0 0
      theme/assets/css/styles.css
  2. 1 0
      theme/assets/less/styles.less
  3. 4 3
      theme/view/footer.php
  4. 30 8
      theme/view/home.php
  5. 150 11
      tools/Bocian.php
  6. 261 11
      tools/Bocian.php.view.js
  7. 24 0
      tools/page-offer.view.php

File diff suppressed because it is too large
+ 0 - 0
theme/assets/css/styles.css


+ 1 - 0
theme/assets/less/styles.less

@@ -734,3 +734,4 @@ footer {
   }
 
 }
+#smad-menu-main{border-bottom: 1px solid #d7142d;}

+ 4 - 3
theme/view/footer.php

@@ -11,6 +11,7 @@
 					<ul class="menu-bottom">
 						<li><a href="index.php?_route=UrlAction_Bocian&_task=about" title="O Bocianie">O Bocianie</a></li>
             <li><a href="index.php?_route=UrlAction_Bocian&_task=training" title="Szkolenia">Szkolenia</a></li>
+            <li><a href="index.php?_route=UrlAction_Bocian&_task=offer" title="Szkolenia">Oferta</a></li>
 						<li><a href="index.php?_route=UrlAction_Bocian&_task=helpForm" title="Pomoc">Pomoc</a></li>
             <li><a href="index.php?_route=ViewTableAjax&namespace=default_db/QUALITY_NOTICES#CREATE" title="Zgł. błędów." class="btn btn-success">Zgł. błędów.</a>
 					</ul>
@@ -21,10 +22,10 @@
 </footer>
 
 <script type="text/javascript">
-	// TOP MENU (hamburger)
-	if (document.getElementById("smad-page-home")) {
+	// TOP MENU (hamburger) //todo: odkomentować jeśli chcemy aby menu było pokazywane/ukrywane
+	//if (document.getElementById("smad-page-home")) {
 		toggledisplay('smad-menu-main', 'none')
-	}
+	//}
   // show/hide menu
   function toggledisplay(elementID, style = 'none')  {
       (function(style) {

+ 30 - 8
theme/view/home.php

@@ -2,13 +2,13 @@
 <div id="smad-page-home" class="container-fluid">
     <div>
         <div>
-            <div id="smad-menu-form-section" class="border-top-grey">
+            <div id="smad-menu-form-section">
                 <div class="col-md-6 padding-lr-0 smad-border-col">
                     <div class="menu-items text-center">
                         <div class="menu-item">
                             <a href="index.php?_route=UrlAction_Bocian#PRACOWNICY" title="Pracownicy">
-                                <div>PRACOWNICY</div>
-                                <img src="<?= $this->asset("assets/images/button-red.png"); ?>" alt="Pracownicy" onmouseover="this.src='<?= $this->asset("assets/images/button-red-border.png"); ?>'" onmouseout="this.src='<?= $this->asset("assets/images/button-red.png"); ?>'"
+                                <div>OSOBY</div>
+                                <img src="<?= $this->asset("assets/images/button-red.png"); ?>" alt="Osoby" onmouseover="this.src='<?= $this->asset("assets/images/button-red-border.png"); ?>'" onmouseout="this.src='<?= $this->asset("assets/images/button-red.png"); ?>'"
  />
                             </a>
                         </div>
@@ -18,8 +18,8 @@
                     <div class="menu-items text-center">
                         <div class="menu-item">
                             <a href="index.php?_route=UrlAction_Bocian#KONTRAHENCI" title="Kontrahenci">
-                                <div>KONTRAHENCI</div>
-                                <img src="<?= $this->asset("assets/images/button-red.png"); ?>" alt="Kontrahenci" onmouseover="this.src='<?= $this->asset("assets/images/button-red-border.png"); ?>'" onmouseout="this.src='<?= $this->asset("assets/images/button-red.png"); ?>'"
+                                <div>PODMIOTY/ <br> KONTRAHENCI</div>
+                                <img src="<?= $this->asset("assets/images/button-red.png"); ?>" alt="Podmioty/Kontrahenci" onmouseover="this.src='<?= $this->asset("assets/images/button-red-border.png"); ?>'" onmouseout="this.src='<?= $this->asset("assets/images/button-red.png"); ?>'"
  />
                             </a>
                         </div>
@@ -55,11 +55,30 @@ if (localStorage.getItem("Bocian.biAuditForm.depth") === null) {
 }
 
 $(document).ready(function() {
-  clearBIAuditFormLocalStorage();
-  loadCurrentDepthInInput('.smad-depth');
-  updateLocalStorageBiAuditDepth('.smad-depth');
+    clearBIAuditFormLocalStorage();
+    loadCurrentDepthInInput('.smad-depth');
+    updateLocalStorageBiAuditDepth('.smad-depth');
+    setItemLocalStorage('Bocian.biAuditForm.smadReaportTitle', 'Default reaport');
 });
 
+/**
+ * Load data default title reaport in storage
+ */
+function loadCurrentReaportTitleInInput(idInput) {
+  var reaportTitleValue = getItemLocalStorage("Bocian.biAuditForm.smadReaportTitle");
+
+  if ( getItemLocalStorage('Bocian.biAuditForm.smadReaportTitle') === null ) {
+    reaportTitleValue = setItemLocalStorage('Bocian.biAuditForm.smadReaportTitle', 'Default reaport');
+  }
+
+  $(idInput).val(function() {
+     return reaportTitleValue;
+  });
+}
+
+/**
+ * Load data default depth in storage
+ */
 function loadCurrentDepthInInput(idInput) {
   var depthValue = getItemLocalStorage("Bocian.biAuditForm.depth");
 
@@ -72,6 +91,9 @@ function loadCurrentDepthInInput(idInput) {
   });
 }
 
+/**
+ * Update data default depth in storage
+ */
 function updateLocalStorageBiAuditDepth(idInput) {
   $(idInput).keyup(function() {
     delayUpdate(function(){

+ 150 - 11
tools/Bocian.php

@@ -80,6 +80,19 @@ public static $helpEmailTo = 'biuro@bialnet.com.pl'; // todo:email na który zos
 		}
 
 
+
+		/**
+		 * View Page training
+		 */
+			public function offerAction() {
+				UI::gora();
+				echo UI::h('script', ['src'=>"static/sweetalert2.min.js"]);
+				echo UI::h('link', ['rel'=>"stylesheet", 'type'=>"text/css", 'href'=>"static/sweetalert2.min.css"]);
+				Theme::top();
+				include('page-offer.view.php');
+				UI::dol();
+			}
+
 	/**
 	 * View Page Help form
 	 */
@@ -177,8 +190,10 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 			'URL_FETCH_KONTRAHENCI' => $this->getLink('fetchKontrahenciAjax'),
 			'URL_FETCH_KONTRAHENCI_IDS_AJAX' => $this->getLink('fetchKontrahenciIdsAjax'),
 			'URL_CREATE_PRACOWNICY_GROUP' => $this->getLink('createPracownicyGroupAjax'),
-			'URL_CREATE_KONTRAHENCIS_GROUP' => $this->getLink('createKontrahenciGroupAjax'),
+			'URL_CREATE_KONTRAHENCI_GROUP' => $this->getLink('createKontrahenciGroupAjax'),
 			'URL_ADD_PRACOWNICY_TO_GROUP' => $this->getLink('addPracownicyToGroupAjax'),
+			'URL_CREATE_PRACOWNICY' => $this->getLink('createPracownikAjax'),
+			'URL_CREATE_KONTRAHENCI' => $this->getLink('createKontrahentAjax'),
 			'URL_ADD_KONTRAHENCI_TO_GROUP' => $this->getLink('addKontrahenciToGroupAjax'),
 			'URL_FETCH_GROUP_PRACOWNICY' => $this->getLink('fetchGroupPracownicyAjax'),
 			'URL_FETCH_GROUP_KONTRAHENCI' => $this->getLink('fetchGroupKontrahenciAjax'),
@@ -206,6 +221,107 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 		UI::dol();
 	}
 
+
+	/**
+	*  Dodanie nowego pracownika
+	*/
+	public function createPracownikAjaxAction() {
+		 Response::sendTryCatchJson(array($this, 'createPracownikAjax'), $args = 'JSON_FROM_REQUEST_BODY'); // użyj tej wersji jeśli chcesz wysyłać z przelgądarki JSON-a post-em
+	}
+	public function createPracownikAjax($args) {
+		$personName = V::post('personName', '', $args);
+		$personSurname = V::post('$personSurname', '', $args);
+		$personNip = V::post('personNip', '', $args);
+		$personPesel = V::post('personPesel', '', $args);
+		$personRegon = V::post('personRegon', '', $args);
+
+		// validate
+		if (!$imiona) throw new Exception("Nie wpisano imienia");
+		if (!$nazwisko) throw new Exception("Nie wpisano  nazwiska");
+
+
+		$idPracownik = DB::getPDO()->insert('BI_audit_ENERGA_PRACOWNICY', [
+			'imiona' => $personName,
+			'nazwisko' => $personSurname,
+			'nip' => $personNip,
+			'pesel' => $personPesel,
+			'regon' => $personRegon,
+			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
+			'A_RECORD_CREATE_DATE' => 'NOW()',
+			'NAZWA' => $nazwa,
+			'ID_USER' => User::getID()
+		]);
+
+		return [
+			'msg' => "Dodano osobę",
+			'type' => "success",
+		];
+	}
+
+	/**
+	*  Dodanie nowego kontrahenta
+	*/
+	public function createKontrahentAjaxAction() {
+		 Response::sendTryCatchJson(array($this, 'createKontrahentAjax'), $args = 'JSON_FROM_REQUEST_BODY'); // użyj tej wersji jeśli chcesz wysyłać z przelgądarki JSON-a post-em
+	}
+	public function createKontrahentAjax($args) {
+		$companyFullName = V::post('companyFullName', '', $args);
+		$companyShortName = V::post('$companyShortName', '', $args);
+		$companyNameGroup = V::post('companyNameGroup', '', $args);
+		$companyKrs = V::post('companyKrs', '', $args);
+		$companyNip = V::post('companyNip', '', $args);
+		$companyPesel = V::post('companyPesel', '', $args);
+		$companyFax = V::post('companyFax', '', $args);
+		$companyTelefon = V::post('companyTelefon', '', $args);
+		$companyMail = V::post('companyMail', '', $args);
+		$companyStreet = V::post('companyStreet', '', $args);
+		$companyNumberBuilding = V::post('companyNumberBuilding', '', $args);
+		$companyNumberLocal = V::post('companyNumberLocal', '', $args);
+		$companyPostCode = V::post('companyPostCode', '', $args);
+		$companyPlace = V::post('companyPlace', '', $args);
+		$companyCountry = V::post('companyCountry', '', $args);
+		$companyTypeCompany = V::post('companyTypeCompany', '', $args);
+		$companyTitleDocument = V::post('companyTitleDocument', '', $args);
+		$companyDesc = V::post('companyDesc', '', $args);
+
+		// validate
+		if (!$imiona) throw new Exception("Nie wpisano imienia");
+		if (!$nazwisko) throw new Exception("Nie wpisano  nazwiska");
+
+
+		$idKontrahent = DB::getPDO()->insert('BI_audit_ENERGA_RUM_KONTRAHENCI', [
+			'Pelna_nazwa_kontrahenta' => $companyFullName,
+			'Skrocona_Nazwa_Kontrahenta' => $companyShortName,
+			'Nazwa_grupy_kapitalowej' => $companyNameGroup,
+			'KRS' => $companyKrs,
+			'NIP' => $companyNip,
+			'PESEL' => $companyPesel,
+			'Fax' => $companyFax,
+			'Telefon' => $companyTelefon,
+			'Mail' => $companyMail,
+			'Ulica' => $companyStreet,
+			'Numer_budynku' => $companyNumberBuilding,
+			'Numer_mieszkania_lokalu' => $companyNumberLocal,
+			'Kod_pocztowy' => $companyPostCode,
+			'Miejscowosc' => $companyPlace,
+			'Kraj' => $companyCountry,
+			'Typ_kontrahenta' => $companyTypeCompany,
+			'Tytul_dokumentu' => $companyTitleDocument,
+			'uwagi' => $companyDesc,
+
+			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
+			'A_RECORD_CREATE_DATE' => 'NOW()',
+			'NAZWA' => $nazwa,
+			'ID_USER' => User::getID()
+		]);
+
+		return [
+			'msg' => "Dodano podmiot/kontrahenta",
+			'type' => "success",
+		];
+	}
+
+
 /**
  * Funkcja ajax do odebrania danych z przesłanego pliku CSV do parsowania
  */
@@ -1431,6 +1547,12 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 			throw new Exception("Nie podano wartości dla głębokości powiązań");
 		}
 
+		// tytuł raportu
+		$smadReaportTitle = V::get('smadReaportTitle', '', $args);
+		if (!$smadReaportTitle) {
+			throw new Exception("Nie podano tytułu raportu");
+		}
+
 		// Bi_analiza_onlyTarger
 		$analizaOnlyTargets = V::get('analizaOnlyTargets', '', $args);
 		if (!$analizaOnlyTargets) {
@@ -1453,10 +1575,12 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 		$idRaport = DB::getPDO()->insert('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', [
 			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
 			'A_RECORD_CREATE_DATE' => 'NOW()',
+			'L_APPOITMENT_INFO' => $smadReaportTitle,
 			'FILE_STATUS' => "TO_GENERATE",
+			'A_STATUS' => "NORMAL",
 			'BI_analiza_minDepth' => 1,
 			'BI_analiza_maxDepth' => $depthValue,
-			'BI_analiza_onlyTargets' => analizaOnlyTargets
+			'BI_analiza_onlyTargets' => $analizaOnlyTargets
 		]);
 
 		if ($idRaport > 0) {
@@ -1464,10 +1588,12 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 				'ID_USERS2' => $idRaport,
 				'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
 				'A_RECORD_CREATE_DATE' => 'NOW()',
+				'L_APPOITMENT_INFO' => $smadReaportTitle,
 				'FILE_STATUS' => "TO_GENERATE",
+				'A_STATUS' => "NORMAL",
 				'BI_analiza_minDepth' => 1,
 				'BI_analiza_maxDepth' => $depthValue,
-				'BI_analiza_onlyTargets' => analizaOnlyTargets
+				'BI_analiza_onlyTargets' => $analizaOnlyTargets
 			]);
 		}
 
@@ -1529,7 +1655,7 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 
 					$activeFormStepsKontrahent = 'complete';
 
-					$titleHeader = 'KONTRAHENCI';
+					$titleHeader = 'KONTRAHENCI/PODMIOTY';
 
 					$groupFilterList = '
 					<div class="menu-item">
@@ -1553,12 +1679,14 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 
 					$csvExampleKontrahenci = Request::getPathUri() . 'projects/bocian/theme/assets/file_example/kontrahenci_example.zip';
 					$formAddNewData ='
-					<li><a  title="IMPORT KONTRAHENCI" onClick="showViewUploadFile(event, \'Import kontrahentów\', \'kontrahenci\', \'no\', \''.$csvExampleKontrahenci.'\' )" class="btn btn-info">IMPORT KONTRAHENCI</a></li>
-					<!--<li><a href="#" title="DODAJ KONTRAHENCI" class="btn btn-info">+ DODAJ KONTRAHENCI</a></li>-->'; //todo: dodać obsługe doddawania kontrahentow
+					<li><a title="IMPORT KONTRAHENCI" onClick="showViewUploadFile(event, \'Import podmiotów/kontrahentów\', \'kontrahenci\', \'no\', \''.$csvExampleKontrahenci.'\' )" class="btn btn-info">IMPORT KONTRAHENCI</a></li>
+					<li><a title="DODAJ KONTRAHENCI" onClick="createKontrahentAjax(event)" class="btn btn-info">+ DODAJ PODMIOT</a></li>'; //todo: dodać obsługe doddawania kontrahentow
 
 					$buttonMoveToGroup = '<a title="DODAJ WYBRANE DO GRUPY" onClick="addKontrahenciToGroup(event)" class="btn btn-info">DODAJ WYBRANE DO GRUPY</a>';
 					$buttonMoveToGroup .= '<a title="DODAJ WSZYSTKIE DO GRUPY" onClick="addKontrahenciAllToGroup(event)" class="btn btn-info" style="margin-left:12px">DODAJ WSZYSTKIE DO GRUPY</a>';
 
+					$formSmadReaportTitleInput = '<input type="text" class="form-control smad-reaport-title-kontrahenci" placeholder="Default reaport" value="" />';
+
 					$showButtonNextStep = '';
 
 					$pagination_form = '<div id="pagination-kontrahenci"></div>';
@@ -1575,7 +1703,7 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 				break;
 
 				case 'PRACOWNICY':
-					$titleHeader = 'PRACOWNICY';
+					$titleHeader = 'OSOBY';
 
 					$groupFilterList = '
 					<div class="menu-item">
@@ -1599,14 +1727,16 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 
 					$csvExamplePracownicy = Request::getPathUri() . 'projects/bocian/theme/assets/file_example/pracownicy_example.zip';
 					$formAddNewData ='
-					<li><a  title="IMPORT PRACOWNIKÓW" onClick="showViewUploadFile(event, \'Import pracowników\', \'pracownicy\', \'yes\', \''.$csvExamplePracownicy.'\'  )" class="btn btn-info">IMPORT PRACOWNIKÓW</a></li>
-					<!--<li><a href="#" title="DODAJ PRACOWNIKÓW" class="btn btn-info" >+ DODAJ PRACOWNIKÓW</a></li>-->'; //todo: dodać obsługe doddawania pracownikow
+					<li><a title="IMPORT PRACOWNIKÓW" onClick="showViewUploadFile(event, \'Import osób\', \'pracownicy\', \'yes\', \''.$csvExamplePracownicy.'\'  )" class="btn btn-info">IMPORT PRACOWNIKÓW</a></li>
+					<li><a title="DODAJ PRACOWNIKÓW" onClick="createPracownikAjax(event)" class="btn btn-info" >+ DODAJ OSOBĘ</a></li>'; //todo: dodać obsługe doddawania pracownikow
 
 					$buttonMoveToGroup = '<a title="DODAJ WYBRANE DO GRUPY" onClick="addPracownikToGroup(event)" class="btn btn-info">DODAJ WYBRANE DO GRUPY</a>';
 					$buttonMoveToGroup .= '<a title="DODAJ WSZYSTKIE DO GRUPY" onClick="addPracownikAllToGroup(event)" class="btn btn-info" style="margin-left:12px">DODAJ WSZYSTKIE DO GRUPY</a>';
 
 					$showButtonNextStep = '<a href="'.Request::getPathUri().'index.php?_route=UrlAction_Bocian#KONTRAHENCI"  title="DODAJ DO ANALIZY" class="btn btn-primary">DODAJ DO ANALIZY</a>';
 
+					$formSmadReaportTitleInput = '<input type="text" class="form-control smad-reaport-title-pracownicy" placeholder="Default reaport" value="" />';
+
 					$pagination_form = '<div id="pagination-pracownicy"></div>';
 
 					$acl = ACL::getAclByNamespace("default_db/BI_audit_ENERGA_PRACOWNICY/BI_audit_ENERGA_PRACOWNICY");
@@ -1644,7 +1774,7 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 																			<a href="'.Request::getPathUri().'index.php?_route=UrlAction_Bocian#PRACOWNICY" class="smad-wizard-dot"></a>
 																			<div class="smad-wizard-info complete text-center">
 																					<div class="step-item"><a href="'.Request::getPathUri().'index.php?_route=UrlAction_Bocian#PRACOWNICY">Krok 1</a></div>
-																					<div class="step-title">PRACOWNICY <span class="top--count-selected-item-pracownicy"></span></div>
+																					<div class="step-title">OSOBY <span class="top--count-selected-item-pracownicy"></span></div>
 																			</div>
 																	</div>
 
@@ -1654,7 +1784,7 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 																			<a href="'.Request::getPathUri().'index.php?_route=UrlAction_Bocian#KONTRAHENCI" class="smad-wizard-dot"></a>
 																			<div class="smad-wizard-info  text-center">
 																					<div class="step-item"><a href="'.Request::getPathUri().'index.php?_route=UrlAction_Bocian#KONTRAHENCI">Krok 2</a></div>
-																					<div class="step-title">KONTRAHENCI <span class="top--count-selected-item-kontrahenci"></span></div>
+																					<div class="step-title">PODMIOTY/<BR />KONTRAHENCI <span class="top--count-selected-item-kontrahenci"></span></div>
 																			</div>
 																	</div>
 
@@ -1775,6 +1905,15 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 	</div>
 	<!-- start:employees-section -->
 
+	<div class="container-fluid ">
+			<div class="row">
+					<div class="container text-center">
+								<div class="col-md-7  col-lg-5 "  style="margin: 0 auto; float: none;">
+									'.$formSmadReaportTitleInput.'
+								</div>
+					</div>
+			</div>
+ </div>
 	<!-- START:bottom generate reaport-->
 <div class="container-fluid smad-generate-reaport">
     <div class="row">

+ 261 - 11
tools/Bocian.php.view.js

@@ -42,6 +42,38 @@ function urlFetchKontrahenciPowiazania() {
 
 
 /* FORM DATA FOR GENERATAE REAPORT */
+/**
+ * Load data default title reaport in storage
+ */
+function loadCurrentReaportTitleInInput(idInput) {
+  var reaportTitleValue = getItemLocalStorage("Bocian.biAuditForm.smadReaportTitle");
+
+  if ( getItemLocalStorage('Bocian.biAuditForm.smadReaportTitle') === null ) {
+    reaportTitleValue = setItemLocalStorage('Bocian.biAuditForm.smadReaportTitle', 'Default reaport');
+  }
+
+  $(idInput).val(function() {
+     return reaportTitleValue;
+  });
+}
+
+/**
+ * Update data title reaport in storage from input
+ */
+function updateLocalStorageBiAuditReaportTitle(idInput) {
+  $(idInput).keyup(function() {
+    delayUpdate(function(){
+      var newValue = $(idInput).val();
+      setItemLocalStorage('Bocian.biAuditForm.smadReaportTitle', newValue);
+      loadCurrentReaportTitleInInput('.smad-reaport-title-pracownicy');
+      loadCurrentReaportTitleInInput('.smad-reaport-title-kontrahenci');
+    }, 1000 );
+  });
+}
+
+/**
+ * Load data default depth in storage
+ */
 function loadCurrentDepthInInput(idInput) {
   var depthValue = getItemLocalStorage('Bocian.biAuditForm.depth');
 
@@ -50,7 +82,9 @@ function loadCurrentDepthInInput(idInput) {
    });
 }
 
-
+/**
+ * Update data default depth in storage
+ */
 function updateLocalStorageBiAuditDepth(idInput) {
   $(idInput).keyup(function() {
     delayUpdate(function(){
@@ -171,6 +205,10 @@ function initLocalStorage() {
 		updateLocalStorageBiAuditDepth(7);
 	}
 
+	if (getItemLocalStorage('Bocian.biAuditForm.smadReaportTitle') === null) {
+		updateLocalStorageBiAuditReaportTitle('Default reaport');
+	}
+
 	if (getItemLocalStorage('Bocian.biAuditForm.analizaOnlyTargets') === null) {
 		setItemLocalStorage('Bocian.biAuditForm.analizaOnlyTargets', defaultOnlyTarger);
 	}
@@ -329,9 +367,13 @@ function generateBiAuditRaport(event) {
 		var pracownicyIdsArray = getItemLocalStorage('Bocian.biAuditForm.pracownicyIds');
 		var kontrahenciIdsArray = getItemLocalStorage('Bocian.biAuditForm.kontrahenciIds');
 		var depthValue = getItemLocalStorage('Bocian.biAuditForm.depth');
+		var smadReaportTitle = getItemLocalStorage('Bocian.biAuditForm.smadReaportTitle');
 		var analizaOnlyTargets = getItemLocalStorage('Bocian.biAuditForm.analizaOnlyTargets');
 
 		// validate
+		if(!smadReaportTitle || smadReaportTitle == '') {
+			p5UI__notifyAjaxCallback({ type: 'error', msg: 'Nie podano tytułu raportu' });
+		}
 		if (!depthValue || depthValue === 0) {
 			p5UI__notifyAjaxCallback({ type: 'error', msg: 'Nie podano wartości dla głębokości powiązań' });
 		} else if ( (!pracownicyIdsArray || pracownicyIdsArray.length === 0) && (!kontrahenciIdsArray || kontrahenciIdsArray.length === 0)	 ) {
@@ -345,10 +387,10 @@ function generateBiAuditRaport(event) {
 				var messageConfirm = '';
 				// check selected items
 				if ( !pracownicyIdsArray || pracownicyIdsArray.length === 0 ) {
-					messageConfirm = 'Nie wybrano pracownika/ów! Czas przygotowania raportu może wydłużyć się ze względu na sprawdzenie powiązania ze wszystkimi pracownikami w systemie. Czy jesteś pewny? ';
+					messageConfirm = 'Nie wybrano osób! Czas przygotowania raportu może wydłużyć się ze względu na sprawdzenie powiązania ze wszystkimi osobami w systemie. Czy jesteś pewny? ';
 				}
 				if ( !kontrahenciIdsArray || kontrahenciIdsArray.length === 0 )  {
-					messageConfirm = 'Nie wybrano kontrahenta/ów! Czas przygotowania raportu może wydłużyć się ze względu na sprawdzenie powiązania ze wszystkimi kontrahentami w systemie. Czy jesteś pewny? ';
+					messageConfirm = 'Nie wybrano podmiotów/kontrahentów! Czas przygotowania raportu może wydłużyć się ze względu na sprawdzenie powiązania ze wszystkimi podmiotami/kontrahentami w systemie. Czy jesteś pewny? ';
 				}
 
 				// show confirm window with message
@@ -371,6 +413,7 @@ function generateBiAuditRaport(event) {
 					     pracownicyIds: pracownicyIdsArray,
 					     kontrahenciIds: kontrahenciIdsArray,
 					     depthValue: depthValue,
+							 smadReaportTitle: smadReaportTitle,
 							 analizaOnlyTargets: analizaOnlyTargets
 					  })
 					})
@@ -417,6 +460,201 @@ function generateBiAuditRaport(event) {
 		}
 }
 
+/**
+* Dodaj nowego pracownika
+*/
+function createPracownikAjax(event) {
+	event.preventDefault();
+
+	swal({
+	  title: 'Dodaj osobę',
+	  showCancelButton: true,
+	  confirmButtonText: 'Zapisz',
+	  showLoaderOnConfirm: true,
+	  html:
+		'<div class="form-group">'+
+    '<input class="form-control required" id="personName" placeholder="Imię" >' +
+    '<input class="form-control required" id="personSurname" placeholder="Nazwisko">'+
+		'<input class="form-control required" id="personNip" placeholder="NIP">'+
+		'<input class="form-control required" id="personPesel" placeholder="PESEL">'+
+		'<input class="form-control required" id="personRegon" placeholder="REGON">'+
+		'</div>',
+	   preConfirm: () => {
+	    return new Promise(function (resolve, reject) {
+
+				// data from form
+				var personName = $('#personName').val();
+				var personSurname = $('#personSurname').val();
+				var personNip = $('#personNip').val();
+				var personPesel = $('#personPesel').val();
+				var personRegon = $('#personRegon').val();
+
+				//validate data from input
+				if (!personName) reject('Proszę podać imię');
+				if (!personSurname) reject('Proszę podać nazwisko');
+
+				window.fetch(URL_CREATE_PRACOWNICY, {
+					method: 'POST',
+					header: {
+						'contentType': 'applications/json'
+					},
+					credentials: 'same-origin',
+					body: JSON.stringify({
+						'personName': personName,
+						'personSurname': personSurname,
+						'personNip': personNip,
+						'personPesel': personPesel,
+						'personRegon': personRegon
+					})
+				})
+				.then(function(response) {
+					return response.text();
+				})
+				.then(function(responseText) {
+
+					try {
+						return JSON.parse(responseText);
+					} catch (e) {
+						throw responseText;
+					}
+				})
+				.then(function(result) {
+
+					if (result.type == 'success') {
+						p5UI__notifyAjaxCallback(result);
+						resolve(result.body);
+					}
+				})
+				.catch(function(error) {
+					if(DBG) console.log('request failed', error);
+				})
+
+	    })
+	  },
+	  allowOutsideClick: false
+	}).then(function (createPerson) {
+		 if(DBG) console.log('dodanie osoby: ', createPerson);
+
+	});
+}
+
+/**
+* Dodaj nowego kontrahenta
+*/
+function createKontrahentAjax(event) {
+	event.preventDefault();
+
+	swal({
+	  title: 'Dodaj podmiot/kontrahenta',
+	  showCancelButton: true,
+	  confirmButtonText: 'Zapisz',
+	  showLoaderOnConfirm: true,
+	  html:
+		'<div class="form-group">'+
+    '<input class="form-control required" id="companyFullName" placeholder="Pelna nazwa" >' +
+    '<input class="form-control required" id="companyShortName" placeholder="Skrócona nazwa\">'+
+		'<input class="form-control required" id="companyNameGroup" placeholder="Nazwa grupy kapitałowej">'+
+		'<input class="form-control required" id="companyKrs" placeholder="KRS">'+
+		'<input class="form-control required" id="companyNip" placeholder="NIP">'+
+		'<input class="form-control required" id="companyPesel" placeholder="PESEL">'+
+		'<input class="form-control required" id="companyFax" placeholder="FAX">'+
+		'<input class="form-control required" id="companyTelefon" placeholder="Telefon">'+
+		'<input class="form-control required" id="companyMail" placeholder="Mail">'+
+		'<input class="form-control required" id="companyStreet" placeholder="Ulica">'+
+		'<input class="form-control required" id="companyNumberBuilding" placeholder="Numer budynku">'+
+		'<input class="form-control required" id="companyNumberLocal" placeholder="Numer mieszkania /lokalu">'+
+		'<input class="form-control required" id="companyPostCode" placeholder="Kod pocztowy">'+
+		'<input class="form-control required" id="companyPlace" placeholder="Miejscowosc">'+
+		'<input class="form-control required" id="companyCountry" placeholder="Kraj">'+
+		'<input class="form-control required" id="companyTypeCompany" placeholder="Typ kontrahenta">'+
+		'<input class="form-control required" id="companyTitleDocument" placeholder="Tytul dokumentu">'+
+		'<input class="form-control required" id="companyDesc" placeholder="uwagi">'+
+		'</div>',
+
+	   preConfirm: () => {
+	    return new Promise(function (resolve, reject) {
+
+				// data from form
+				var companyFullName = $('#companyFullName').val();
+				var companyShortName = $('#companyShortName').val();
+				var companyNameGroup = $('#companyNameGroup').val();
+				var companyKrs = $('#companyKrs').val();
+				var companyNip = $('#companyNip').val();
+				var companyPesel = $('#companyPesel').val();
+				var companyFax = $('#companyFax').val();
+				var companyTelefon = $('#companyTelefon').val();
+				var companyMail = $('#companyMail').val();
+				var companyStreet = $('#companyStreet').val();
+				var companyNumberBuilding = $('#companyNumberBuilding').val();
+				var companyNumberLocal = $('#companyNumberLocal').val();
+				var companyPostCode = $('#companyPostCode').val();
+				var companyPlace = $('#companyPlace').val();
+				var companyCountry = $('#companyCountry').val();
+				var companyTypeCompany = $('#companyTypeCompany').val();
+				var companyTitleDocument = $('#companyTitleDocument').val();
+				var companyDesc = $('#companyDesc').val();
+
+
+				//validate data from input
+				if (!companyFullName) reject('Proszę podać imię');
+
+				window.fetch(URL_CREATE_PRACOWNICY, {
+					method: 'POST',
+					header: {
+						'contentType': 'applications/json'
+					},
+					credentials: 'same-origin',
+					body: JSON.stringify({
+						'companyFullName': companyFullName,
+						'companyShortName': companyShortName,
+						'companyNameGroup': companyNameGroup,
+						'companyKrs': companyKrs,
+						'companyNip': companyNip,
+						'companyPesel': companyPesel,
+						'companyFax': companyFax,
+						'companyTelefon': companyTelefon,
+						'companyMail': companyMail,
+						'companyStreet': companyStreet,
+						'companyNumberBuilding': companyNumberBuilding,
+						'companyNumberLocal': companyNumberLocal,
+						'companyPostCode': companyPostCode,
+						'companyPlace': companyPlace,
+						'companyCountry': companyCountry,
+						'companyTypeCompany': companyTypeCompany,
+						'companyTitleDocument': companyTitleDocument,
+						'companyDesc': companyDesc
+					})
+				})
+				.then(function(response) {
+					return response.text();
+				})
+				.then(function(responseText) {
+
+					try {
+						return JSON.parse(responseText);
+					} catch (e) {
+						throw responseText;
+					}
+				})
+				.then(function(result) {
+
+					if (result.type == 'success') {
+						p5UI__notifyAjaxCallback(result);
+						resolve(result.body);
+					}
+				})
+				.catch(function(error) {
+					if(DBG) console.log('request failed', error);
+				})
+
+	    })
+	  },
+	  allowOutsideClick: false
+	}).then(function (createPerson) {
+		 if(DBG) console.log('dodanie podmiotu: ', createPerson);
+
+	});
+}
 
 /**
  * Popup z opcja przeniesienia pracowników do innej grupy
@@ -426,9 +664,9 @@ function addPracownikToGroup(event) {
 
 	var pracownicyIdsArray = getItemLocalStorage('Bocian.biAuditForm.pracownicyIds');
 	if (pracownicyIdsArray === null || !pracownicyIdsArray || !pracownicyIdsArray.length) {
-		showTextListIdPracownikow = 'nie wybrano pracowników';
+		showTextListIdPracownikow = 'nie wybrano osób';
 	} else {
-		showTextListIdPracownikow = '' + pracownicyIdsArray.length + ' pracowników';
+		showTextListIdPracownikow = '' + pracownicyIdsArray.length + ' osób';
 	}
 
 	var arrayGroupOptions = [];
@@ -601,7 +839,7 @@ function addKontrahenciToGroup(event) {
 	if (kontrahenciIdsArray === null || !kontrahenciIdsArray || !kontrahenciIdsArray.length) {
 		showTextListIdKontrahentow = 'nie wybrano kontrahentów';
 	} else {
-		showTextListIdKontrahentow = '' + kontrahenciIdsArray.length + ' kontrahentów';
+		showTextListIdKontrahentow = '' + kontrahenciIdsArray.length + ' podmiotów/kontrahentów';
 	}
 
 	var arrayGroupOptions = [];
@@ -678,7 +916,7 @@ function addKontrahenciAllToGroup(event) {
 
 	var kontrahenciIdsArray = getItemLocalStorage('Bocian.biAuditForm.kontrahenciIds');
 
-	var showTextListIdKontrahentow = 'wszystkich kontrahentów pasujących do kryteriów wyszukiwania';
+	var showTextListIdKontrahentow = 'wszystkich podmotów/kontrahentów pasujących do kryteriów wyszukiwania';
 
 	var arrayGroupOptions = [];
 	var listGroupStorage = getItemLocalStorage('Bocian.biAuditForm.kontrahenci.groups');
@@ -928,9 +1166,17 @@ urlFetchKontrahenciPowiazania();
 		break;
 	}
 
+	// pobranie defaultowego tytułu dla generowanego raportu
+	loadCurrentReaportTitleInInput('.smad-reaport-title-pracownicy');
+	loadCurrentReaportTitleInInput('.smad-reaport-title-kontrahenci');
+	// aktualizacja inputów defaultowego tytułu dla generowanego raportu
+	updateLocalStorageBiAuditReaportTitle('.smad-reaport-title-pracownicy');
+	updateLocalStorageBiAuditReaportTitle('.smad-reaport-title-kontrahenci');
+
 	//aktualizacja inputa głebokości powiazan
 	loadCurrentDepthInInput('.smad-depth');
 	loadCurrentDepthInInput('.smad-depth-kontrahenci');
+
 	updateLocalStorageBiAuditDepth('.smad-depth');
 	updateLocalStorageBiAuditDepth('.smad-depth-kontrahenci');
 	// aktualizacja select option czy zwracać wyniki tylko z obiektami docelowymi
@@ -1090,7 +1336,7 @@ function urlFetchKontrahenci(page) {
 							var thisButton = $(this)
 							thisButton.attr('disabled', true)
 							thisButton.text( thisButton.text() + '...' )
-							p5UI__notifyAjaxCallback({ type: 'info', msg: "Pobieranie kontrahentów..." })
+							p5UI__notifyAjaxCallback({ type: 'info', msg: "Pobieranie podmiotów/kontrahentów..." })
 							global.fetch(URL_FETCH_KONTRAHENCI_IDS_AJAX, {
 								credentials: 'same-origin',
 								method: 'POST',
@@ -2366,8 +2612,8 @@ function updateTopCounters() {
 	if(DBG) console.warn({totalPracownicy: totalPracownicy, totalKontrahenci: totalKontrahenci})
 	$('.top--count-selected-item-pracownicy').text(totalPracownicy ? '('+totalPracownicy+')' : '');
 	$('.top--count-selected-item-kontrahenci').text(totalKontrahenci ? '('+totalKontrahenci+')' : '');
-	$('.bottom--count-selected-item-pracownicy').text(totalPracownicy ? "Wybrano: (" + totalPracownicy + ") pracownika/ów" : '');
-	$('.bottom--count-selected-item-kontrahenci').text(totalKontrahenci ? "Wybrano: (" + totalKontrahenci + ") kontrahenta/ów" : '');
+	$('.bottom--count-selected-item-pracownicy').text(totalPracownicy ? "Wybrano: (" + totalPracownicy + ") osób" : '');
+	$('.bottom--count-selected-item-kontrahenci').text(totalKontrahenci ? "Wybrano: (" + totalKontrahenci + ") podmiotów/kontrahentaów" : '');
 
 
 // disable button generate reaport if not choise 'praconwicy' or 'kontrahenci'
@@ -2383,7 +2629,6 @@ function updateTopCounters() {
 			$('.bottom--message-warning-critical-search').text('');
 		}
 
-
 		$('.smad-generate-reaport-button').removeClass('disabled');
 	}
 }
@@ -2778,6 +3023,9 @@ global.urlFetchPracownicy = urlFetchPracownicy;
 global.generateBiAuditRaport = generateBiAuditRaport;
 global.getAddressData = getAddressData;
 
+global.loadCurrentReaportTitleInInput = loadCurrentReaportTitleInInput;
+global.updateLocalStorageBiAuditReaportTitle = updateLocalStorageBiAuditReaportTitle;
+
 global.Pagination = Pagination;
 global.todo__fetchRaport = todo__fetchRaport;
 
@@ -2793,6 +3041,8 @@ global.addPracownikToGroup = addPracownikToGroup;
 global.addPracownikAllToGroup = addPracownikAllToGroup;
 global.addKontrahenciToGroup = addKontrahenciToGroup;
 global.addKontrahenciAllToGroup = addKontrahenciAllToGroup;
+global.createPracownikAjax = createPracownikAjax;
+global.createKontrahentAjax = createKontrahentAjax;
 
 global.showViewUploadFile = showViewUploadFile;
 global.parseCsvFile = parseCsvFile;

+ 24 - 0
tools/page-offer.view.php

@@ -0,0 +1,24 @@
+<div class="container-fluid">
+  <div class="container" style="padding: 50px 0;">
+      <h1>Oferta</h1>
+      <h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+      <h5>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...."</h5>
+      <hr>
+          <p>
+            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec ipsum vitae nibh efficitur vulputate id id ipsum. Integer congue nec dui ut rutrum. Nullam quis elit tellus. Nam quis ornare tortor. Mauris fermentum sem orci, eget dignissim risus fringilla vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum lacinia consectetur sollicitudin. Maecenas quis faucibus elit, eu iaculis leo. Integer viverra libero ac egestas laoreet. Suspendisse cursus tellus nec dapibus mattis. Integer eget felis porta, lacinia tellus ut, bibendum odio.
+          </p>
+          <p>
+            Nam rhoncus tortor quam, at dapibus leo commodo quis. Aliquam tempor, sapien quis facilisis facilisis, justo odio laoreet lorem, in accumsan risus erat in nulla. Aenean at risus egestas, egestas quam vitae, porta est. Curabitur non ullamcorper purus. Mauris lacinia diam et purus auctor, a porta est volutpat. Nullam in urna ut dui mattis vulputate. Nullam pharetra diam in metus vestibulum, eu dictum urna tempus. Phasellus porttitor nisi nisl, ut finibus felis consectetur at. Nulla malesuada enim eget tellus fermentum, vitae ullamcorper ante congue. Praesent fermentum finibus commodo. Sed venenatis semper nulla, in viverra mi vehicula nec. Nam est sem, posuere vel turpis ac, cursus maximus erat.
+          </p>
+          <p>
+            Vivamus feugiat suscipit nisl eget ornare. Nulla sodales ex lacus, sed tincidunt felis pulvinar vitae. Mauris ut magna quis ante ornare ullamcorper. Curabitur ut sodales sapien. Donec in arcu lacinia, tempor augue et, imperdiet est. Aenean in orci pharetra, interdum sapien nec, posuere lectus. Vivamus gravida turpis lacus, imperdiet lobortis est euismod non. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi maximus tellus in enim condimentum tristique. Phasellus fringilla ultrices arcu. Fusce egestas tellus eu orci interdum, non consectetur sem consequat. Sed vehicula, dui vitae convallis aliquam, neque risus bibendum mi, in bibendum odio enim in mi.
+          </p>
+          <p>
+            Ut eu justo mauris. Morbi dignissim dolor id ante molestie eleifend. Praesent eu eleifend sapien. Vestibulum placerat tortor vel pellentesque facilisis. Sed pharetra, dolor vel aliquet placerat, metus nulla tempus massa, vitae pulvinar justo lorem ac lectus. Mauris maximus vehicula accumsan. Morbi vestibulum malesuada massa at sodales.
+          </p>
+          <p>
+            Nullam ut arcu tortor. Duis pretium enim erat, fringilla fermentum ligula dapibus eu. Sed eget nunc non ipsum tempus viverra. Praesent eu mi id justo lacinia scelerisque facilisis a est. Nam sit amet risus sapien. Quisque vel facilisis ipsum. Curabitur urna ipsum, bibendum imperdiet convallis at, aliquet vitae enim. Integer et erat elementum sapien sodales rhoncus at nec purus. Sed faucibus ipsum ut lectus volutpat suscipit non maximus lacus. Donec tincidunt purus ac dignissim posuere. Vestibulum id venenatis nisi, in rhoncus justo. Proin rutrum, dolor et luctus condimentum, est nunc efficitur nibh, eu vulputate ligula nisl sed lacus. Proin congue, ante eu aliquam egestas, quam dolor ultricies lectus, in ultrices ante odio at dolor. Nam in diam dapibus, pulvinar enim id, aliquet nunc. Aenean a massa mi. Curabitur molestie odio in ante mollis, quis eleifend lacus efficitur.
+          </p>
+        <hr>
+  </div>
+</div>

Some files were not shown because too many files changed in this diff