responsive self service
This commit is contained in:
		
							parent
							
								
									5342ee41ad
								
							
						
					
					
						commit
						a74e645ea3
					
				|  | @ -936,7 +936,7 @@ class pykotaUser extends baseModule { | |||
| 	 * @param array $attributes attributes of LDAP account | ||||
| 	 * @param boolean $passwordChangeOnly indicates that the user is only allowed to change his password and no LDAP content is readable | ||||
| 	 * @param array $readOnlyFields list of read-only fields | ||||
| 	 * @return array list of meta HTML elements (field name => htmlTableRow) | ||||
| 	 * @return array list of meta HTML elements (field name => htmlResponsiveRow) | ||||
| 	 */ | ||||
| 	function getSelfServiceOptions($fields, $attributes, $passwordChangeOnly, $readOnlyFields) { | ||||
| 		if ($passwordChangeOnly) { | ||||
|  | @ -949,86 +949,70 @@ class pykotaUser extends baseModule { | |||
| 		if (in_array('pykotaBalance', $fields)) { | ||||
| 			$pykotaBalance = ''; | ||||
| 			if (isset($attributes['pykotaBalance'][0])) $pykotaBalance = $attributes['pykotaBalance'][0]; | ||||
| 			$return['pykotaBalance'] = new htmlTableRow(array( | ||||
| 				new htmlOutputText($this->getSelfServiceLabel('pykotaBalance', _('Balance'))), new htmlOutputText($pykotaBalance) | ||||
| 			)); | ||||
| 			$row = new htmlResponsiveRow(); | ||||
| 			$row->add(new htmlOutputText($this->getSelfServiceLabel('pykotaBalance', _('Balance'))), 12, 6, 6, 'responsiveLabel'); | ||||
| 			$row->add(new htmlOutputText($pykotaBalance), 12, 6, 6, 'responsiveField'); | ||||
| 			$return['pykotaBalance'] = $row; | ||||
| 		} | ||||
| 		if (in_array('pykotaLifeTimePaid', $fields)) { | ||||
| 			$pykotaLifeTimePaid = ''; | ||||
| 			if (isset($attributes['pykotaLifeTimePaid'][0])) $pykotaLifeTimePaid = $attributes['pykotaLifeTimePaid'][0]; | ||||
| 			$return['pykotaLifeTimePaid'] = new htmlTableRow(array( | ||||
| 				new htmlOutputText($this->getSelfServiceLabel('pykotaLifeTimePaid', _('Total paid'))), new htmlOutputText($pykotaLifeTimePaid) | ||||
| 			)); | ||||
| 			$row = new htmlResponsiveRow(); | ||||
| 			$row->add(new htmlOutputText($this->getSelfServiceLabel('pykotaLifeTimePaid', _('Total paid'))), 12, 6, 6, 'responsiveLabel'); | ||||
| 			$row->add(new htmlOutputText($pykotaLifeTimePaid), 12, 6, 6, 'responsiveField'); | ||||
| 			$return['pykotaLifeTimePaid'] = $row; | ||||
| 		} | ||||
| 		// payment history
 | ||||
| 		if (in_array('pykotaPayments', $fields)) { | ||||
| 			$pykotaPayments = new htmlTable(); | ||||
| 			$pykotaPayments->colspan = 5; | ||||
| 			$pykotaPayments = new htmlResponsiveRow(); | ||||
| 			if (!empty($attributes['pykotaPayments'][0])) { | ||||
| 				$spacer = new htmlSpacer('10px', null); | ||||
| 				$pykotaPayments->addElement(new htmlOutputText(_('Date')), false, true); | ||||
| 				$pykotaPayments->addElement($spacer); | ||||
| 				$pykotaPayments->addElement(new htmlOutputText(_('Amount')), false, true); | ||||
| 				$pykotaPayments->addElement($spacer); | ||||
| 				$pykotaPayments->addElement(new htmlOutputText(_('Comment')), true, true); | ||||
| 				$pykotaPayments->add(new htmlOutputText(_('Date')), 3, 3, 3, 'bold'); | ||||
| 				$pykotaPayments->add(new htmlOutputText(_('Amount')), 3, 3, 3, 'bold'); | ||||
| 				$pykotaPayments->add(new htmlOutputText(_('Comment')), 6, 6, 6, 'bold'); | ||||
| 				rsort($attributes['pykotaPayments']); | ||||
| 				foreach ($attributes['pykotaPayments'] as $payment) { | ||||
| 					$parts = explode(' # ', $payment); | ||||
| 					$pykotaPayments->addElement(new htmlOutputText($parts[0])); | ||||
| 					$pykotaPayments->addElement($spacer); | ||||
| 					$pykotaPayments->add(new htmlOutputText($parts[0]), 3); | ||||
| 					$amount = new htmlOutputText($parts[1]); | ||||
| 					$amount->alignment = htmlElement::ALIGN_RIGHT; | ||||
| 					$pykotaPayments->addElement($amount); | ||||
| 					$pykotaPayments->addElement($spacer); | ||||
| 					if (!empty($parts[2])) { | ||||
| 						$pykotaPayments->addElement(new htmlOutputText(base64_decode($parts[2]))); | ||||
| 					} | ||||
| 					$pykotaPayments->addNewLine(); | ||||
| 					$pykotaPayments->add($amount, 3); | ||||
| 					$comment = empty($parts[2]) ? '' : $parts[2]; | ||||
| 					$pykotaPayments->add(new htmlOutputText(base64_decode($parts[2])), 6); | ||||
| 				} | ||||
| 			} | ||||
| 			$pykotaPaymentsLabel = new htmlOutputText($this->getSelfServiceLabel('pykotaPayments', _('Payment history'))); | ||||
| 			$pykotaPaymentsLabel->alignment = htmlElement::ALIGN_TOP; | ||||
| 			$return['pykotaPayments'] = new htmlTableRow(array( | ||||
| 				$pykotaPaymentsLabel, $pykotaPayments | ||||
| 			)); | ||||
| 			$row->add(new htmlSpacer(null, '10px'), 12); | ||||
| 			$row = new htmlResponsiveRow(); | ||||
| 			$row->add(new htmlOutputText($this->getSelfServiceLabel('pykotaPayments', _('Payment history'))), 12, 12, 12, 'bold text-left'); | ||||
| 			$row->add($pykotaPayments, 12); | ||||
| 			$return['pykotaPayments'] = $row; | ||||
| 		} | ||||
| 		// job history
 | ||||
| 		if (in_array('pykotaJobHistory', $fields) && !empty($this->selfServiceSettings->moduleSettings['pykotaUser_jobSuffix'][0]) && !empty($attributes['pykotaUserName'][0])) { | ||||
| 			$jobs = $this->getJobs($attributes['pykotaUserName'][0], $this->selfServiceSettings->moduleSettings['pykotaUser_jobSuffix'][0]); | ||||
| 			$pykotaJobs = new htmlTable(); | ||||
| 			$pykotaJobs->colspan = 5; | ||||
| 			$spacer = new htmlSpacer('10px', null); | ||||
| 			$pykotaJobs->addElement(new htmlOutputText(_('Date')), false, true); | ||||
| 			$pykotaJobs->addElement($spacer); | ||||
| 			$pykotaJobs->addElement(new htmlOutputText(_('Printer')), false, true); | ||||
| 			$pykotaJobs->addElement($spacer); | ||||
| 			$pykotaJobs->addElement(new htmlOutputText(_('Price')), false, true); | ||||
| 			$pykotaJobs->addElement($spacer); | ||||
| 			$pykotaJobs->addElement(new htmlOutputText(_('Size')), false, true); | ||||
| 			$pykotaJobs->addElement($spacer); | ||||
| 			$pykotaJobs = new htmlResponsiveRow(); | ||||
| 			$pykotaJobs->add(new htmlOutputText(_('Date')), 3, 3, 3, 'bold'); | ||||
| 			$pykotaJobs->add(new htmlOutputText(_('Printer')), 3, 3, 3, 'bold'); | ||||
| 			$pykotaJobs->add(new htmlOutputText(_('Price')), 2, 2, 2, 'bold'); | ||||
| 			$pykotaJobs->add(new htmlOutputText(_('Size')), 1, 1, 1, 'bold'); | ||||
| 			$title = new htmlOutputText(_('Title')); | ||||
| 			$title->alignment = htmlElement::ALIGN_LEFT; | ||||
| 			$pykotaJobs->addElement($title, true, true); | ||||
| 			$pykotaJobs->add($title, 3, 3, 3, 'bold'); | ||||
| 			foreach ($jobs as $job) { | ||||
| 				$pykotaJobs->addElement(new htmlOutputText(formatLDAPTimestamp($job['createtimestamp'][0]))); | ||||
| 				$pykotaJobs->addElement($spacer); | ||||
| 				$pykotaJobs->addElement(new htmlOutputText($job['pykotaprintername'][0])); | ||||
| 				$pykotaJobs->addElement($spacer); | ||||
| 				$pykotaJobs->add(new htmlOutputText(formatLDAPTimestamp($job['createtimestamp'][0])), 3); | ||||
| 				$pykotaJobs->add(new htmlOutputText($job['pykotaprintername'][0]), 3); | ||||
| 				$price = new htmlOutputText($job['pykotajobprice'][0]); | ||||
| 				$price->alignment = htmlElement::ALIGN_RIGHT; | ||||
| 				$pykotaJobs->addElement($price); | ||||
| 				$pykotaJobs->addElement($spacer); | ||||
| 				$pykotaJobs->add($price, 2); | ||||
| 				$size = new htmlOutputText($job['pykotajobsize'][0]); | ||||
| 				$size->alignment = htmlElement::ALIGN_RIGHT; | ||||
| 				$pykotaJobs->addElement($size); | ||||
| 				$pykotaJobs->addElement($spacer); | ||||
| 				$pykotaJobs->addElement(new htmlOutputText($job['pykotatitle'][0]), true); | ||||
| 				$pykotaJobs->add($size, 1); | ||||
| 				$pykotaJobs->add(new htmlOutputText($job['pykotatitle'][0]), 3); | ||||
| 			} | ||||
| 			$pykotaJobsLabel = new htmlOutputText($this->getSelfServiceLabel('pykotaJobHistory', _('Job history'))); | ||||
| 			$pykotaJobsLabel->alignment = htmlElement::ALIGN_TOP; | ||||
| 			$return['pykotaJobHistory'] = new htmlTableRow(array( | ||||
| 				$pykotaJobsLabel, $pykotaJobs | ||||
| 			)); | ||||
| 			$row = new htmlResponsiveRow(); | ||||
| 			$row->add(new htmlSpacer(null, '10px'), 12); | ||||
| 			$row->add(new htmlOutputText($this->getSelfServiceLabel('pykotaJobHistory', _('Job history'))), 12, 12, 12, 'bold text-left'); | ||||
| 			$row->add($pykotaJobs, 12); | ||||
| 			$return['pykotaJobHistory'] = $row; | ||||
| 		} | ||||
| 		return $return; | ||||
| 	} | ||||
|  |  | |||
|  | @ -2225,7 +2225,7 @@ class sambaSamAccount extends baseModule implements passwordService { | |||
| 	 * @param array $attributes attributes of LDAP account | ||||
| 	 * @param boolean $passwordChangeOnly indicates that the user is only allowed to change his password and no LDAP content is readable | ||||
| 	 * @param array $readOnlyFields list of read-only fields | ||||
| 	 * @return array list of meta HTML elements (field name => htmlTableRow) | ||||
| 	 * @return array list of meta HTML elements (field name => htmlResponsiveRow) | ||||
| 	 */ | ||||
| 	function getSelfServiceOptions($fields, $attributes, $passwordChangeOnly, $readOnlyFields) { | ||||
| 		$return = array(); | ||||
|  | @ -2236,27 +2236,27 @@ class sambaSamAccount extends baseModule implements passwordService { | |||
| 			return $return; | ||||
| 		} | ||||
| 		if (in_array('password', $fields)) { | ||||
| 			$pwdTable = new htmlTable(); | ||||
| 			$pwdTable->colspan = 3; | ||||
| 			$pwd1 = new htmlTableExtendedInputField($this->getSelfServiceLabel('password', _('New password')), 'sambaSamAccount_password'); | ||||
| 			$group = new htmlGroup(); | ||||
| 			$pwd1 = new htmlResponsiveInputField($this->getSelfServiceLabel('password', _('New password')), 'sambaSamAccount_password'); | ||||
| 			$pwd1->setIsPassword(true, true); | ||||
| 			$pwdTable->addElement($pwd1, true); | ||||
| 			$pwd2 = new htmlTableExtendedInputField(_('Reenter password'), 'sambaSamAccount_password2'); | ||||
| 			$group->addElement($pwd1); | ||||
| 			$pwd2 = new htmlResponsiveInputField(_('Reenter password'), 'sambaSamAccount_password2'); | ||||
| 			$pwd2->setIsPassword(true); | ||||
| 			$pwd2->setSameValueFieldID('sambaSamAccount_password'); | ||||
| 			$pwdTable->addElement($pwd2); | ||||
| 			$return['password'] = new htmlTableRow(array( | ||||
| 				$pwdTable | ||||
| 			)); | ||||
| 			$group->addElement($pwd2); | ||||
| 			$row = new htmlResponsiveRow(); | ||||
| 			$row->add($group, 12); | ||||
| 			$return['password'] = $row; | ||||
| 		} | ||||
| 		if (in_array('sambaPwdLastSet', $fields)) { | ||||
| 			$sambaPwdLastSet = ''; | ||||
| 			if (isset($attributes['sambaPwdLastSet'][0])) { | ||||
| 				$sambaPwdLastSet = date('d.m.Y H:i', $attributes['sambaPwdLastSet'][0]); | ||||
| 			} | ||||
| 			$return['sambaPwdLastSet'] = new htmlTableRow(array( | ||||
| 				new htmlOutputText($this->getSelfServiceLabel('sambaPwdLastSet', _('Last password change'))), new htmlOutputText($sambaPwdLastSet) | ||||
| 			)); | ||||
| 			$row = new htmlResponsiveRow(); | ||||
| 			$row->add(new htmlOutputText($this->getSelfServiceLabel('sambaPwdLastSet', _('Last password change'))), 12, 6, 6, 'responsiveLabel'); | ||||
| 			$row->add(new htmlOutputText($sambaPwdLastSet), 12, 6, 6, 'responsiveField'); | ||||
| 			$return['sambaPwdLastSet'] = $row; | ||||
| 		} | ||||
| 		return $return; | ||||
| 	} | ||||
|  |  | |||
|  | @ -729,7 +729,7 @@ class shadowAccount extends baseModule implements passwordService { | |||
| 	 * @param array $attributes attributes of LDAP account | ||||
| 	 * @param boolean $passwordChangeOnly indicates that the user is only allowed to change his password and no LDAP content is readable | ||||
| 	 * @param array $readOnlyFields list of read-only fields | ||||
| 	 * @return array list of meta HTML elements (field name => htmlTableRow) | ||||
| 	 * @return array list of meta HTML elements (field name => htmlResponsiveRow) | ||||
| 	 */ | ||||
| 	function getSelfServiceOptions($fields, $attributes, $passwordChangeOnly, $readOnlyFields) { | ||||
| 		$return = array(); | ||||
|  | @ -742,9 +742,10 @@ class shadowAccount extends baseModule implements passwordService { | |||
| 				$date = getdate($attributes['shadowLastChange'][0] * 3600 * 24); | ||||
| 				$shadowLastChange = $date['mday'] . "." . $date['mon'] . "." . $date['year']; | ||||
| 			} | ||||
| 			$return['shadowLastChange'] = new htmlTableRow(array( | ||||
| 				new htmlOutputText($this->getSelfServiceLabel('shadowLastChange', _('Last password change'))), new htmlOutputText($shadowLastChange) | ||||
| 			)); | ||||
| 			$row = new htmlResponsiveRow(); | ||||
| 			$row->add(new htmlOutputText($this->getSelfServiceLabel('shadowLastChange', _('Last password change'))), 12, 6, 6, 'responsiveLabel'); | ||||
| 			$row->add(new htmlOutputText($shadowLastChange), 12, 6, 6, 'responsiveField'); | ||||
| 			$return['shadowLastChange'] = $row; | ||||
| 		} | ||||
| 		return $return; | ||||
| 	} | ||||
|  |  | |||
|  | @ -149,6 +149,18 @@ table.collapse { | |||
| 	text-align: right; | ||||
| } | ||||
| 
 | ||||
| .text-left { | ||||
| 	text-align: left; | ||||
| } | ||||
| 
 | ||||
| .text-right { | ||||
| 	text-align: right; | ||||
| } | ||||
| 
 | ||||
| .bold { | ||||
| 	font-weight: bold; | ||||
| } | ||||
| 
 | ||||
| /** buttons */ | ||||
| .saveButton { | ||||
| 	background-image: url(../graphics/save.png) !important; | ||||
|  | @ -661,7 +673,7 @@ h4.schema_oclass_sub { | |||
| /** responsive styles */ | ||||
| 
 | ||||
| div.dialog-page { | ||||
| 	max-width: 45em; | ||||
| 	float: left; | ||||
| } | ||||
| 
 | ||||
| /* mobile */ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue