Use our Attribute::class when rendering update_confirm
This commit is contained in:
parent
293f1ab9ce
commit
30f964b849
@ -3,6 +3,7 @@
|
||||
namespace App\Classes\LDAP;
|
||||
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
use App\Classes\LDAP\Schema\AttributeType;
|
||||
@ -259,6 +260,16 @@ class Attribute implements \Countable, \ArrayAccess
|
||||
->with('new',$new);
|
||||
}
|
||||
|
||||
public function render_item_old(int $key): ?string
|
||||
{
|
||||
return Arr::get($this->old_values,$key);
|
||||
}
|
||||
|
||||
public function render_item_new(int $key): ?string
|
||||
{
|
||||
return Arr::get($this->values,$key);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the objectclasses that require this attribute
|
||||
*
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace App\Classes\LDAP\Attribute;
|
||||
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
use App\Classes\LDAP\Attribute;
|
||||
use App\Traits\MD5Updates;
|
||||
@ -22,4 +23,14 @@ final class Password extends Attribute
|
||||
->with('old',$old)
|
||||
->with('new',$new);
|
||||
}
|
||||
|
||||
public function render_item_old(int $key): ?string
|
||||
{
|
||||
return Arr::get($this->oldValues,$key) ? str_repeat('x',8) : NULL;
|
||||
}
|
||||
|
||||
public function render_item_new(int $key): ?string
|
||||
{
|
||||
return Arr::get($this->values,$key) ? str_repeat('x',8) : NULL;
|
||||
}
|
||||
}
|
@ -32,7 +32,7 @@ class Entry extends Model
|
||||
parent::discardChanges();
|
||||
|
||||
// If we are discharging changes, we need to reset our $objects;
|
||||
$this->objects = $this->getAttributesAsObjects($this->attributes);
|
||||
$this->objects = $this->getAttributesAsObjects();
|
||||
|
||||
return $this;
|
||||
}
|
||||
@ -112,7 +112,7 @@ class Entry extends Model
|
||||
|
||||
// We only set our objects on DN entries (otherwise we might get into a recursion loop if this is the schema DN)
|
||||
if ($this->dn && (! in_array($this->dn,Arr::get($this->attributes,'subschemasubentry',[])))) {
|
||||
$this->objects = $this->getAttributesAsObjects($this->attributes);
|
||||
$this->objects = $this->getAttributesAsObjects();
|
||||
|
||||
} else {
|
||||
$this->objects = collect();
|
||||
@ -157,11 +157,11 @@ class Entry extends Model
|
||||
* @param array $attributes
|
||||
* @return Collection
|
||||
*/
|
||||
protected function getAttributesAsObjects(array $attributes): Collection
|
||||
public function getAttributesAsObjects(): Collection
|
||||
{
|
||||
$result = collect();
|
||||
|
||||
foreach ($attributes as $attribute => $value) {
|
||||
foreach ($this->attributes as $attribute => $value) {
|
||||
// If the attribute name has language tags
|
||||
$matches = [];
|
||||
if (preg_match('/^([a-zA-Z]+)(;([a-zA-Z-;]+))+/',$attribute,$matches)) {
|
||||
@ -271,7 +271,7 @@ class Entry extends Model
|
||||
{
|
||||
// In case we havent built our objects yet (because they werent available while determining the schema DN)
|
||||
if ((! $this->objects->count()) && $this->attributes)
|
||||
$this->objects = $this->getAttributesAsObjects($this->attributes);
|
||||
$this->objects = $this->getAttributesAsObjects();
|
||||
|
||||
return $this->objects;
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!-- @todo We are not handling redirect backs with updated values -->
|
||||
<!-- $o=Password::class -->
|
||||
<x-attribute.layout :edit="$edit" :new="$new" :o="$o">
|
||||
@foreach ($o->values as $value)
|
||||
@if ($edit)
|
||||
@foreach($o->values as $value)
|
||||
@if($edit)
|
||||
<div class="input-group has-validation">
|
||||
<input type="password" @class(['form-control','is-invalid'=>($e=$errors->get($o->name_lc.'.'.$loop->index)),'mb-1','border-focus'=>$o->values->contains($value)]) name="{{ $o->name_lc }}[]" value="{{ md5($value) }}" @readonly(true)>
|
||||
|
||||
@ -13,11 +13,13 @@
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
{{ $value }}<br>
|
||||
{{ str_repeat('x',8) }}
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
<span class="p-0 m-0">
|
||||
<span class="btn btn-sm btn-outline-dark mt-3"><i class="fas fa-user-check"></i> @lang('Check Password')</span>
|
||||
</span>
|
||||
@if($edit)
|
||||
<span class="p-0 m-0">
|
||||
<span class="btn btn-sm btn-outline-dark mt-3"><i class="fas fa-user-check"></i> @lang('Check Password')</span>
|
||||
</span>
|
||||
@endif
|
||||
</x-attribute.layout>
|
@ -16,10 +16,10 @@
|
||||
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-6 col-xl-4 mx-auto pt-3">
|
||||
<div class="col-12 col-lg-6 mx-auto pt-3">
|
||||
|
||||
<div class="card-title"><h3>@lang('Do you want to make the following changes?')</h3></div>
|
||||
<table class="table table-bordered table-striped">
|
||||
<table class="table table-bordered table-striped w-100">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Attribute</th>
|
||||
@ -29,16 +29,18 @@
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($o->getDirty() as $key => $value)
|
||||
@foreach ($o->getAttributesAsObjects()->filter(fn($item)=>$item->isDirty()) as $key => $oo)
|
||||
<tr>
|
||||
<th rowspan="{{ $x=max(count($value),count(Arr::get($o->getOriginal(),$key,[])))}}">{{ $key }}</th>
|
||||
<th rowspan="{{ $x=max($oo->values->keys()->max(),$oo->old_values->keys()->max())+1}}">
|
||||
<abbr title="{{ $oo->description }}">{{ $oo->name }}</abbr>
|
||||
</th>
|
||||
@for($xx=0;$xx<$x;$xx++)
|
||||
@if($xx)
|
||||
</tr><tr>
|
||||
@endif
|
||||
|
||||
<td>{{ Arr::get(Arr::get($o->getOriginal(),$key),$xx,'['.strtoupper(__('New Value')).']') }}</td>
|
||||
<td>{{ ($y=Arr::get($value,$xx)) ?: '['.strtoupper(__('Deleted')).']' }}<input type="hidden" name="{{ $key }}[]" value="{{ $y }}"></td>
|
||||
<td>{{ $oo->render_item_old($xx) ?: '['.strtoupper(__('New Value')).']' }}</td>
|
||||
<td>{{ $oo->render_item_new($xx) ?: '['.strtoupper(__('Deleted')).']' }}<input type="hidden" name="{{ $key }}[]" value="{{ Arr::get($oo->values,$xx) }}"></td>
|
||||
@endfor
|
||||
</tr>
|
||||
@endforeach
|
||||
|
Loading…
x
Reference in New Issue
Block a user