[SETTINGS][PLUGIN][CONTROLLER] Populate profile tabs event added. Settings base template populated with such event for plugins and components.

Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
This commit is contained in:
2021-07-29 20:20:32 +01:00
committed by Hugo Sales
parent 6dd0292397
commit c8a8e94d48
11 changed files with 91 additions and 77 deletions

View File

@@ -25,10 +25,12 @@ use App\Core\Event;
use App\Core\GSFile;
use App\Core\Modules\Component;
use App\Util\Common;
use Component\Avatar\Controller as C;
use Component\Avatar\Exception\NoAvatarException;
use Exception;
use Symfony\Component\Asset\Package;
use Symfony\Component\Asset\VersionStrategy\EmptyVersionStrategy;
use Symfony\Component\HttpFoundation\Request;
class Avatar extends Component
{
@@ -39,7 +41,18 @@ class Avatar extends Component
return Event::next;
}
public function onEndTwigPopulateVars(array &$vars)
public function onPopulateProfileSettingsTabs(Request $request, &$tabs)
{
// TODO avatar template shouldn't be on settings folder
$tabs[] = ['title' => 'Avatar',
'desc' => 'Change your avatar.',
'controller' => C\Avatar::settings_avatar($request),
];
return Event::next;
}
public function onStartTwigPopulateVars(array &$vars)
{
if (Common::user() != null) {
$vars['user_avatar'] = self::getAvatarUrl();

View File

@@ -59,13 +59,13 @@ class Avatar extends Controller
/**
* Local user avatar panel
*/
public function settings_avatar(Request $request)
public static function settings_avatar(Request $request)
{
$form = Form::create([
['avatar', FileType::class, ['label' => _m('Avatar'), 'help' => _m('You can upload your personal avatar. The maximum file size is 2MB.'), 'multiple' => false, 'required' => false]],
['avatar', FileType::class, ['label' => _m('Avatar'), 'help' => _m('You can upload your personal avatar. The maximum file size is 2MB.'), 'multiple' => false, 'required' => false]],
['remove', CheckboxType::class, ['label' => _m('Remove avatar'), 'help' => _m('Remove your avatar and use the default one'), 'required' => false, 'value' => false]],
['hidden', HiddenType::class, []],
['save', SubmitType::class, ['label' => _m('Submit')]],
['hidden', HiddenType::class, []],
['save', SubmitType::class, ['label' => _m('Submit')]],
]);
$form->handleRequest($request);