42
42
import fr .univlorraine .ecandidat .controllers .CampagneController ;
43
43
import fr .univlorraine .ecandidat .controllers .CandidatController ;
44
44
import fr .univlorraine .ecandidat .controllers .I18nController ;
45
+ import fr .univlorraine .ecandidat .controllers .ParametreController ;
45
46
import fr .univlorraine .ecandidat .controllers .UserController ;
46
47
import fr .univlorraine .ecandidat .entities .ecandidat .Langue ;
47
48
import fr .univlorraine .ecandidat .vaadin .components .OneClickButton ;
48
49
49
- /** Page de creation de compte du candidat
50
- *
51
- * @author Kevin Hergalant */
50
+ /**
51
+ * Page de creation de compte du candidat
52
+ * @author Kevin Hergalant
53
+ */
54
+ @ SuppressWarnings ("serial" )
52
55
@ SpringView (name = CandidatCreerCompteView .NAME )
53
56
public class CandidatCreerCompteView extends VerticalLayout implements View {
54
57
55
- /** serialVersionUID **/
56
- private static final long serialVersionUID = -1892026915407604201L ;
57
-
58
58
public static final String NAME = "candidatCreerCompteView" ;
59
59
60
60
/* Injections */
@@ -70,16 +70,18 @@ public class CandidatCreerCompteView extends VerticalLayout implements View {
70
70
private transient CampagneController campagneController ;
71
71
@ Resource
72
72
private transient I18nController i18nController ;
73
-
74
- private Label labelTitle = new Label ();
75
- private Label labelAccueil = new Label ();
76
- private HorizontalLayout hlConnectedCreateCompte = new HorizontalLayout ();
77
- private Panel panelIsStudent = new Panel ();
78
- private Panel panelNotStudent = new Panel ();
79
- private Panel panelCreateCompte = new Panel ();
80
- private VerticalLayout vlConnexionIsStudent = new VerticalLayout ();
81
- private VerticalLayout vlConnexionNotStudent = new VerticalLayout ();
82
- private OneClickButton logBtnNoCompte = new OneClickButton (FontAwesome .SIGN_OUT );
73
+ @ Resource
74
+ private transient ParametreController parametreController ;
75
+
76
+ private final Label labelTitle = new Label ();
77
+ private final Label labelAccueil = new Label ();
78
+ private final HorizontalLayout hlConnectedCreateCompte = new HorizontalLayout ();
79
+ private final Panel panelIsStudent = new Panel ();
80
+ private final Panel panelNotStudent = new Panel ();
81
+ private final Panel panelCreateCompte = new Panel ();
82
+ private final VerticalLayout vlConnexionIsStudent = new VerticalLayout ();
83
+ private final VerticalLayout vlConnexionNotStudent = new VerticalLayout ();
84
+ private final OneClickButton logBtnNoCompte = new OneClickButton (FontAwesome .SIGN_OUT );
83
85
84
86
/** Initialise la vue */
85
87
@ PostConstruct
@@ -90,7 +92,7 @@ public void init() {
90
92
setSizeFull ();
91
93
92
94
/* Titre */
93
- HorizontalLayout hlLangue = new HorizontalLayout ();
95
+ final HorizontalLayout hlLangue = new HorizontalLayout ();
94
96
hlLangue .setWidth (100 , Unit .PERCENTAGE );
95
97
hlLangue .setSpacing (true );
96
98
@@ -102,14 +104,14 @@ public void init() {
102
104
hlLangue .setComponentAlignment (labelTitle , Alignment .MIDDLE_LEFT );
103
105
104
106
if (cacheController .getLangueEnServiceWithoutDefault ().size () > 0 ) {
105
- Langue langueDef = cacheController .getLangueDefault ();
106
- Image flagDef = new Image (null , new ThemeResource ("images/flags/" + langueDef .getCodLangue () + ".png" ));
107
+ final Langue langueDef = cacheController .getLangueDefault ();
108
+ final Image flagDef = new Image (null , new ThemeResource ("images/flags/" + langueDef .getCodLangue () + ".png" ));
107
109
flagDef .addClickListener (e -> changeLangue (langueDef ));
108
110
flagDef .addStyleName (StyleConstants .CLICKABLE );
109
111
hlLangue .addComponent (flagDef );
110
112
hlLangue .setComponentAlignment (flagDef , Alignment .MIDDLE_CENTER );
111
113
cacheController .getLangueEnServiceWithoutDefault ().forEach (langue -> {
112
- Image flag = new Image (null , new ThemeResource ("images/flags/" + langue .getCodLangue () + ".png" ));
114
+ final Image flag = new Image (null , new ThemeResource ("images/flags/" + langue .getCodLangue () + ".png" ));
113
115
flag .addClickListener (e -> changeLangue (langue ));
114
116
flag .addStyleName (StyleConstants .CLICKABLE );
115
117
hlLangue .addComponent (flag );
@@ -121,13 +123,13 @@ public void init() {
121
123
addComponent (hlLangue );
122
124
123
125
/* Panel scrollable de contenu */
124
- Panel panelContent = new Panel ();
126
+ final Panel panelContent = new Panel ();
125
127
panelContent .setSizeFull ();
126
128
panelContent .addStyleName (ValoTheme .PANEL_BORDERLESS );
127
129
addComponent (panelContent );
128
130
setExpandRatio (panelContent , 1 );
129
131
130
- VerticalLayout vlContent = new VerticalLayout ();
132
+ final VerticalLayout vlContent = new VerticalLayout ();
131
133
vlContent .setSpacing (true );
132
134
panelContent .setContent (vlContent );
133
135
@@ -144,7 +146,7 @@ public void init() {
144
146
145
147
/* Connexion CAS */
146
148
panelIsStudent .setCaption (applicationContext .getMessage ("accueilView.title.etu" , new Object [] {
147
- applicationContext .getMessage ("universite.title" , null , UI .getCurrent ().getLocale ())}, UI .getCurrent ().getLocale ()));
149
+ applicationContext .getMessage ("universite.title" , null , UI .getCurrent ().getLocale ()) }, UI .getCurrent ().getLocale ()));
148
150
panelIsStudent .addStyleName (StyleConstants .ACCUEIL_COMPTE_PANEL );
149
151
panelIsStudent .addStyleName (StyleConstants .PANEL_COLORED );
150
152
vlConnexionIsStudent .setSpacing (true );
@@ -154,7 +156,7 @@ public void init() {
154
156
155
157
/* Creation sans compte cas */
156
158
panelNotStudent .setCaption (applicationContext .getMessage ("accueilView.title.nonetu" , new Object [] {
157
- applicationContext .getMessage ("universite.title" , null , UI .getCurrent ().getLocale ())}, UI .getCurrent ().getLocale ()));
159
+ applicationContext .getMessage ("universite.title" , null , UI .getCurrent ().getLocale ()) }, UI .getCurrent ().getLocale ()));
158
160
panelNotStudent .addStyleName (StyleConstants .ACCUEIL_COMPTE_PANEL );
159
161
panelNotStudent .addStyleName (StyleConstants .PANEL_COLORED );
160
162
vlConnexionNotStudent .setSpacing (true );
@@ -168,7 +170,7 @@ public void init() {
168
170
169
171
panelCreateCompte .setCaption (applicationContext .getMessage ("accueilView.title.nocompte" , null , UI .getCurrent ().getLocale ()));
170
172
panelCreateCompte .addStyleName (StyleConstants .PANEL_COLORED );
171
- VerticalLayout vlCreateCompte = new VerticalLayout ();
173
+ final VerticalLayout vlCreateCompte = new VerticalLayout ();
172
174
vlCreateCompte .setSpacing (true );
173
175
vlCreateCompte .setMargin (true );
174
176
panelCreateCompte .setContent (vlCreateCompte );
@@ -181,22 +183,22 @@ public void init() {
181
183
vlCreateCompte .addComponent (logBtnNoCompte );
182
184
}
183
185
184
- /** Change la langue de l'utilisateur et rafraichi les infos
185
- *
186
+ /**
187
+ * Change la langue de l'utilisateur et rafraichi les infos
186
188
* @param langue
187
189
*/
188
190
private void changeLangue (final Langue langue ) {
189
191
i18nController .changeLangue (langue );
190
192
labelTitle .setValue (applicationContext .getMessage (NAME + ".title" , null , UI .getCurrent ().getLocale ()));
191
193
panelCreateCompte .setCaption (applicationContext .getMessage ("accueilView.title.nocompte" , null , UI .getCurrent ().getLocale ()));
192
194
logBtnNoCompte .setCaption (applicationContext .getMessage ("accueilView.createaccount" , null , UI .getCurrent ().getLocale ()));
193
- Authentication auth = userController .getCurrentAuthentication ();
195
+ final Authentication auth = userController .getCurrentAuthentication ();
194
196
setTxtMessageAccueil (auth );
195
197
refreshLayoutConnexion (auth );
196
198
}
197
199
198
- /** Rafrachi le layout de connexion
199
- *
200
+ /**
201
+ * Rafrachi le layout de connexion
200
202
* @param auth
201
203
*/
202
204
private void refreshLayoutConnexion (final Authentication auth ) {
@@ -211,7 +213,8 @@ private void refreshLayoutConnexion(final Authentication auth) {
211
213
return ;
212
214
} else {
213
215
hlConnectedCreateCompte .setVisible (false );
214
- panelNotStudent .setVisible (true );
216
+ /* Si l'établissement autorise la création de compte aux candidats extérieurs à l'établissement on masque le panel notStudent */
217
+ panelNotStudent .setVisible (parametreController .getIsCompteExterneAut ());
215
218
panelIsStudent .setVisible (true );
216
219
}
217
220
refreshConnexionPanelStudent ();
@@ -222,14 +225,14 @@ private void refreshLayoutConnexion(final Authentication auth) {
222
225
private void refreshConnexionPanelStudent () {
223
226
vlConnexionIsStudent .removeAllComponents ();
224
227
225
- OneClickButton logBtn = new OneClickButton (applicationContext .getMessage ("btnConnect.candidat" , null , UI .getCurrent ().getLocale ()), FontAwesome .SIGN_OUT );
228
+ final OneClickButton logBtn = new OneClickButton (applicationContext .getMessage ("btnConnect.candidat" , null , UI .getCurrent ().getLocale ()), FontAwesome .SIGN_OUT );
226
229
logBtn .addClickListener (e -> {
227
230
userController .connectCAS ();
228
231
});
229
232
230
- HorizontalLayout hlConnect = new HorizontalLayout ();
233
+ final HorizontalLayout hlConnect = new HorizontalLayout ();
231
234
hlConnect .setSpacing (true );
232
- Label labelConnect = new Label (applicationContext .getMessage ("accueilView.connect.cas" , null , UI .getCurrent ().getLocale ()));
235
+ final Label labelConnect = new Label (applicationContext .getMessage ("accueilView.connect.cas" , null , UI .getCurrent ().getLocale ()));
233
236
hlConnect .addComponent (labelConnect );
234
237
hlConnect .setComponentAlignment (labelConnect , Alignment .MIDDLE_LEFT );
235
238
hlConnect .addComponent (logBtn );
@@ -242,22 +245,24 @@ private void refreshConnexionPanelStudent() {
242
245
private void refreshConnexionPanelNotStudent () {
243
246
vlConnexionNotStudent .removeAllComponents ();
244
247
245
- OneClickButton logBtnNoCompte = new OneClickButton (applicationContext .getMessage ("accueilView.createaccount" , null , UI .getCurrent ().getLocale ()), FontAwesome .SIGN_OUT );
248
+ final OneClickButton logBtnNoCompte = new OneClickButton (applicationContext .getMessage ("accueilView.createaccount" , null , UI .getCurrent ().getLocale ()), FontAwesome .SIGN_OUT );
246
249
logBtnNoCompte .addClickListener (e -> {
247
250
candidatController .createCompteMinima (false );
248
251
});
249
252
vlConnexionNotStudent .addComponent (logBtnNoCompte );
250
253
}
251
254
252
- /** @param auth
253
- * @return le texte de message d'accueil */
255
+ /**
256
+ * @param auth
257
+ * @return le texte de message d'accueil
258
+ */
254
259
private String setTxtMessageAccueil (final Authentication auth ) {
255
260
String txt = "" ;
256
261
if (!userController .isAnonymous (auth )) {
257
262
txt += applicationContext .getMessage ("accueilView.welcome" , null , UI .getCurrent ().getLocale ());
258
- txt += applicationContext .getMessage ("accueilView.connected" , new Object [] {userController .getCurrentUserName (auth )}, UI .getCurrent ().getLocale ());
263
+ txt += applicationContext .getMessage ("accueilView.connected" , new Object [] { userController .getCurrentUserName (auth ) }, UI .getCurrent ().getLocale ());
259
264
if (userController .isPersonnel (auth )) {
260
- txt += applicationContext .getMessage ("accueilView.role" , new Object [] {auth .getAuthorities ()}, UI .getCurrent ().getLocale ());
265
+ txt += applicationContext .getMessage ("accueilView.role" , new Object [] { auth .getAuthorities () }, UI .getCurrent ().getLocale ());
261
266
} else if (userController .isCandidat (auth )) {
262
267
txt += applicationContext .getMessage ("accueilView.cand.connected" , null , UI .getCurrent ().getLocale ());
263
268
}
@@ -275,7 +280,7 @@ private String setTxtMessageAccueil(final Authentication auth) {
275
280
/** @see com.vaadin.navigator.View#enter(com.vaadin.navigator.ViewChangeListener.ViewChangeEvent) */
276
281
@ Override
277
282
public void enter (final ViewChangeEvent event ) {
278
- Authentication auth = userController .getCurrentAuthentication ();
283
+ final Authentication auth = userController .getCurrentAuthentication ();
279
284
setTxtMessageAccueil (auth );
280
285
refreshLayoutConnexion (auth );
281
286
}
0 commit comments