Search in sources :

Example 56 with Select

use of db.Select in project common by zenlunatics.

the class ColumnBase method _new_view_def_.

// --------------------------------------------------------------------------
public static ViewDef _new_view_def_(String name) {
    if (name.equals("_columns_")) {
        ViewDef view_def = new ViewDef(name) {

            @Override
            public boolean beforeDelete(StringBuilder where, Request p) {
                p.releaseViewDef(p.db.lookupString(new Select("name").from("_views_").whereIdEquals(p.db.lookupInt(new Select("_views__id").from("_columns_").where(where.toString()), 0))));
                return true;
            }

            @Override
            public boolean beforeInsert(NameValuePairs name_value_pairs, Request p) {
                String table = p.getParameter("db_table");
                if (table != null)
                    name_value_pairs.set("type_args", table + "\t" + p.getParameter("db_column"));
                return true;
            }

            @Override
            public boolean beforeUpdate(int id, NameValuePairs name_value_pairs, Map<String, Object> previous_values, Request p) {
                String table = p.getParameter("db_table");
                if (table != null)
                    name_value_pairs.set("type_args", table + "\t" + p.getParameter("db_column"));
                p.releaseViewDef(p.db.lookupString(new Select("name").from("_views_").whereIdEquals(p.db.lookupInt(new Select("_views__id").from("_columns_").whereIdEquals(id), 0))));
                return true;
            }
        };
        view_def.setAllowQuickEdit(true);
        view_def.setDefaultOrderBy("name");
        List<String> names = DBObject.getFieldNames(ColumnBase.class);
        Collections.sort(names);
        view_def.setColumnNamesForm(names.toArray(new String[names.size()]));
        view_def.setColumnNamesTable(new String[] { "type", "name" });
        view_def.setRecordName("Column");
        view_def.setColumn(new Column("name").setIsRequired(true));
        view_def.setColumn(new Column("type_args").setIsHidden(true));
        return view_def;
    }
    return null;
}
Also used : NameValuePairs(db.NameValuePairs) JDBCColumn(db.JDBCColumn) Request(app.Request) Select(db.Select) ViewDef(db.ViewDef) Map(java.util.Map)

Example 57 with Select

use of db.Select in project common by zenlunatics.

the class ColumnBase method setValue.

// --------------------------------------------------------------------------
public void setValue(String value, NameValuePairs name_value_pairs, Mode mode, Request request) throws Exception {
    if (m_encryption_column != null)
        if (mode == View.Mode.EDIT_FORM)
            name_value_pairs.set(m_name, Util.scramble(value, request.db.lookupInt(new Select(m_encryption_column).from(request.getParameter("db_view_def")).whereIdEquals(request.getInt("db_key_value", 0)), 0)));
        else
            name_value_pairs.set(m_name, Util.scramble(value, request.getInt(m_encryption_column, 0)));
    else
        name_value_pairs.set(m_name, value);
}
Also used : Select(db.Select)

Example 58 with Select

use of db.Select in project common by zenlunatics.

the class Minutes method doGet.

// --------------------------------------------------------------------------
@Override
public boolean doGet(Request request) throws IOException {
    if (super.doGet(request))
        return true;
    int minutes_id = request.getPathSegmentInt(1);
    HTMLWriter writer = request.writer;
    try {
        ResultSet rs = request.db.select(new Select("text").from(m_table).whereIdEquals(minutes_id));
        if (rs.next()) {
            String text = rs.getString(1);
            if (text != null)
                writer.write("<div id=\"c_\">").writeWithLinks(text).br().buttonIconOnClick("print", "open_print_window(this)").write("</div>");
        }
        rs.getStatement().close();
    } catch (SQLException e) {
        throw new RuntimeException(e);
    }
    View attachments = new View(request.site.getViewDef(m_table + "_attachments", request.db), request);
    ColumnBase<?> column = attachments.getColumn("filename");
    attachments.select(new Select("*").from(m_table + "_attachments").where(m_table + "_id=" + minutes_id));
    if (attachments.data().isBeforeFirst()) {
        writer.hr().h4("Attachments");
        while (attachments.next()) {
            column.writeValue(attachments, null, request);
            writer.br();
        }
        writer.br();
    }
    Comments.writeComments(m_table, minutes_id, request);
    return true;
}
Also used : HTMLWriter(web.HTMLWriter) SQLException(java.sql.SQLException) ResultSet(java.sql.ResultSet) Select(db.Select) View(db.View)

Example 59 with Select

use of db.Select in project common by zenlunatics.

the class PicturesNewsItem method masonry.

// --------------------------------------------------------------------------
private void masonry(int num_columns) throws IOException {
    int[] y = new int[num_columns];
    int col_width = 470 / num_columns;
    StringBuilder where = new StringBuilder("id IN (");
    int num_pictures = m_item_ids.size();
    for (int i = 0; i < num_pictures; i++) {
        if (i > 0)
            where.append(',');
        where.append(m_item_ids.get(i));
    }
    where.append(')');
    ArrayList<String> files = new ArrayList<String>();
    ArrayList<String> ids = new ArrayList<String>();
    ArrayList<String> titles = new ArrayList<String>();
    StringBuilder images = new StringBuilder();
    ResultSet rs = m_request.db.select(new Select("id,file,width,height,caption,_owner_").from(m_provider.getTable()).where(where.toString()));
    try {
        while (rs.next()) {
            String id = rs.getString(1);
            ids.add(id);
            titles.add(Pictures.buildTitle(id, rs.getString(5), m_request.site.lookupName(rs.getInt(6), m_request.db), null).replace("\"", "&quot;"));
            int col = lowest(y);
            int width = rs.getInt(3);
            int height = rs.getInt(4);
            int new_width = col_width - 2;
            int new_height;
            if (new_width > width) {
                new_width = width;
                new_height = height;
            } else {
                double ratio = (double) new_width / width;
                new_height = (int) (height * ratio);
            }
            images.append("<img style=\"cursor:pointer;position:absolute;width:");
            images.append(new_width);
            images.append("px;height:");
            images.append(new_height);
            images.append("px;left:");
            images.append(col * col_width);
            images.append("px;top:");
            images.append(y[col] + 2);
            images.append("px;\" src=\"");
            images.append(m_request.getContext());
            images.append("/");
            images.append(m_provider.getTable());
            images.append("/thumbs/");
            String file = rs.getString(2);
            files.add(file);
            images.append(file);
            images.append("\" />");
            y[col] += new_height + 2;
        }
        rs.getStatement().close();
    } catch (SQLException e) {
    }
    int height = 0;
    for (int h : y) if (h > height)
        height = h;
    m_request.writer.write("<div onclick=\"if(event.target!=this){Gallery.setFiles(").jsArray(files).write(',').jsArray(ids).write(',').jsArray(titles).write(");Gallery.open(this.getChildren().indexOf(event.target));}\" style=\"height:").write(height).write("px;position:relative;\">").write(images.toString()).write("</div>");
}
Also used : SQLException(java.sql.SQLException) ArrayList(java.util.ArrayList) ResultSet(java.sql.ResultSet) Select(db.Select)

Example 60 with Select

use of db.Select in project common by zenlunatics.

the class EventProvider method writeAutomaticReminders.

// --------------------------------------------------------------------------
public void writeAutomaticReminders(View view, Request request) throws IOException {
    if (m_support_reminders) {
        HTMLWriter writer = request.writer;
        ResultSet rs = request.db.select(new Select("*").from(m_events_table + "_reminders").where(m_events_table + "_id IS NULL"));
        try {
            if (rs.isBeforeFirst()) {
                writer.h4("Automatic Reminders");
                Table table = new Table(writer).addClass("table").addClass("table-bordered").addClass("table-condensed").open();
                table.tr().th("send to").th("when").th("note");
                while (rs.next()) {
                    table.tr().td(rs.getString("email"));
                    table.td();
                    int num = rs.getInt("num");
                    String repeat_days = null;
                    String unit = rs.getString("unit");
                    if (m_events_can_repeat)
                        repeat_days = rs.getString("repeat_days");
                    if (num == 0 && "day".equals(unit))
                        writer.write(repeat_days == null ? "on the day" : "on the day of");
                    else {
                        writer.write(num).space().write(unit);
                        if (num != 1)
                            writer.write('s');
                        writer.write(rs.getBoolean("before") ? " before" : " after");
                    }
                    if (m_events_can_repeat)
                        if (repeat_days != null && !"never".equals(repeat_days))
                            writer.space().write(repeat_days);
                    table.td(rs.getString("note"));
                }
                rs.getStatement().close();
                table.close();
            }
        } catch (SQLException e) {
        }
    }
}
Also used : HTMLWriter(web.HTMLWriter) Table(web.Table) JDBCTable(db.JDBCTable) SQLException(java.sql.SQLException) ResultSet(java.sql.ResultSet) Select(db.Select)

Aggregations

Select (db.Select)67 SQLException (java.sql.SQLException)24 ResultSet (java.sql.ResultSet)21 HTMLWriter (web.HTMLWriter)18 ArrayList (java.util.ArrayList)9 JDBCColumn (db.JDBCColumn)7 File (java.io.File)7 IOException (java.io.IOException)6 MessagingException (javax.mail.MessagingException)6 MimeMessage (javax.mail.internet.MimeMessage)6 AdminTask (web.AdminTask)6 FilePathStringBuilder (web.FilePathStringBuilder)6 Person (app.Person)5 JDBCTable (db.JDBCTable)5 NameValuePairs (db.NameValuePairs)5 View (db.View)5 DBObject (db.DBObject)4 ViewDef (db.ViewDef)4 InternetAddress (javax.mail.internet.InternetAddress)4 Page (app.Page)3