10 files added
15 files modified
| | |
| | | @Table(name = "emailalias") |
| | | @SequenceGenerator(name = "EMailAliasesSeqGen", sequenceName = "emailalias_emailalias_id_seq") |
| | | @EntityInfo(name = "E-Mail-Alias") |
| | | @SearchFilter("pac = :loginUserPac OR " |
| | | + "pac.customer.name = :loginUserName") |
| | | @SearchFilter("obj.pac = :loginUserPac OR obj.pac.customer.name = :loginUserName") |
| | | public class EMailAlias extends AbstractEntity implements Serializable { |
| | | |
| | | private static final long serialVersionUID = -4711415079723587161L; |
| | |
| | | public static String restriction() { |
| | | return |
| | | // all aliases of all pacs of customer |
| | | "pac.customer.name=:loginUserName OR " + |
| | | "obj.pac.customer.name=:loginUserName OR " + |
| | | // all aliases of packet admin |
| | | "pac.name=:loginUserName"; |
| | | "obj.pac.name=:loginUserName"; |
| | | } |
| | | |
| | | } |
| | |
| | | public List<AbstractEntity> search(Class<? extends AbstractEntity> entityClass, |
| | | String condition, String orderBy) throws HSAdminException { |
| | | if (orderBy == null || orderBy.length() == 0) { |
| | | orderBy = "ORDER BY name ASC"; |
| | | orderBy = "ORDER BY obj.name ASC"; |
| | | } |
| | | return super.search(entityClass, condition, orderBy); |
| | | } |
| | |
| | | String emailaddress = adr.getEMailAddress(); |
| | | String fulldomain = adr.getFullDomain(); |
| | | map.put("id", Long.toString(id)); |
| | | map.put("domain", domain); |
| | | map.put("admin", admin); |
| | | map.put("pac", pac); |
| | | map.put("target", target); |
| | | map.put("localpart", localpart); |
| | | map.put("subdomain", subdomain); |
| | | map.put("emailaddress", emailaddress); |
| | | map.put("fulldomain", fulldomain); |
| | | if (assertNotNull(domain)) map.put("domain", domain); |
| | | if (assertNotNull(admin)) map.put("admin", admin); |
| | | if (assertNotNull(pac)) map.put("pac", pac); |
| | | if (assertNotNull(target)) map.put("target", target); |
| | | if (assertNotNull(localpart)) map.put("localpart", localpart); |
| | | if (assertNotNull(subdomain)) map.put("subdomain", subdomain); |
| | | if (assertNotNull(emailaddress)) map.put("emailaddress", emailaddress); |
| | | if (assertNotNull(fulldomain)) map.put("fulldomain", fulldomain); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | import de.hsadmin.core.model.AbstractEntity; |
| | | import de.hsadmin.core.qserv.QueueTask; |
| | | import de.hsadmin.core.qserv.QueueTask.QueueTaskStatus; |
| | | import de.hsadmin.mods.user.UnixUser; |
| | | |
| | | public class QueueTaskRemote extends AbstractRemote { |
| | | |
| | |
| | | protected void entity2map(AbstractEntity entity, Map<String, String> resultMap) { |
| | | QueueTask task = (QueueTask) entity; |
| | | resultMap.put("id", Long.toString(task.getId())); |
| | | resultMap.put("status", task.getStatus().toString()); |
| | | resultMap.put("title", task.getTitle()); |
| | | resultMap.put("details", task.getDetails()); |
| | | resultMap.put("exception", task.getException()); |
| | | resultMap.put("user", task.getUser().getName()); |
| | | QueueTaskStatus status = task.getStatus(); |
| | | if (status != null) resultMap.put("status", status.toString()); |
| | | if (assertNotNull(task.getTitle())) resultMap.put("title", task.getTitle()); |
| | | if (assertNotNull(task.getDetails())) resultMap.put("details", task.getDetails()); |
| | | if (assertNotNull(task.getException())) resultMap.put("exception", task.getException()); |
| | | UnixUser user = task.getUser(); |
| | | if (user != null) resultMap.put("user", user.getName()); |
| | | Date started = task.getStarted(); |
| | | if (assertNotNull(started)) { |
| | | resultMap.put("started", df.format(started)); |
| | |
| | | <context-param> |
| | | <description>HSAdmin Module</description> |
| | | <param-name>hsarmodules</param-name> |
| | | <param-value>de.hsadmin.web.DomainModule,de.hsadmin.web.EMailAddressModule,de.hsadmin.web.EMailAliasModule</param-value> |
| | | <param-value>de.hsadmin.web.UnixUserModule,de.hsadmin.web.DomainModule,de.hsadmin.web.EMailAddressModule,de.hsadmin.web.EMailAliasModule,de.hsadmin.web.QueueTaskModule</param-value> |
| | | </context-param> |
| | | |
| | | <filter> |
| | |
| | | <classes dir="build/cls" /> |
| | | <classes dir="src"> |
| | | <include name="**/*.properties"/> |
| | | <include name="**/*.png"/> |
| | | </classes> |
| | | </war> |
| | | </target> |
| | |
| | | package de.hsadmin.web; |
| | | |
| | | import java.io.Serializable; |
| | | import java.text.DateFormat; |
| | | import java.text.ParseException; |
| | | import java.util.Calendar; |
| | |
| | | import de.hsadmin.web.config.ModuleConfig; |
| | | import de.hsadmin.web.config.PropertyConfig; |
| | | |
| | | public abstract class GenericModule { |
| | | public abstract class GenericModule implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | private static final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); |
| | |
| | | public void init() { |
| | | localeConfig = new LocaleConfig(Locale.getDefault(), "main"); |
| | | remote = new Remote(this); |
| | | Window mainWindow = new Window(localeConfig.getText("title")); |
| | | Window mainWindow = new Window(localeConfig.getText("applicationtitle")); |
| | | TabSheet tabs = new TabSheet(); |
| | | tabs.setWidth(100.0f, Sizeable.UNITS_PERCENTAGE); |
| | | tabs.setHeight(680.0f, Sizeable.UNITS_PIXELS); |
| | |
| | | firstModule = module; |
| | | } |
| | | ModuleConfig moduleConfig = module.getModuleConfig(); |
| | | String label = moduleConfig.getLabel("title"); |
| | | String label = moduleConfig.getLabel("moduletitle"); |
| | | modules.put(label, module); |
| | | tabs.addTab(module.getComponent(), label, new ThemeResource(moduleConfig.getLabel("icon"))); |
| | | tabs.addTab(module.getComponent(), label, new ThemeResource(moduleConfig.getLabel("moduleicon"))); |
| | | } catch (InstantiationException e) { |
| | | // TODO Auto-generated catch block |
| | | e.printStackTrace(); |
New file |
| | |
| | | package de.hsadmin.web; |
| | | |
| | | import java.util.Date; |
| | | |
| | | import de.hsadmin.web.config.ModuleConfig; |
| | | import de.hsadmin.web.config.PropertyConfig; |
| | | |
| | | public class QueueTaskModule extends GenericModule { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | private ModuleConfig moduleConfig; |
| | | |
| | | public QueueTaskModule() { |
| | | moduleConfig = new ModuleConfig("q"); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "id", Long.class, "", true, true)); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "title", String.class, "")); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "status", String.class, "")); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "started", Date.class, "")); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "finished", Date.class, "")); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "user", String.class, "", true)); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "details", String.class, "", true)); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "exception", String.class, "", true)); |
| | | } |
| | | |
| | | @Override |
| | | public ModuleConfig getModuleConfig() { |
| | | return moduleConfig; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package de.hsadmin.web; |
| | | |
| | | import de.hsadmin.web.config.ModuleConfig; |
| | | import de.hsadmin.web.config.PropertyConfig; |
| | | |
| | | public class UnixUserModule extends GenericModule { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | private ModuleConfig moduleConfig; |
| | | |
| | | public UnixUserModule() { |
| | | moduleConfig = new ModuleConfig("user"); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "id", Long.class, "", true, true)); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "name", String.class, "")); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "comment", String.class, "")); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "shell", String.class, "")); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "userid", Long.class, "", true)); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "homedir", String.class, "", true)); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "pac", String.class, "", true)); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "quota_softlimit", Long.class, "", true)); |
| | | moduleConfig.addProperty(new PropertyConfig(moduleConfig, "quota_hardlimit", Long.class, "", true)); |
| | | } |
| | | |
| | | @Override |
| | | public ModuleConfig getModuleConfig() { |
| | | return moduleConfig; |
| | | } |
| | | |
| | | } |
| | |
| | | pac=packet |
| | | hive=host |
| | | since=connected since |
| | | title=domains |
| | | icon=../runo/icons/16/document-web.png |
| | | moduletitle=domains |
| | | moduleicon=../runo/icons/16/document-web.png |
| | |
| | | pac=Paket |
| | | hive=Server |
| | | since=aufgeschaltet seit |
| | | title=Domains |
| | | icon=../runo/icons/16/document-web.png |
| | | moduletitle=Domains |
| | | moduleicon=../runo/icons/16/document-web.png |
| | |
| | | admin=admin user |
| | | pac=packet |
| | | fulldomain=full domain |
| | | title=email addresses |
| | | icon=../runo/icons/16/email.png |
| | | moduletitle=email addresses |
| | | moduleicon=../runo/icons/16/email.png |
| | |
| | | admin=Administrator |
| | | pac=Paket |
| | | fulldomain=volle Domain |
| | | title=EMail Adressen |
| | | icon=../runo/icons/16/email.png |
| | | moduletitle=EMail Adressen |
| | | moduleicon=../runo/icons/16/email.png |
| | |
| | | name=name |
| | | target=target(s) |
| | | pac=packet |
| | | title=email aliases |
| | | icon=../runo/icons/16/email-send.png |
| | | moduletitle=email aliases |
| | | moduleicon=../runo/icons/16/email-send.png |
| | |
| | | name=Alias |
| | | target=Ziel(e) |
| | | pac=Paket |
| | | title=EMail Aliases |
| | | icon=../runo/icons/16/email-send.png |
| | | moduletitle=EMail Aliases |
| | | moduleicon=../runo/icons/16/email-send.png |
| | |
| | | title=HSAdmin Web Application |
| | | applicationtitle=HSAdmin Web Application |
New file |
| | |
| | | id=identifier |
| | | title=title |
| | | status=status |
| | | started=started |
| | | finished=finished |
| | | user=user |
| | | details=details |
| | | exception=exception |
| | | moduletitle=queue tasks |
| | | moduleicon=../runo/icons/16/attention.png |
New file |
| | |
| | | id=Schlüssel |
| | | title=Titel |
| | | status=Status |
| | | started=gestartet |
| | | finished=bearbeitet |
| | | user=Benutzer |
| | | details=Details |
| | | exception=Fehlermeldungen |
| | | moduletitle=Aufträge |
| | | moduleicon=../runo/icons/16/attention.png |
New file |
| | |
| | | id=identifier |
| | | name=username |
| | | comment=comment |
| | | shell=shell |
| | | userid=numeric userid |
| | | homedir=home directory |
| | | pac=packet |
| | | quota_softlimit=quota soft limit |
| | | quota_hardlimit=quota hard limit |
| | | moduletitle=unix user |
| | | moduleicon=../runo/icons/16/users.png |
New file |
| | |
| | | id=Schlüssel |
| | | name=Benutzername |
| | | comment=Beschreibung |
| | | shell=Unix Shell |
| | | userid=Numerische Id |
| | | homedir=Heimat Verzeichnis |
| | | pac=Paket |
| | | quota_softlimit=Weiche Quota |
| | | quota_hardlimit=Harte Quota |
| | | moduletitle=Unix Benutzer |
| | | moduleicon=../runo/icons/16/users.png |