2016-05-12 13:53:59 +02:00
|
|
|
<div class="row no-gutter wrapper">
|
2016-05-16 18:20:22 +02:00
|
|
|
|
|
|
|
<div class="col-lg-12">
|
2016-05-17 16:41:32 +02:00
|
|
|
<section class="profile-top text-white widget panel b-a m row">
|
2016-05-18 11:16:55 +02:00
|
|
|
<div class="col-lg-2 col-md-12 profile-top-pictos">
|
2016-05-18 10:11:50 +02:00
|
|
|
<div class="avatar thumb-140-wrapper img m-b-md">
|
2022-05-04 16:17:05 +02:00
|
|
|
<fab-user-avatar ng-model="user.profile_attributes.user_avatar_attributes" avatar-class="thumb-140"></fab-user-avatar>
|
2016-05-16 18:20:22 +02:00
|
|
|
</div>
|
2016-05-18 11:16:55 +02:00
|
|
|
<br/>
|
2016-05-18 10:11:50 +02:00
|
|
|
<div class="social-links links-center" ng-if="social.networks.length <= 4">
|
2016-05-17 16:41:32 +02:00
|
|
|
<ng-repeat ng-repeat="network in social.networks" >
|
|
|
|
<social-link network="{{network}}" user="user"></social-link>
|
|
|
|
</ng-repeat>
|
|
|
|
</div>
|
|
|
|
<div class="social-links" ng-if="social.networks.length > 4">
|
|
|
|
<ng-repeat ng-repeat="network in social.networks.slice(0,3)">
|
|
|
|
<social-link network="{{network}}" user="user"></social-link>
|
|
|
|
</ng-repeat>
|
2022-01-11 11:03:27 +01:00
|
|
|
<a ng-click="social.showAllLinks = !social.showAllLinks">
|
2016-05-17 16:41:32 +02:00
|
|
|
<i class="fa fa-plus" ng-show="!social.showAllLinks"></i>
|
|
|
|
<i class="fa fa-minus" ng-show="social.showAllLinks"></i>
|
|
|
|
</a>
|
|
|
|
<ng-repeat ng-repeat="network in social.networks.slice(3)" ng-show="social.showAllLinks">
|
|
|
|
<social-link network="{{network}}" user="user"></social-link>
|
|
|
|
</ng-repeat>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="col-lg-7 profile-top-infos">
|
|
|
|
<div class="text-xl font-ebold upper">{{user.username}}</div>
|
2016-05-17 17:43:29 +02:00
|
|
|
<small class="font-bold">{{user.name}}</small>
|
2019-12-16 16:54:40 +01:00
|
|
|
<small class="text-xs upper font-thin private-profile" ng-show="!user.is_allow_contact"><i class="fa fa-lock" aria-hidden="true"></i> {{ 'app.shared.public_profile.private_profile' | translate }}</small>
|
2016-05-17 17:43:29 +02:00
|
|
|
<div class="m-t">
|
2019-12-16 16:54:40 +01:00
|
|
|
<div ng-show="user.last_sign_in_at">
|
|
|
|
<small translate translate-values="{DATE:(user.last_sign_in_at | amDateFormat: 'LL')}">{{ 'app.shared.public_profile.last_activity_html' }}</small>
|
|
|
|
</div>
|
|
|
|
<small translate>{{ 'app.shared.public_profile.email_address' }}</small>
|
2016-05-17 17:43:29 +02:00
|
|
|
<div class="text-lt font-bold break-word">{{user.email}}</div>
|
2016-05-16 18:20:22 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2016-05-17 17:43:29 +02:00
|
|
|
<div class="col-lg-3 profile-top-badge">
|
2016-05-25 12:23:25 +02:00
|
|
|
<%= PluginRegistry.insert_code('html.user.profile') %>
|
2016-05-17 17:43:29 +02:00
|
|
|
</div>
|
2016-05-16 18:20:22 +02:00
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
2016-05-12 13:53:59 +02:00
|
|
|
<div class="col-sm-12 col-md-12 col-lg-6">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="wrapper">
|
2022-07-25 15:25:44 +02:00
|
|
|
<section class="profile-bio widget panel no-border bg-black-light text-white lt">
|
2016-05-12 13:53:59 +02:00
|
|
|
<div class="panel-body">
|
|
|
|
<div class="wrapper m-t-xl m-b">
|
|
|
|
<div class="row m-b">
|
2022-07-25 15:25:44 +02:00
|
|
|
<div class="col-xs-5">
|
2019-12-16 16:54:40 +01:00
|
|
|
<span class="font-bold bio-title" translate>{{ 'app.shared.public_profile.interests' }}</span>
|
2022-05-02 16:29:04 +02:00
|
|
|
<div class="m-b m-t-sm" ng-bind-html="user.profile_attributes.interest"></div>
|
2016-05-12 13:53:59 +02:00
|
|
|
</div>
|
2016-05-18 14:28:44 +02:00
|
|
|
<div class="col-xs-offset-2 col-xs-5">
|
2019-12-16 16:54:40 +01:00
|
|
|
<span class="font-bold bio-title" translate>{{ 'app.shared.public_profile.CAD_softwares_mastered' }}</span>
|
2022-05-02 16:29:04 +02:00
|
|
|
<div class="m-t-sm" ng-bind-html="user.profile_attributes.software_mastered"></div>
|
2016-05-12 13:53:59 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-sm-12 col-md-12 col-lg-6">
|
|
|
|
<div class="widget panel b-a m ">
|
|
|
|
<div class="panel-heading b-b">
|
2019-12-16 16:54:40 +01:00
|
|
|
<h1 class="red text-u-c" translate>{{ 'app.shared.public_profile.trainings' }}</h1>
|
2016-05-12 13:53:59 +02:00
|
|
|
<!-- <h3 class="text-u-c">Formations</h3> -->
|
|
|
|
<ul class="list-unstyled" ng-if="user.training_reservations.length > 0 || user.trainings.length > 0">
|
2022-07-26 17:55:45 +02:00
|
|
|
<li ng-repeat="r in user.training_reservations | trainingReservationsFilter:'future' | canceledReservationsFilter">
|
2019-12-16 16:54:40 +01:00
|
|
|
{{r.reservable.name}} - <span class="label label-info text-white" translate>{{ 'app.shared.public_profile.to_come' }}</span>
|
2016-05-12 13:53:59 +02:00
|
|
|
</li>
|
|
|
|
<li ng-repeat="t in user.trainings">
|
2019-12-16 16:54:40 +01:00
|
|
|
{{t.name}} - <span class="label label-success text-white" translate>{{ 'app.shared.public_profile.approved' }}</span>
|
2016-05-12 13:53:59 +02:00
|
|
|
</li>
|
|
|
|
</ul>
|
2019-12-16 16:54:40 +01:00
|
|
|
<div ng-if="user.training_reservations.length == 0 && user.trainings.length == 0" translate>{{ 'app.shared.public_profile.no_trainings' }}</div>
|
2016-05-12 13:53:59 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="widget panel b-a m ">
|
|
|
|
<div class="panel-heading b-b">
|
2019-12-16 16:54:40 +01:00
|
|
|
<h1 class="red text-u-c m-b" translate>{{ 'app.shared.public_profile.projects' }}</h1>
|
2016-05-18 10:54:50 +02:00
|
|
|
<div ng-if="user.all_projects.length > 0" class="row m-t">
|
|
|
|
<a class="col-xs-12 col-sm-6 col-md-6 col-lg-6" ng-repeat="project in user.all_projects" ui-sref="app.public.projects_show({id:project.slug})" style="display: block;">
|
|
|
|
<div class="card card-project">
|
2016-05-12 13:53:59 +02:00
|
|
|
|
2016-05-18 10:54:50 +02:00
|
|
|
<div class="card-header">
|
|
|
|
<div class="card-header-bg" style="background-image: url({{project.project_image}});">
|
2020-09-29 14:27:49 +02:00
|
|
|
<img src="data:image/png;base64," data-src="holder.js/100%x100%/text:/font:'Font Awesome 5 Free'/icon" bs-holder ng-if="!project.project_image">
|
2016-05-18 10:54:50 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="card-block">
|
|
|
|
<h1 class="card-title">{{project.name}}</h1>
|
|
|
|
</div>
|
|
|
|
|
2016-05-18 17:21:10 +02:00
|
|
|
<div class="text-center">
|
2019-12-18 13:04:38 +01:00
|
|
|
<span class="m-l-sm label label-success text-white">{{project.author_id == user.id ? 'author' : 'app.shared.public_profile.collaborator' | translate}}</span>
|
2020-10-20 10:01:27 +02:00
|
|
|
<span class="badge" ng-if="project.state == 'draft'" translate>{{ 'app.logged.dashboard.projects.rough_draft' }}</span>
|
2016-05-18 10:54:50 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="card-overlay">
|
|
|
|
<div class="btn-group">
|
|
|
|
<div class="btn btn-default" ng-click="showProject(project)">
|
2019-12-16 16:54:40 +01:00
|
|
|
{{ 'app.shared.buttons.consult' | translate }}
|
2016-05-18 10:54:50 +02:00
|
|
|
</div>
|
|
|
|
<div class="btn btn-default" ui-sref="app.logged.projects_edit({id:project.id})" ng-if="isAuthorized('admin')">
|
|
|
|
<i class="fa fa-edit"></i>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</div>
|
2019-12-16 16:54:40 +01:00
|
|
|
<div ng-if="user.all_projects.length == 0" translate>{{ 'app.shared.public_profile.no_projects' }}</div>
|
2016-05-12 13:53:59 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
2016-05-24 11:43:47 +02:00
|
|
|
</div>
|