瀏覽代碼

fixed inline edit form bug in Przypomnij

Piotr Labudda 8 年之前
父節點
當前提交
6b612fca43
共有 1 個文件被更改,包括 32 次插入14 次删除
  1. 32 14
      SE/se-lib/Przypomnij.php

+ 32 - 14
SE/se-lib/Przypomnij.php

@@ -48,13 +48,13 @@ class Przypomnij {
 		//$usrAclGroups[] = '';// TODO: empty group not allowed to view for everyone?
 		//$usrAclGroups[] = '';// TODO: empty group not allowed to view for everyone?
 		$sqlUsrAclGroups = "'" . implode("','", $usrAclGroups) . "'";
 		$sqlUsrAclGroups = "'" . implode("','", $usrAclGroups) . "'";
 		$sqlFltr_TODO = "
 		$sqlFltr_TODO = "
-			t.`A_ADM_COMPANY` in({$sqlUsrAclGroups})
-			and t.`A_CLASSIFIED` in({$sqlUsrAclGroups})
+			t.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
+			and t.`A_CLASSIFIED` in({$sqlUsrAclGroups}, '')
 		";
 		";
 
 
 		$sqlAclFltrKoresp = "
 		$sqlAclFltrKoresp = "
-			and (kor.`A_ADM_COMPANY` in({$sqlUsrAclGroups})
-					or kor.`A_CLASSIFIED` in({$sqlUsrAclGroups})
+			and (kor.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
+					or kor.`A_CLASSIFIED` in({$sqlUsrAclGroups}, '')
 					or kor.`L_APPOITMENT_USER`='{$usrLogin}'
 					or kor.`L_APPOITMENT_USER`='{$usrLogin}'
 					)
 					)
 		";
 		";
@@ -95,8 +95,8 @@ class Przypomnij {
 		}
 		}
 
 
 		$sqlAclFltrProj = "
 		$sqlAclFltrProj = "
-			and (proj.`A_ADM_COMPANY` in({$sqlUsrAclGroups})
-					or proj.`A_CLASSIFIED` in({$sqlUsrAclGroups})
+			and (proj.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
+					or proj.`A_CLASSIFIED` in({$sqlUsrAclGroups}, '')
 					or proj.`L_APPOITMENT_USER`='{$usrLogin}'
 					or proj.`L_APPOITMENT_USER`='{$usrLogin}'
 					)
 					)
 		";
 		";
@@ -136,8 +136,8 @@ class Przypomnij {
 		}
 		}
 
 
 		$sqlAclFltrProces = "
 		$sqlAclFltrProces = "
-			and (p.`A_ADM_COMPANY` in({$sqlUsrAclGroups})
-					or p.`A_CLASSIFIED` in({$sqlUsrAclGroups})
+			and (p.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
+					or p.`A_CLASSIFIED` in({$sqlUsrAclGroups}, '')
 					or p.`L_APPOITMENT_USER`='{$usrLogin}'
 					or p.`L_APPOITMENT_USER`='{$usrLogin}'
 					)
 					)
 		";
 		";
@@ -173,8 +173,8 @@ class Przypomnij {
 		}
 		}
 
 
 		$sqlAclFltrProblems = "
 		$sqlAclFltrProblems = "
-			and (probl.`A_ADM_COMPANY` in({$sqlUsrAclGroups})
-					or probl.`A_CLASSIFIED` in({$sqlUsrAclGroups})
+			and (probl.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
+					or probl.`A_CLASSIFIED` in({$sqlUsrAclGroups}, '')
 					or probl.`L_APPOITMENT_USER`='{$usrLogin}'
 					or probl.`L_APPOITMENT_USER`='{$usrLogin}'
 					)
 					)
 		";
 		";
@@ -211,8 +211,8 @@ class Przypomnij {
 		}
 		}
 
 
 		$sqlAclFltrProces = "
 		$sqlAclFltrProces = "
-			and (p.`A_ADM_COMPANY` in({$sqlUsrAclGroups})
-					or p.`A_CLASSIFIED` in({$sqlUsrAclGroups})
+			and (p.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
+					or p.`A_CLASSIFIED` in({$sqlUsrAclGroups}, '')
 					or p.`L_APPOITMENT_USER`='{$usrLogin}'
 					or p.`L_APPOITMENT_USER`='{$usrLogin}'
 					)
 					)
 		";
 		";
@@ -821,7 +821,7 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
 			$typeSpecial = Typespecial::getInstance($fieldID, $vCol['name']);
 			$typeSpecial = Typespecial::getInstance($fieldID, $vCol['name']);
 			if ($typeSpecial) {
 			if ($typeSpecial) {
 				if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">Typespecial('.$fieldID.') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($typeSpecial);echo'</pre>';}
 				if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">Typespecial('.$fieldID.') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($typeSpecial);echo'</pre>';}
-				$specialValues = $typeSpecial->getEditSelectedValuesByIds($zasobID, $row->ID, $fieldName, V::get($fieldName, $fieldVal, $row));
+				$specialValues = $typeSpecial->getEditSelectedValuesByIds($tblAcl->getID(), $row->ID, $fieldName, V::get($fieldName, $fieldVal, $row));
 				if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">Typespecial('.$fieldID.') specialValues (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($specialValues);echo'</pre>';}
 				if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">Typespecial('.$fieldID.') specialValues (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($specialValues);echo'</pre>';}
 				if (!empty($specialValues)) {
 				if (!empty($specialValues)) {
 					$tsValues[$row->ID] = implode('<br>', $specialValues);
 					$tsValues[$row->ID] = implode('<br>', $specialValues);
@@ -844,7 +844,25 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
 			if (!empty($vDefault)) {
 			if (!empty($vDefault)) {
 				$fieldParams['default'] = $vDefault;
 				$fieldParams['default'] = $vDefault;
 			}
 			}
-			echo $tblAcl->showFormItem('W', $fieldID, "f{$fieldID}", $fieldVal, $fieldParams, $row);
+			// echo $tblAcl->showFormItem('W', $fieldID, "f{$fieldID}", $fieldVal, $fieldParams, $row);
+			$record = $row;
+			if (!$tblAcl->canWriteObjectField($fieldName, $record)) {
+				// TODO: hide Zapisz btn on frontend side
+				if (!$tblAcl->canReadObjectField($fieldName, $record)) {
+					UI::alert('warning', "Brak uprawnień do odczytu i zapisu");
+				} else {
+					echo '<p style="margin-top:16px">' . $fieldVal . '</p>';
+					UI::alert('warning', "Brak uprawnień do zapisu");
+				}
+			} else {
+				echo $tblAcl->showFormItem('W', $fieldID, "f{$fieldID}", $fieldVal, $fieldParams, $record);
+				if ($typeSpecial
+						|| $tblAcl->isDateField($fieldName)
+						|| $tblAcl->isDateTimeField($fieldName)
+				) {
+					echo '<p style="padding:120px 0;"></p>';
+				}
+			}
 		}
 		}
 
 
 		echo '<p style="padding:100px 0;"></p>';
 		echo '<p style="padding:100px 0;"></p>';