]> WPIA git - gigi.git/blobdiff - src/club/wpia/gigi/pages/account/certs/Certificates.java
upd: get default variables into outputables for error messages
[gigi.git] / src / club / wpia / gigi / pages / account / certs / Certificates.java
index 07028f6ff217a48bc4b5c0ed081928c1bd5e6756..62322554361348c2d91a0cedef772b52b1e054e9 100644 (file)
@@ -13,6 +13,7 @@ import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import club.wpia.gigi.GigiApiException;
 import club.wpia.gigi.dbObjects.Certificate;
 import club.wpia.gigi.dbObjects.Certificate.CertificateStatus;
 import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName;
@@ -74,7 +75,7 @@ public class Certificates extends Page implements HandlesMixedRequest {
         String serial = pi;
         try {
             Certificate c = Certificate.getBySerial(serial);
-            if (c == null || LoginPage.getAuthorizationContext(req).getTarget().getId() != c.getOwner().getId()) {
+            if (c == null || ( !support && LoginPage.getAuthorizationContext(req).getTarget().getId() != c.getOwner().getId())) {
                 resp.sendError(404);
                 return true;
             }
@@ -93,6 +94,9 @@ public class Certificates extends Page implements HandlesMixedRequest {
         } catch (IllegalArgumentException e) {
             resp.sendError(404);
             return true;
+        } catch (GigiApiException e) {
+            resp.sendError(404);
+            return true;
         } catch (GeneralSecurityException e) {
             resp.sendError(404);
             return true;
@@ -143,7 +147,7 @@ public class Certificates extends Page implements HandlesMixedRequest {
             Certificate c = Certificate.getBySerial(serial);
             Language l = LoginPage.getLanguage(req);
 
-            if ( !support && (c == null || LoginPage.getAuthorizationContext(req).getTarget().getId() != c.getOwner().getId())) {
+            if (c == null || ( !support && LoginPage.getAuthorizationContext(req).getTarget().getId() != c.getOwner().getId())) {
                 resp.sendError(404);
                 return;
             }
@@ -226,6 +230,8 @@ public class Certificates extends Page implements HandlesMixedRequest {
                 vars.put("login", c.isLoginEnabled());
             } catch (GeneralSecurityException e) {
                 e.printStackTrace();
+            } catch (GigiApiException e) {
+                e.format(out, l, getDefaultVars(req));
             }
             certDisplay.output(out, getLanguage(req), vars);