diff --git a/hsarback/database/database_update.sql b/hsarback/database/database_update.sql index 541eab2..979162d 100644 --- a/hsarback/database/database_update.sql +++ b/hsarback/database/database_update.sql @@ -1,4 +1,4 @@ -ALTER TABLE unixuser - ADD COLUMN storage_softlimit integer DEFAULT 0 NOT NULL; -ALTER TABLE unixuser - ADD COLUMN storage_hardlimit integer DEFAULT 0; +ALTER TABLE packet + ALTER COLUMN packet_name character varying(6) NOT NULL; +ALTER TABLE packet + ALTER COLUMN hive_id DROP NOT NULL; diff --git a/hsarback/database/schema.sql b/hsarback/database/schema.sql index 5718095..a0de244 100644 --- a/hsarback/database/schema.sql +++ b/hsarback/database/schema.sql @@ -429,9 +429,9 @@ CREATE SEQUENCE packet_packet_id_seq CREATE TABLE packet ( packet_id integer DEFAULT nextval(('"packet_packet_id_seq"'::text)::regclass) NOT NULL, basepacket_id integer NOT NULL, - packet_name character varying(5) NOT NULL, + packet_name character varying(6) NOT NULL, bp_id integer NOT NULL, - hive_id integer NOT NULL, + hive_id integer, created date NOT NULL, cancelled date, free boolean NOT NULL, @@ -515,9 +515,11 @@ CREATE TABLE unixuser ( homedir character varying(128) NOT NULL, locked boolean NOT NULL, packet_id integer NOT NULL, - quota_softlimit integer DEFAULT 0 NOT NULL, userid integer NOT NULL, + quota_softlimit integer DEFAULT 0 NOT NULL, quota_hardlimit integer DEFAULT 0, + storage_softlimit integer DEFAULT 0 NOT NULL, + storage_hardlimit integer DEFAULT 0, CONSTRAINT unixuser_userid CHECK ((userid >= 10000)) ); diff --git a/hsarback/src/de/hsadmin/mods/pac/PacModuleImpl.java b/hsarback/src/de/hsadmin/mods/pac/PacModuleImpl.java index 251d0f2..2d81bbb 100644 --- a/hsarback/src/de/hsadmin/mods/pac/PacModuleImpl.java +++ b/hsarback/src/de/hsadmin/mods/pac/PacModuleImpl.java @@ -63,14 +63,16 @@ public class PacModuleImpl extends AbstractModuleImpl { customer = (Customer) qCustomer.getSingleResult(); pac.setCustomer(customer); Hive hive = pac.getHive(); - if (hive == null || hive.getName() == null || hive.getName().length() == 0) { - throw new HSAdminException("hive required"); + if ("PAC/WEB".equals(basepac.getName())) { + if (hive == null || hive.getName() == null || hive.getName().length() == 0) { + throw new HSAdminException("hive required"); + } + Query qHive = em.createQuery("SELECT h FROM Hives h WHERE h.name = :name"); + qHive.setParameter("name", hive.getName()); + hive = (Hive) qHive.getSingleResult(); + pac.setHive(hive); + hive.getPacs().add(pac); } - Query qHive = em.createQuery("SELECT h FROM Hives h WHERE h.name = :name"); - qHive.setParameter("name", hive.getName()); - hive = (Hive) qHive.getSingleResult(); - pac.setHive(hive); - hive.getPacs().add(pac); Query qComponents = em.createQuery("SELECT c FROM Components c WHERE c.basePacket.basePacId = :basepac"); qComponents.setParameter("basepac", basepac.id()); List componentsList = qComponents.getResultList();