ucUAPostUpdate

Purpose

Applies To

User Account Display

Signature

    public void ucUAPostUpdate(
                 Connection dbconn,
                 SesameSession session,
                 String action,
                 SecurityUser su,
                 SecurityUser oldSu) { }

Notes

Example

public void ucUAPostUpdate(Connection con,
                                    SesameSession session,
                                    String action,
                                    SecurityUser su,
                                    SecurityUser oldSu) {
        String u4New =su.getUserField4();
        String u4Old = null;
        if (oldSu != null)
            u4Old = oldSu.getUserField4();
        if (u4New == null && u4Old == null)
            return;

        if (u4New == null)  u4New = "";
        if (u4Old == null)  u4Old = "";
        
        if (u4New.equals(u4Old))
            return;
        if (!"DENY".equals(u4New) && !"DENY".equals(u4Old))
          return;

        String msg = null;
        if ("DENY".equalsIgnoreCase(u4New))  msg = "Account is on Administrative Hold.";
        
        PreparedStatement ps = null;
        ResultSet rs = null;
        String udfId = Z.dictionary.getUdfId("ACCOUNT_HOLD_STATUS");
        if (udfId == null)  {
            Z.log.writeToLog (Z.log.ERROR, "Missing UDF for ACCOUNT_HOLD_STATUS");
            return;
        }
        try {
            ps = con.prepareStatement ("select item_id from item where originator = ? 
                        and status != 'CLOSED'");
            ps.setString(1, su.getId());
            rs = ps.executeQuery();
            while (rs.next()) {
                String id = rs.getString(1);
                UcUtil.updateIssueUdfs (id, "u", udfId, "v", msg, session);
            }
            
            rs.close();
            ps.close();
        } catch (Exception e){
            ErrorWriter.write(e, ErrorWriter.LOGERR);
        } finally {
            try { if (rs != null)  rs.close(); } catch (Exception e) {}
            try { if (ps != null)  ps.close(); } catch (Exception e) {}
        }
    }