4
0
Bifurcation 1

[PLUGINS][ProfileColor] Current color is now selected by default. Not found exception is now handled.

Cette révision appartient à :
Eliseu Amaro 2021-09-25 14:06:58 +01:00 révisé par Diogo Peralta Cordeiro
Parent a681acae67
révision 7b8eb3fda9
Signé par: diogo
ID de la clé GPG: 18D2D35001FBFAB0
4 fichiers modifiés avec 29 ajouts et 12 suppressions

Voir le fichier

@ -23,6 +23,8 @@ namespace Plugin\ProfileColor\Controller;
use App\Core\DB\DB;
use App\Core\Form;
use App\Util\Exception\DuplicateFoundException;
use App\Util\Exception\NotFoundException;
use App\Util\Exception\ServerException;
use function App\Core\I18n\_m;
use App\Util\Common;
@ -56,14 +58,15 @@ class ProfileColor
*/
public static function profileColorSettings(Request $request)
{
$user = Common::user();
$actor_id = $user->getId();
$pcolor = DB::findOneBy('profile_color', ['actor_id' => $actor_id]);
$actor = Common::actor();
$actor_id = $actor->getId();
$current_profile_color = DB::find('profile_color', ['actor_id' => $actor_id]);
$form = Form::create([
['color', ColorType::class, [
'html5' => true,
'data' => "#000000",
'data' => $current_profile_color ? $current_profile_color->getColor() : "#000000",
'label' => _m('Profile Color'),
'help' => _m('Choose your Profile Color')]
],
@ -75,14 +78,14 @@ class ProfileColor
if ($form->isSubmitted() && $form->isValid()) {
if ($pcolor !== null) {
DB::remove($pcolor);
if ($current_profile_color !== null) {
DB::remove($current_profile_color);
DB::flush();
}
$data = $form->getData();
$pcolor = Entity\ProfileColor::create(['actor_id' => $actor_id, 'color' => $data['color']]);
DB::persist($pcolor);
$current_profile_color = Entity\ProfileColor::create(['actor_id' => $actor_id, 'color' => $data['color']]);
DB::persist($current_profile_color);
DB::flush();
throw new RedirectException();

Voir le fichier

@ -25,6 +25,8 @@ use App\Core\Event;
use App\Core\Modules\Plugin;
use App\Core\Router\RouteLoader;
use App\Util\Common;
use App\Util\Exception\DuplicateFoundException;
use App\Util\Exception\NotFoundException;
use App\Util\Exception\RedirectException;
use App\Util\Exception\ServerException;
use App\Util\Formatting;
@ -83,13 +85,18 @@ class ProfileColor extends Plugin
* @param $res
* @return bool
*/
public function onAppendCardProfile($vars, &$res): bool
public function onAppendCardProfile(&$res): bool
{
$actor = $vars['actor'];
$actor = Common::actor();
if ($actor !== null) {
$actor_id = $actor->getId();
$color = DB::find('profile_color', ['actor_id' => $actor_id]);
try {
$color = DB::findOneBy('profile_color', ['actor_id' => $actor_id]);
} catch (NotFoundException $e) {
return Event::next;
}
if ($color !== null) {
$res[] = Formatting::twigRenderFile('/profileColor/profileColorView.html.twig', ['profile_color' => $color, 'actor' => $actor_id]);
}

Voir le fichier

@ -659,6 +659,13 @@ input[type=checkbox] {
mask-image: url("../icons/check-off.svg") !important;
}
input[type=color] {
border: unset;
padding: 2px;
width: 100%;
height: 3rem;
}
/* DISABLED STATE TEXT COLOR */
:is(:disabled, :disabled:active)::file-selector-button,
button:is(:disabled, :disabled:active),

Voir le fichier

@ -35,7 +35,7 @@
{% endif %}
</nav>
{% for block in handle_event('AppendCardProfile', {'actor': actor}) %}
{% for block in handle_event('AppendCardProfile') %}
{{ block | raw }}
{% endfor %}
</section>