WIP - favApps plugin (#1689)

This commit is contained in:
Christophe Maudoux 2019-04-24 11:00:40 +02:00
parent 9c0b7dbc00
commit b2397f2b9c
3 changed files with 27 additions and 18 deletions

View File

@ -28,30 +28,37 @@ sub init {
# RUNNING METHOD # RUNNING METHOD
sub register { sub register {
my ( $self, $req, $apps ) = @_; my ( $self, $req ) = @_;
my $user = $req->sessionInfo->{ $self->conf->{whatToTrace} }; my $user = $req->userData->{ $self->conf->{whatToTrace} };
my $app = $req->param('app');
my $logo = $req->param('logo') || '';
my $title = $req->param('title') || '';
# TODO -> test app
$self->logger->debug("Favorite application received : $app");
# Read existing favorite Apps # Read existing favorite Apps
$self->logger->debug("Looking for favorite Apps..."); $self->logger->debug("Looking for $user favorite Apps...");
my $_favapps; my $_favApps;
if ( $req->sessionInfo->{_favApps} ) { #$self->logger->debug("*****" . Data::Dumper::Dumper($req));
$_favapps = eval { if ( $req->userData->{_favApps} ) {
from_json( $req->sessionInfo->{_favapps}, { allow_nonref => 1 } ); $_favApps = eval {
from_json( $req->userData->{_favApps}, { allow_nonref => 1 } );
}; };
if ($@) { if ($@) {
$self->logger->error("Corrupted session (_2fDevices): $@"); $self->logger->error("Corrupted session (_favApps): $@");
return $self->p->sendError( $req, "Corrupted session", 500 ); return $self->p->sendError( $req, "Corrupted session", 500 );
} }
} }
else { else {
$self->logger->debug("No favorite Apps found"); $self->logger->debug("No favorite Apps found for $user");
$_favapps = []; $_favApps = [];
} }
push @$_favapps, $apps; push @$_favApps, { app => $app, logo => '', description => '' };
$self->p->updatePersistentSession( $req, $self->p->updatePersistentSession( $req,
{ _favapps => to_json($_favapps) } ); { _favApps => to_json($_favApps) } );
$self->userLogger->notice("Apps registration of $apps succeeds for $user"); $self->userLogger->notice("Favorite apps registration of $app succeeds for $user");
return [ return [
200, 200,

View File

@ -9,6 +9,8 @@ FavApps = (star, appuri) ->
url: "#{portal}favapps" url: "#{portal}favapps"
data: data:
app: appuri app: appuri
logo: logo
title: title
dataType: 'json' dataType: 'json'
#error: star.attr('src', 'static/common/icons/star0.png') #error: star.attr('src', 'static/common/icons/star0.png')
success: (resp) -> success: (resp) ->

View File

@ -27,12 +27,14 @@
<span trspan="yourApps">Your applications</span> <span trspan="yourApps">Your applications</span>
</span></a></li> </span></a></li>
</TMPL_IF> </TMPL_IF>
<!--
<TMPL_IF NAME="favApps"> <TMPL_IF NAME="favApps">
<li class="nav-item"><a class="nav-link" href="#favApps"><span> <li class="nav-item"><a class="nav-link" href="#favApps"><span>
<img src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/application_cascade.png" width="16" height="16" alt="favapps" /> <img src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/application_cascade.png" width="16" height="16" alt="favApps" />
<span trspan="yourFavApps">Your favorites applications</span> <span trspan="yourFavApps">Your favorites applications</span>
</span></a></li> </span></a></li>
</TMPL_IF> </TMPL_IF>
-->
<TMPL_IF NAME="ChangePassword"> <TMPL_IF NAME="ChangePassword">
<li class="nav-item"><a class="nav-link" href="#password"><span> <li class="nav-item"><a class="nav-link" href="#password"><span>
<img src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/vcard_edit.png" width="16" height="16" alt="password" /> <img src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/vcard_edit.png" width="16" height="16" alt="password" />
@ -114,11 +116,9 @@
<!-- Application --> <!-- Application -->
<div class="col-md-4"> <div class="col-md-4">
<div class="application <TMPL_VAR NAME="appid"> card"> <div class="application <TMPL_VAR NAME="appid"> card">
<div>
<div> <img class="star" appuri="<TMPL_VAR NAME="appuri">" title="<TMPL_VAR NAME="appname">" logo="<TMPL_VAR NAME="STATIC_PREFIX">common/apps/<TMPL_VAR NAME="applogo">" src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/star0.png"/>&nbsp;
<img class="star" appuri="<TMPL_VAR NAME="appuri">" src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/star0.png"/>&nbsp;
</div> </div>
<a href="<TMPL_VAR NAME="appuri">" title="<TMPL_VAR NAME="appname">" > <a href="<TMPL_VAR NAME="appuri">" title="<TMPL_VAR NAME="appname">" >
<div class="card-body"> <div class="card-body">