parent
11b58e4007
commit
350897f163
4
hsarweb/WebContent/VAADIN/themes/hs/layout/footer.html
Normal file
4
hsarweb/WebContent/VAADIN/themes/hs/layout/footer.html
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<div style="width:100%; background-color:white;">
|
||||||
|
<div style="margin:0px; padding:0px; vertical-align:top; float:left; ">(c) Hostsharing eG, <a href="https://www.hostsharing.net/impressum">Impressum</a></div>
|
||||||
|
<div style="margin:0px; padding:0px; vertical-align:top; text-align:right; ">hsarweb (Vers. 2.0a, 23.05.2011)</div>
|
||||||
|
</div>
|
@ -124,7 +124,9 @@ public abstract class DatabaseModule extends GenericModule {
|
|||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
ownerProp.setWriteOnce(true);
|
idProp.setShowInForm(false);
|
||||||
|
pacProp.setShowInForm(false);
|
||||||
|
encodingProp.setShowInForm(false);
|
||||||
moduleConfig.addProperty(idProp);
|
moduleConfig.addProperty(idProp);
|
||||||
moduleConfig.addProperty(pacProp);
|
moduleConfig.addProperty(pacProp);
|
||||||
moduleConfig.addProperty(nameProp);
|
moduleConfig.addProperty(nameProp);
|
||||||
|
@ -67,6 +67,8 @@ public abstract class DatabaseUserModule extends GenericModule {
|
|||||||
});
|
});
|
||||||
pacProp.setWriteOnce(true);
|
pacProp.setWriteOnce(true);
|
||||||
PropertyConfig passwordProp = new PropertyConfig(moduleConfig, "password", String.class, PropertyTableColumn.NONE, new PasswordPropertyFieldFactory(this));
|
PropertyConfig passwordProp = new PropertyConfig(moduleConfig, "password", String.class, PropertyTableColumn.NONE, new PasswordPropertyFieldFactory(this));
|
||||||
|
idProp.setShowInForm(false);
|
||||||
|
pacProp.setShowInForm(false);
|
||||||
moduleConfig.addProperty(idProp);
|
moduleConfig.addProperty(idProp);
|
||||||
moduleConfig.addProperty(pacProp);
|
moduleConfig.addProperty(pacProp);
|
||||||
moduleConfig.addProperty(nameProp);
|
moduleConfig.addProperty(nameProp);
|
||||||
|
@ -68,6 +68,9 @@ public class DomainModule extends GenericModule {
|
|||||||
hiveProp.setReadOnly(true);
|
hiveProp.setReadOnly(true);
|
||||||
PropertyConfig sinceProp = new PropertyConfig(moduleConfig, "since", Date.class, new DatePropertyFieldFactory());
|
PropertyConfig sinceProp = new PropertyConfig(moduleConfig, "since", Date.class, new DatePropertyFieldFactory());
|
||||||
sinceProp.setReadOnly(true);
|
sinceProp.setReadOnly(true);
|
||||||
|
idProp.setShowInForm(false);
|
||||||
|
pacProp.setShowInForm(false);
|
||||||
|
hiveProp.setShowInForm(false);
|
||||||
moduleConfig.addProperty(idProp);
|
moduleConfig.addProperty(idProp);
|
||||||
moduleConfig.addProperty(nameProp);
|
moduleConfig.addProperty(nameProp);
|
||||||
moduleConfig.addProperty(userProp);
|
moduleConfig.addProperty(userProp);
|
||||||
|
@ -66,13 +66,19 @@ public class EMailAddressModule extends GenericModule {
|
|||||||
pacProp.setReadOnly(true);
|
pacProp.setReadOnly(true);
|
||||||
PropertyConfig fulldomainProp = new PropertyConfig(moduleConfig, "fulldomain", String.class, PropertyTableColumn.HIDDEN);
|
PropertyConfig fulldomainProp = new PropertyConfig(moduleConfig, "fulldomain", String.class, PropertyTableColumn.HIDDEN);
|
||||||
fulldomainProp.setReadOnly(true);
|
fulldomainProp.setReadOnly(true);
|
||||||
|
idProp.setShowInForm(false);
|
||||||
|
localpartProp.setShowInForm(false);
|
||||||
|
subdomainProp.setShowInForm(false);
|
||||||
|
domainProp.setShowInForm(false);
|
||||||
|
pacProp.setShowInForm(false);
|
||||||
|
fulldomainProp.setShowInForm(false);
|
||||||
moduleConfig.addProperty(idProp);
|
moduleConfig.addProperty(idProp);
|
||||||
|
moduleConfig.addProperty(domAdminProp);
|
||||||
moduleConfig.addProperty(fullAddressProp);
|
moduleConfig.addProperty(fullAddressProp);
|
||||||
moduleConfig.addProperty(localpartProp);
|
moduleConfig.addProperty(localpartProp);
|
||||||
moduleConfig.addProperty(subdomainProp);
|
moduleConfig.addProperty(subdomainProp);
|
||||||
moduleConfig.addProperty(domainProp);
|
moduleConfig.addProperty(domainProp);
|
||||||
moduleConfig.addProperty(targetProp);
|
moduleConfig.addProperty(targetProp);
|
||||||
moduleConfig.addProperty(domAdminProp);
|
|
||||||
moduleConfig.addProperty(pacProp);
|
moduleConfig.addProperty(pacProp);
|
||||||
moduleConfig.addProperty(fulldomainProp);
|
moduleConfig.addProperty(fulldomainProp);
|
||||||
}
|
}
|
||||||
|
@ -74,6 +74,8 @@ public class EMailAliasModule extends GenericModule {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
pacProp.setWriteOnce(true);
|
pacProp.setWriteOnce(true);
|
||||||
|
idProp.setShowInForm(false);
|
||||||
|
pacProp.setShowInForm(false);
|
||||||
moduleConfig.addProperty(idProp);
|
moduleConfig.addProperty(idProp);
|
||||||
moduleConfig.addProperty(pacProp);
|
moduleConfig.addProperty(pacProp);
|
||||||
moduleConfig.addProperty(nameProp);
|
moduleConfig.addProperty(nameProp);
|
||||||
|
@ -76,6 +76,9 @@ public class HomeModule extends AbstractModule implements ComponentFactory, Upda
|
|||||||
PropertyConfig passwordProp = new PropertyConfig(moduleConfig, "password", String.class, PropertyTableColumn.NONE, new PasswordPropertyFieldFactory(this));
|
PropertyConfig passwordProp = new PropertyConfig(moduleConfig, "password", String.class, PropertyTableColumn.NONE, new PasswordPropertyFieldFactory(this));
|
||||||
PropertyConfig commentProp = new PropertyConfig(moduleConfig, "comment", String.class);
|
PropertyConfig commentProp = new PropertyConfig(moduleConfig, "comment", String.class);
|
||||||
commentProp.setReadOnly(true);
|
commentProp.setReadOnly(true);
|
||||||
|
idProp.setShowInForm(false);
|
||||||
|
pacProp.setShowInForm(false);
|
||||||
|
useridProp.setShowInForm(false);
|
||||||
moduleConfig.addProperty(idProp);
|
moduleConfig.addProperty(idProp);
|
||||||
moduleConfig.addProperty(pacProp);
|
moduleConfig.addProperty(pacProp);
|
||||||
moduleConfig.addProperty(useridProp);
|
moduleConfig.addProperty(useridProp);
|
||||||
|
@ -18,20 +18,15 @@ import com.vaadin.terminal.ExternalResource;
|
|||||||
import com.vaadin.terminal.Terminal;
|
import com.vaadin.terminal.Terminal;
|
||||||
import com.vaadin.terminal.ThemeResource;
|
import com.vaadin.terminal.ThemeResource;
|
||||||
import com.vaadin.terminal.gwt.server.HttpServletRequestListener;
|
import com.vaadin.terminal.gwt.server.HttpServletRequestListener;
|
||||||
import com.vaadin.ui.Button;
|
|
||||||
import com.vaadin.ui.Component;
|
import com.vaadin.ui.Component;
|
||||||
import com.vaadin.ui.CustomLayout;
|
import com.vaadin.ui.CustomLayout;
|
||||||
import com.vaadin.ui.Embedded;
|
|
||||||
import com.vaadin.ui.HorizontalLayout;
|
|
||||||
import com.vaadin.ui.Link;
|
import com.vaadin.ui.Link;
|
||||||
import com.vaadin.ui.TabSheet;
|
import com.vaadin.ui.TabSheet;
|
||||||
import com.vaadin.ui.VerticalLayout;
|
import com.vaadin.ui.VerticalLayout;
|
||||||
import com.vaadin.ui.Window;
|
import com.vaadin.ui.Window;
|
||||||
import com.vaadin.ui.Button.ClickEvent;
|
|
||||||
import com.vaadin.ui.TabSheet.SelectedTabChangeEvent;
|
import com.vaadin.ui.TabSheet.SelectedTabChangeEvent;
|
||||||
import com.vaadin.ui.TabSheet.Tab;
|
import com.vaadin.ui.TabSheet.Tab;
|
||||||
import com.vaadin.ui.Window.Notification;
|
import com.vaadin.ui.Window.Notification;
|
||||||
import com.vaadin.ui.themes.BaseTheme;
|
|
||||||
|
|
||||||
import de.hsadmin.web.config.LocaleConfig;
|
import de.hsadmin.web.config.LocaleConfig;
|
||||||
import de.hsadmin.web.config.ModuleConfig;
|
import de.hsadmin.web.config.ModuleConfig;
|
||||||
@ -48,8 +43,6 @@ public class MainApplication extends Application implements HttpServletRequestLi
|
|||||||
private Map<String, Module> modules;
|
private Map<String, Module> modules;
|
||||||
private Locale requestLocale;
|
private Locale requestLocale;
|
||||||
|
|
||||||
private CustomLayout header;
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init() {
|
public void init() {
|
||||||
@ -74,17 +67,6 @@ public class MainApplication extends Application implements HttpServletRequestLi
|
|||||||
Window mainWindow = new Window(localeConfig.getText("applicationtitle"));
|
Window mainWindow = new Window(localeConfig.getText("applicationtitle"));
|
||||||
VerticalLayout verticalLayout = new VerticalLayout();
|
VerticalLayout verticalLayout = new VerticalLayout();
|
||||||
verticalLayout.setSizeFull();
|
verticalLayout.setSizeFull();
|
||||||
// HorizontalLayout banner = new HorizontalLayout();
|
|
||||||
// Embedded image = new Embedded(null, new ThemeResource("../hs/icons/logo.png"));
|
|
||||||
// image.setMimeType("image/png");
|
|
||||||
// Embedded bgImage = new Embedded(null, new ThemeResource("../hs/icons/bg.png"));
|
|
||||||
// bgImage.setMimeType("image/png");
|
|
||||||
// Link logout = new Link("logout", new ExternalResource(localeConfig.getText("logout.link")));
|
|
||||||
// banner.addComponent(image);
|
|
||||||
// banner.addComponent(bgImage);
|
|
||||||
// banner.addComponent(logout);
|
|
||||||
// banner.setExpandRatio(bgImage, 1.0f);
|
|
||||||
// verticalLayout.addComponent(banner);
|
|
||||||
CustomLayout banner = new CustomLayout("../../hs/layout/header");
|
CustomLayout banner = new CustomLayout("../../hs/layout/header");
|
||||||
verticalLayout.addComponent(banner);
|
verticalLayout.addComponent(banner);
|
||||||
TabSheet tabs = new TabSheet();
|
TabSheet tabs = new TabSheet();
|
||||||
@ -110,7 +92,8 @@ public class MainApplication extends Application implements HttpServletRequestLi
|
|||||||
tabs.addListener(this);
|
tabs.addListener(this);
|
||||||
verticalLayout.addComponent(tabs);
|
verticalLayout.addComponent(tabs);
|
||||||
verticalLayout.setExpandRatio(tabs, 1.0f);
|
verticalLayout.setExpandRatio(tabs, 1.0f);
|
||||||
verticalLayout.addComponent(new Link(localeConfig.getText("impressum.label"), new ExternalResource(localeConfig.getText("impressum.link"))));
|
CustomLayout footer = new CustomLayout("../../hs/layout/footer");
|
||||||
|
verticalLayout.addComponent(footer);
|
||||||
mainWindow.setContent(verticalLayout);
|
mainWindow.setContent(verticalLayout);
|
||||||
setMainWindow(mainWindow);
|
setMainWindow(mainWindow);
|
||||||
setErrorHandler(new Terminal.ErrorListener() {
|
setErrorHandler(new Terminal.ErrorListener() {
|
||||||
|
@ -114,6 +114,9 @@ public class UnixUserModule extends GenericModule {
|
|||||||
return "0";
|
return "0";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
pacProp.setShowInForm(false);
|
||||||
|
idProp.setShowInForm(false);
|
||||||
|
useridProp.setShowInForm(false);
|
||||||
moduleConfig.addProperty(pacProp);
|
moduleConfig.addProperty(pacProp);
|
||||||
moduleConfig.addProperty(idProp);
|
moduleConfig.addProperty(idProp);
|
||||||
moduleConfig.addProperty(useridProp);
|
moduleConfig.addProperty(useridProp);
|
||||||
|
@ -6,7 +6,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
import de.hsadmin.web.vaadin.DefaultPropertyFieldFactory;
|
import de.hsadmin.web.vaadin.DefaultPropertyFieldFactory;
|
||||||
|
|
||||||
public class PropertyConfig implements Serializable, PropertyDefaultValue, PropertySelectValues {
|
public class PropertyConfig implements Serializable, PropertyDefaultValue, PropertySelectValues, PropertyFormVisible {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@ -17,6 +17,7 @@ public class PropertyConfig implements Serializable, PropertyDefaultValue, Prope
|
|||||||
private PropertyFieldFactory propFieldFactory;
|
private PropertyFieldFactory propFieldFactory;
|
||||||
private PropertyDefaultValue defaultValue;
|
private PropertyDefaultValue defaultValue;
|
||||||
private PropertySelectValues selectValues;
|
private PropertySelectValues selectValues;
|
||||||
|
private boolean showInForm = true;
|
||||||
|
|
||||||
public PropertyConfig(ModuleConfig moduleConfig, String id, Class<?> clasz) {
|
public PropertyConfig(ModuleConfig moduleConfig, String id, Class<?> clasz) {
|
||||||
this.moduleConfig = moduleConfig;
|
this.moduleConfig = moduleConfig;
|
||||||
@ -126,5 +127,15 @@ public class PropertyConfig implements Serializable, PropertyDefaultValue, Prope
|
|||||||
public void setWriteOnce(boolean writeOnce) {
|
public void setWriteOnce(boolean writeOnce) {
|
||||||
propFieldFactory.setWriteOnce(writeOnce);
|
propFieldFactory.setWriteOnce(writeOnce);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isShowInForm() {
|
||||||
|
return showInForm;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setShowInForm(boolean show) {
|
||||||
|
showInForm = show;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
package de.hsadmin.web.config;
|
||||||
|
|
||||||
|
public interface PropertyFormVisible {
|
||||||
|
|
||||||
|
public abstract void setShowInForm(boolean dontShow);
|
||||||
|
|
||||||
|
public abstract boolean isShowInForm();
|
||||||
|
|
||||||
|
}
|
@ -18,7 +18,7 @@ public class DatePropertyFieldFactory implements PropertyFieldFactory {
|
|||||||
public static final DateFormat serverDf = DateFormat.getDateInstance(DateFormat.SHORT);
|
public static final DateFormat serverDf = DateFormat.getDateInstance(DateFormat.SHORT);
|
||||||
|
|
||||||
private boolean readOnly = false;
|
private boolean readOnly = false;
|
||||||
private boolean writeOnce;
|
private boolean writeOnce = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object createFieldComponent(PropertyConfig prop, Object value) {
|
public Object createFieldComponent(PropertyConfig prop, Object value) {
|
||||||
|
@ -9,7 +9,7 @@ import de.hsadmin.web.config.PropertyFieldFactory;
|
|||||||
public class DefaultPropertyFieldFactory implements PropertyFieldFactory {
|
public class DefaultPropertyFieldFactory implements PropertyFieldFactory {
|
||||||
|
|
||||||
private boolean readOnly = false;
|
private boolean readOnly = false;
|
||||||
private boolean writeOnce;
|
private boolean writeOnce = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object createFieldComponent(PropertyConfig prop, Object value) {
|
public Object createFieldComponent(PropertyConfig prop, Object value) {
|
||||||
|
@ -24,8 +24,8 @@ import de.hsadmin.web.config.PropertyFieldFactory;
|
|||||||
public class EMailTargetPropertyFieldFactory implements PropertyFieldFactory {
|
public class EMailTargetPropertyFieldFactory implements PropertyFieldFactory {
|
||||||
|
|
||||||
private Module module;
|
private Module module;
|
||||||
private boolean readOnly;
|
private boolean readOnly = false;
|
||||||
private boolean writeOnce;
|
private boolean writeOnce = false;
|
||||||
private List<String> users;
|
private List<String> users;
|
||||||
private List<String> mailAliases;
|
private List<String> mailAliases;
|
||||||
private Map<Integer, SingleEMailTarget> targets;
|
private Map<Integer, SingleEMailTarget> targets;
|
||||||
@ -245,4 +245,5 @@ public class EMailTargetPropertyFieldFactory implements PropertyFieldFactory {
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ public class GenericForm {
|
|||||||
f.setData(entityId);
|
f.setData(entityId);
|
||||||
Layout layout = f.getLayout();
|
Layout layout = f.getLayout();
|
||||||
for (PropertyConfig prop : config.getPropertyList()) {
|
for (PropertyConfig prop : config.getPropertyList()) {
|
||||||
if (!prop.getPropTableColumn().equals(PropertyTableColumn.INTERNAL_KEY)) {
|
if (!prop.getPropTableColumn().equals(PropertyTableColumn.INTERNAL_KEY) && prop.isShowInForm()) {
|
||||||
PropertyFieldFactory propFieldFactory = prop.getPropFieldFactory();
|
PropertyFieldFactory propFieldFactory = prop.getPropFieldFactory();
|
||||||
Object value = row.get(prop.getId());
|
Object value = row.get(prop.getId());
|
||||||
Component component = (Component) propFieldFactory.createFieldComponent(prop, value);
|
Component component = (Component) propFieldFactory.createFieldComponent(prop, value);
|
||||||
|
@ -13,8 +13,8 @@ import de.hsadmin.web.config.PropertyFieldFactory;
|
|||||||
public class PasswordPropertyFieldFactory implements PropertyFieldFactory {
|
public class PasswordPropertyFieldFactory implements PropertyFieldFactory {
|
||||||
|
|
||||||
private Module module;
|
private Module module;
|
||||||
private boolean readOnly;
|
private boolean readOnly = false;
|
||||||
private boolean writeOnce;
|
private boolean writeOnce = false;
|
||||||
|
|
||||||
public PasswordPropertyFieldFactory(Module module) {
|
public PasswordPropertyFieldFactory(Module module) {
|
||||||
this.module = module;
|
this.module = module;
|
||||||
|
@ -11,8 +11,8 @@ import de.hsadmin.web.config.PropertyFieldFactory;
|
|||||||
|
|
||||||
public class SelectPropertyFieldFactory implements PropertyFieldFactory {
|
public class SelectPropertyFieldFactory implements PropertyFieldFactory {
|
||||||
|
|
||||||
private boolean readOnly;
|
private boolean readOnly = false;
|
||||||
private boolean writeOnce;
|
private boolean writeOnce = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object createFieldComponent(PropertyConfig prop, Object value) {
|
public Object createFieldComponent(PropertyConfig prop, Object value) {
|
||||||
|
@ -173,6 +173,7 @@ public class TableComponentFactory implements ComponentFactory, Serializable {
|
|||||||
final Button button = new Button();
|
final Button button = new Button();
|
||||||
final Module thisModule = module;
|
final Module thisModule = module;
|
||||||
button.setIcon(icon);
|
button.setIcon(icon);
|
||||||
|
button.setDescription(module.getApplication().getLocaleConfig().getText("update"));
|
||||||
button.setData(id);
|
button.setData(id);
|
||||||
button.setStyleName(BaseTheme.BUTTON_LINK);
|
button.setStyleName(BaseTheme.BUTTON_LINK);
|
||||||
button.addListener(new Button.ClickListener() {
|
button.addListener(new Button.ClickListener() {
|
||||||
@ -230,6 +231,7 @@ public class TableComponentFactory implements ComponentFactory, Serializable {
|
|||||||
ThemeResource icon = new ThemeResource("../runo/icons/16/document-delete.png");
|
ThemeResource icon = new ThemeResource("../runo/icons/16/document-delete.png");
|
||||||
final Button button = new Button();
|
final Button button = new Button();
|
||||||
button.setIcon(icon);
|
button.setIcon(icon);
|
||||||
|
button.setDescription(module.getApplication().getLocaleConfig().getText("delete"));
|
||||||
button.setData(id);
|
button.setData(id);
|
||||||
button.setStyleName(BaseTheme.BUTTON_LINK);
|
button.setStyleName(BaseTheme.BUTTON_LINK);
|
||||||
button.addListener(new Button.ClickListener() {
|
button.addListener(new Button.ClickListener() {
|
||||||
|
@ -5,9 +5,6 @@ confirmdelete=confirm delete
|
|||||||
save=save
|
save=save
|
||||||
abort=abort
|
abort=abort
|
||||||
new=new
|
new=new
|
||||||
impressum.label=Published by
|
|
||||||
impressum.link=https://www.hostsharing.net/impressum
|
|
||||||
logo.link=https://www.hostsharing.net/logo.png
|
|
||||||
modules.NONE=de.hsadmin.web.HomeModule
|
modules.NONE=de.hsadmin.web.HomeModule
|
||||||
modules.USER=de.hsadmin.web.HomeModule
|
modules.USER=de.hsadmin.web.HomeModule
|
||||||
modules.DOM_ADMIN=de.hsadmin.web.DomainReadonlyModule,de.hsadmin.web.EMailAddressModule,de.hsadmin.web.HomeModule
|
modules.DOM_ADMIN=de.hsadmin.web.DomainReadonlyModule,de.hsadmin.web.EMailAddressModule,de.hsadmin.web.HomeModule
|
||||||
|
@ -5,6 +5,3 @@ confirmdelete=Diesen Eintrag l
|
|||||||
save=speichern
|
save=speichern
|
||||||
abort=abbrechen
|
abort=abbrechen
|
||||||
new=Eintrag anlegen
|
new=Eintrag anlegen
|
||||||
impressum.label=Impressum
|
|
||||||
impressum.link=https://www.hostsharing.net/impressum
|
|
||||||
logo.link=https://www.hostsharing.net/logo.png
|
|
||||||
|
Loading…
Reference in New Issue
Block a user