Revision 53a37f6d
Added by Fabian Reimeier over 6 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/component/HorizontalToolbar.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import java.io.Serializable; |
4 | 4 |
|
5 |
import org.springframework.security.core.Authentication; |
|
6 |
import org.springframework.security.core.context.SecurityContext; |
|
7 |
import org.springframework.security.core.context.SecurityContextHolder; |
|
8 |
|
|
9 |
import com.vaadin.server.Page; |
|
10 | 5 |
import com.vaadin.server.ThemeResource; |
11 |
import com.vaadin.server.VaadinServlet; |
|
12 |
import com.vaadin.server.VaadinSession; |
|
13 | 6 |
import com.vaadin.ui.Alignment; |
14 | 7 |
import com.vaadin.ui.Button; |
15 |
import com.vaadin.ui.Button.ClickEvent; |
|
16 |
import com.vaadin.ui.Button.ClickListener; |
|
17 | 8 |
import com.vaadin.ui.HorizontalLayout; |
18 |
import com.vaadin.ui.Image; |
|
19 |
import com.vaadin.ui.Label; |
|
20 |
import com.vaadin.ui.UI; |
|
21 | 9 |
|
22 | 10 |
import eu.etaxonomy.cdm.vaadin.security.UserHelper; |
23 |
import eu.etaxonomy.cdm.vaadin.util.CdmVaadinAuthentication; |
|
24 | 11 |
|
25 | 12 |
public class HorizontalToolbar extends HorizontalLayout implements Serializable{ |
26 | 13 |
|
... | ... | |
41 | 28 |
|
42 | 29 |
private final Button settingsButton = new Button("Settings"); |
43 | 30 |
|
44 |
private final Button logoutButton= new Button("Logout"); |
|
45 |
|
|
46 | 31 |
// private final Authentication authentication; |
47 | 32 |
// private ExcelExporter exporter = new ExcelExporter(); |
48 | 33 |
|
... | ... | |
54 | 39 |
} |
55 | 40 |
|
56 | 41 |
public void init() { |
57 |
String userName = UserHelper.fromSession().userName(); |
|
58 |
if(userName != null){ |
|
42 |
if(UserHelper.fromSession().userIsAutheticated()){ |
|
59 | 43 |
setMargin(true); |
60 | 44 |
setSpacing(true); |
61 | 45 |
setStyleName("toolbar"); |
... | ... | |
75 | 59 |
detailButton.setIcon(new ThemeResource("icons/32/document-txt.png")); |
76 | 60 |
settingsButton.setIcon(new ThemeResource("icons/32/settings_1.png")); |
77 | 61 |
distributionSettingsButton.setIcon(new ThemeResource("icons/32/settings_1.png")); |
78 |
logoutButton.setIcon(new ThemeResource("icons/32/cancel.png")); |
|
79 | 62 |
|
80 |
// SecurityContext context = (SecurityContext)VaadinService.getCurrentRequest().getWrappedSession().getAttribute("context"); |
|
81 |
SecurityContext context = SecurityContextHolder.getContext(); |
|
82 |
Label loginName = new Label(userName); |
|
83 |
loginName.setIcon(new ThemeResource("icons/32/user.png")); |
|
63 |
// SecurityContext context = (SecurityContext)VaadinService.getCurrentRequest().getWrappedSession().getAttribute("context"); |
|
64 |
// SecurityContext context = SecurityContextHolder.getContext(); |
|
84 | 65 |
|
85 | 66 |
HorizontalLayout rightLayout = new HorizontalLayout(); |
86 |
Image image = new Image(null, new ThemeResource("icons/32/vseparator1.png")); |
|
87 | 67 |
rightLayout.addComponent(settingsButton); |
88 | 68 |
rightLayout.addComponent(distributionSettingsButton); |
89 |
rightLayout.addComponent(logoutButton); |
|
90 |
rightLayout.addComponent(image); |
|
91 |
rightLayout.addComponent(loginName); |
|
92 | 69 |
|
93 | 70 |
addComponent(rightLayout); |
94 | 71 |
setComponentAlignment(rightLayout, Alignment.MIDDLE_RIGHT); |
95 | 72 |
setExpandRatio(rightLayout, 1); |
96 |
|
|
97 |
logoutButton.addClickListener(new ClickListener() { |
|
98 |
|
|
99 |
/** |
|
100 |
* automatically generated ID |
|
101 |
*/ |
|
102 |
private static final long serialVersionUID = 8380401487511285303L; |
|
103 |
|
|
104 |
@Override |
|
105 |
public void buttonClick(ClickEvent event) { |
|
106 |
SecurityContextHolder.getContext().setAuthentication(null); |
|
107 |
VaadinSession.getCurrent().close(); |
|
108 |
} |
|
109 |
}); |
|
110 | 73 |
} |
111 | 74 |
} |
112 | 75 |
|
113 | 76 |
public Button getSettingsButton(){ |
114 | 77 |
return settingsButton; |
115 | 78 |
} |
116 |
|
|
79 |
|
|
117 | 80 |
public Button getDistributionSettingsButton() { |
118 | 81 |
return distributionSettingsButton; |
119 | 82 |
} |
Also available in: Unified diff
removed login information and logout button (now in registration toolbar)