/*
* Created on 4.3.2004
*/
package is.idega.idegaweb.golf.field.presentation;
import is.idega.idegaweb.golf.entity.Field;
import is.idega.idegaweb.golf.entity.FieldHome;
import is.idega.idegaweb.golf.entity.FieldImage;
import is.idega.idegaweb.golf.entity.FieldImageHome;
import is.idega.idegaweb.golf.entity.HoleText;
import is.idega.idegaweb.golf.entity.HoleTextHome;
import is.idega.idegaweb.golf.entity.Tee;
import is.idega.idegaweb.golf.entity.TeeColor;
import is.idega.idegaweb.golf.entity.TeeHome;
import is.idega.idegaweb.golf.entity.TeeImage;
import is.idega.idegaweb.golf.entity.TeeImageHome;
import is.idega.idegaweb.golf.entity.Union;
import is.idega.idegaweb.golf.presentation.GolfBlock;
import is.idega.idegaweb.golf.templates.page.GolfWindow;
import java.sql.SQLException;
import javax.ejb.CreateException;
import javax.ejb.FinderException;
import com.idega.block.media.presentation.ImageInserter;
import com.idega.block.text.business.TextBusiness;
import com.idega.block.text.data.TxText;
import com.idega.block.text.presentation.TextReader;
import com.idega.data.IDOLookup;
import com.idega.presentation.IWContext;
import com.idega.presentation.Table;
import com.idega.presentation.text.Link;
import com.idega.presentation.ui.BackButton;
import com.idega.presentation.ui.DropdownMenu;
import com.idega.presentation.ui.Form;
import com.idega.presentation.ui.HiddenInput;
import com.idega.presentation.ui.SubmitButton;
import com.idega.presentation.ui.TextInput;
/**
* @author laddi
*/
public class FieldEditor extends GolfWindow {
public FieldEditor() {
setWidth(850);
setHeight(580);
setTitle("Field Editor");
setScrollbar(true);
setResizable(true);
setMenubar(false);
setStatus(false);
add(new Editor());
}
public class Editor extends GolfBlock {
private int field_id = -1;
// private String table_header_color = "#cedfd0";
//
// private String table_color = "#cedfd0";
//
// private String table_border_color = "#336660";
public void main(IWContext modinfo) throws Exception {
if (isAdmin() || isClubAdmin()) {
checkAction(modinfo);
}
else {
add("Ekki n�g r�ttindi");
}
}
protected boolean checkForId(IWContext modinfo) {
boolean returner = false;
String temp_field_id = modinfo.getParameter("field_id");
if (temp_field_id != null) {
this.field_id = Integer.parseInt(temp_field_id);
modinfo.setSessionAttribute("field_admin_id", temp_field_id);
}
else {
String temp_field_id_2 = (String) modinfo.getSessionAttribute("field_admin_id");
if (temp_field_id_2 != null) {
this.field_id = Integer.parseInt(temp_field_id_2);
}
}
if (this.field_id != -1) {
returner = true;
}
return returner;
}
protected void action(IWContext modinfo) throws SQLException, FinderException {
TeeColor[] tee_color = (TeeColor[]) ((TeeColor) IDOLookup.instanciateEntity(TeeColor.class)).findAllOrdered("TEE_COLOR_NAME");
Field field = ((FieldHome) IDOLookup.getHomeLegacy(Field.class)).findByPrimaryKey(this.field_id);
int row = 1;
int textInputSize = 2;
boolean displayPar = false;
boolean parDone = false;
boolean displayHandicap = false;
boolean handicapDone = false;
boolean displayEmptyHandicap = true;
boolean displayEmptyPar = true;
TextInput text_input;
Link link;
Link image_link;
int imageID = this.checkForImage(modinfo);
Form form = new Form();
Table backTable = new Table(1, 1);
// backTable.setColor("#336660");
form.add(backTable);
Table table = new Table();
backTable.add(table, 1, 1);
table.setBorder(0);
table.setCellpadding(1);
table.setCellspacing(0);
// table.setColor("#CEDFD0");
table.add("<b>" + field.getName() + "</b>", 1, row);
table.mergeCells(1, row, 23, row);
table.setAlignment(1, row, "center");
row++;
table.mergeCells(1, row, 23, row);
table.setAlignment(1, row, "center");
ImageInserter imageInsert = new ImageInserter();
imageInsert.setHiddenInputName("field_image_id");
imageInsert.setHasUseBox(false);
table.add(imageInsert, 1, row);
if (imageID != -1) {
imageInsert.setImageId(imageID);
table.add(" ", 1, row);
Link henda = new Link("Henda mynd");
henda.addParameter("action", "delete_field_image");
table.add(henda, 1, row);
}
row++;
table.add("Holur", 1, row);
table.mergeCells(1, row, 22, row);
table.setAlignment(1, row, "center");
++row;
table.add("Teigur", 1, row);
for (int i = 1; i <= 18; i++) {
table.add(i + "", 1 + i, row);
}
table.add("CR", 21, row);
table.add("Slope", 22, row);
++row;
if ((tee_color != null) && (tee_color.length > 0)) {
for (int i = 0; i < tee_color.length; i++) {
table.add(tee_color[i].getName(), 1, i + row);
Tee[] tee = (Tee[]) ((Tee) IDOLookup.instanciateEntity(Tee.class)).findAllByColumnEqualsOrdered("field_id", this.field_id, "tee_color_id", tee_color[i].getID(), "hole_number");
if ((tee != null) && (tee.length > 0)) {
link = new Link(getBundle().getImage("shared/trash.gif", "Henda " + tee_color[i].getName()));
link.addParameter("action", "delete");
link.addParameter("tee_color_id", tee_color[i].getID());
table.add(link, 23, row + i);
for (int j = 0; j < tee.length; j++) {
displayEmptyHandicap = false;
displayEmptyPar = false;
text_input = new TextInput(i + "liturhola", tee[j].getTeeLength() + "");
text_input.setSize(3);
table.add(text_input, j + 2, i + row);
if (tee[j].getHandicap() != -1) {
displayHandicap = true;
}
if (tee[j].getPar() != -1) {
displayPar = true;
}
text_input = new TextInput("forgjof", "");
if (!handicapDone) if (displayHandicap) {
text_input.setValue(((int) tee[j].getHandicap()));
text_input.setSize(2);
table.add(text_input, j + 2, tee_color.length + row + 1);
}
text_input = new TextInput("par", "");
if (!parDone) if (displayPar) {
text_input.setValue(tee[j].getPar());
text_input.setSize(2);
table.add(text_input, j + 2, tee_color.length + row + 2);
}
if (j == tee.length - 1) {
text_input = new TextInput(i + "liturcr", tee[j].getCourseRating() + "");
text_input.setSize(4);
table.add(text_input, j + 4, i + row);
text_input = new TextInput(i + "liturslope", tee[j].getSlope() + "");
text_input.setSize(3);
table.add(text_input, j + 5, i + row);
}
}
}
else {
for (int j = 0; j < 18; j++) {
text_input = new TextInput(i + "liturhola", "");
text_input.setSize(3);
table.add(text_input, j + 2, i + row);
if (j == 17) {
text_input = new TextInput(i + "liturcr", "");
text_input.setSize(4);
table.add(text_input, j + 4, i + row);
text_input = new TextInput(i + "liturslope", "");
text_input.setSize(3);
table.add(text_input, j + 5, i + row);
}
}
}
if (displayHandicap) {
handicapDone = true;
}
displayHandicap = false;
if (displayPar) {
parDone = true;
}
displayPar = false;
}
if (displayEmptyHandicap) {
for (int j = 0; j < 18; j++) {
text_input = new TextInput("forgjof", "");
text_input.setSize(2);
table.add(text_input, j + 2, tee_color.length + row + 1);
}
}
if (displayEmptyPar) {
for (int j = 0; j < 18; j++) {
text_input = new TextInput("par", "");
text_input.setSize(2);
table.add(text_input, j + 2, tee_color.length + row + 2);
}
}
row = row + tee_color.length + 1;
table.setWidth(20, "22");
table.add("Forgj�f", 1, row);
row++;
table.add("Par", 1, row);
row++;
for (int i = 1; i < 19; i++) {
image_link = new Link(getBundle().getImage("shared/change.gif", "Sko�a holu " + i + " n�nar"));
image_link.addParameter("action", "view_hole");
image_link.addParameter("hole_number", i + "");
table.add(image_link, i + 1, row);
}
table.mergeCells(21, row, 23, row);
table.setAlignment(21, row, "right");
table.add(new SubmitButton("takki", "Uppf�ra"), 21, row);
table.add(new HiddenInput("action", "update"), 21, row);
row++;
// table.mergeCells(1,row,22,row);
}
Table rightTable = new Table();
int text_id = getHoleTextId(modinfo, 0);
if (text_id != -1) {
TextReader reader = new TextReader(text_id);
reader.setEnableDelete(false);
reader.setCacheable(false);
rightTable.add(reader, 1, 1);
}
add(form);
add(rightTable);
}
protected int checkForImage(IWContext modinfo) throws SQLException {
int returner = -1;
FieldImage[] images = null;
images = (FieldImage[]) ((FieldImage) IDOLookup.instanciateEntity(FieldImage.class)).findAllByColumnEquals("field_id", "" + this.field_id);
if (images.length > 0) {
returner = images[0].getImageID();
}
return returner;
}
protected int checkForTeeImage(IWContext modinfo, String hole_number) throws SQLException {
int returner = -1;
TeeImage[] images = null;
images = (TeeImage[]) ((TeeImage) IDOLookup.instanciateEntity(TeeImage.class)).findAllByColumnEquals("hole_number", hole_number, "field_id", "" + this.field_id);
if (images.length > 0) {
returner = images[0].getImageID();
}
return returner;
}
protected void viewHole(IWContext modinfo) throws SQLException, FinderException {
String hole_number = modinfo.getParameter("hole_number");
if (hole_number != null) {
Field field = ((FieldHome) IDOLookup.getHomeLegacy(Field.class)).findByPrimaryKey(this.field_id);
TeeColor[] tee_color = (TeeColor[]) ((TeeColor) IDOLookup.instanciateEntity(TeeColor.class)).findAllOrdered("TEE_COLOR_NAME");
int par = 0;
int handicap = 0;
boolean needsToUpdate = false;
String hole_name = "";
String temp_hole_name = "";
int row = 1;
int imageID = this.checkForTeeImage(modinfo, hole_number);
Table contentTable = new Table(2, 1);
// contentTable.setWidth("100%");
// contentTable.setAlignment(2,1,"right");
contentTable.setVerticalAlignment(1, 1, "top");
contentTable.setVerticalAlignment(2, 1, "top");
contentTable.setBorder(0);
Form form = new Form();
Table backTable = new Table(1, 1);
// backTable.setColor("#336660");
form.add(backTable);
Table table = new Table();
backTable.add(table, 1, 1);
table.setBorder(0);
table.setCellpadding(1);
table.setCellspacing(0);
// table.setColor("#CEDFD0");
table.add(field.getName(), 1, row);
table.setAlignment(7, row, "right");
table.add("Hola: " + hole_number, 7, row);
++row;
table.mergeCells(1, row, 7, row);
table.setAlignment(1, row, "center");
// if (image_id != null) {
// form.add(new HiddenInput("field_image_id",image_id));
// }
ImageInserter imageInsert = new ImageInserter();
imageInsert.setHiddenInputName("hole_image_id");
imageInsert.setHasUseBox(false);
table.add(imageInsert, 1, row);
if (imageID != -1) {
imageInsert.setImageId(imageID);
table.add(" ", 1, row);
Link henda = new Link("Henda mynd");
henda.addParameter("hole_number", hole_number);
henda.addParameter("action", "delete_tee_image");
table.add(henda, 1, row);
}
++row;
for (int i = 0; i < tee_color.length; i++) {
Tee[] tee = (Tee[]) ((Tee) IDOLookup.instanciateEntity(Tee.class)).findAll("Select * from tee where field_id=" + this.field_id + " AND tee_color_id=" + tee_color[i].getID() + " AND hole_number=" + hole_number + "");
for (int j = 0; j < tee.length; j++) {
++row;
table.add(tee_color[i].getName(), 1, row);
table.add("" + tee[j].getTeeLength(), 2, row);
if (i == 0) {
par = tee[i].getPar();
handicap = (int) tee[i].getHandicap();
temp_hole_name = tee[i].getName();
if (temp_hole_name == null) {
hole_name = "";
}
else {
hole_name = temp_hole_name;
}
}
}
}
table.mergeCells(6, row, 7, row);
table.setAlignment(6, row, "right");
table.add(new SubmitButton("jamm", "Uppf�ra"), 6, row);
++row;
++row;
row = 3;
table.mergeCells(2, row, 7, row);
table.add("Nafn:", 1, row);
table.add(new TextInput("i_hole_name", hole_name), 2, row);
++row;
table.add("Par:", 6, row);
table.add("" + par, 7, row);
++row;
table.add("Forgj�f: ", 6, row);
table.add("" + handicap, 7, row);
/*
* ++row; table.add("CR: ",6,row); table.add(""+CR,7,row); ++row;
* table.add("Slope: ",6,row); table.add(""+slope,7,row);
*/
++row;
++row;
if (!hole_number.equals("1")) {
table.mergeCells(1, 11, 2, 11);
Link previous = new Link("Fyrri hola");
previous.addParameter("action", "view_hole");
previous.addParameter("hole_number", (Integer.parseInt(hole_number) - 1));
table.add(previous, 1, 11);
}
if (!hole_number.equals("18")) {
table.mergeCells(6, 11, 7, 11);
table.setAlignment(6, 11, "right");
Link next = new Link("N�sta hola");
next.addParameter("action", "view_hole");
next.addParameter("hole_number", (Integer.parseInt(hole_number) + 1));
table.add(next, 6, 11);
}
table.add(new HiddenInput("hole_number", hole_number), 6, row);
table.add(new HiddenInput("action", "update_tee"), 6, row);
contentTable.add(form, 1, 1);
// add(form);
Table rightTable = new Table();
int text_id = getHoleTextId(modinfo, Integer.parseInt(hole_number));
if (text_id != -1) {
TextReader reader = new TextReader(text_id);
reader.setEnableDelete(false);
reader.setCacheable(false);
rightTable.add(reader, 1, 1);
}
contentTable.add(rightTable, 2, 1);
contentTable.setWidth(1, 1, "300");
add(contentTable);
add("<br>");
add("<br>");
add(new Link("Til baka"));
}
}
private int updateHoleText(IWContext modinfo, int hole_number) throws SQLException {
int returner = -1;
if (hole_number != -1) {
TxText text = (TxText) IDOLookup.createLegacy(TxText.class);
try {
HoleText[] hole_texts = (HoleText[]) ((HoleText) IDOLookup.instanciateEntity(HoleText.class)).findAllByColumnEquals("FIELD_ID", "" + this.field_id, "hole_number", "" + hole_number);
if (hole_texts.length > 0) {
hole_texts[0].setTextID(returner);
hole_texts[0].store();
returner = text.getID();
}
else {
HoleText holeText = ((HoleTextHome) IDOLookup.getHomeLegacy(HoleText.class)).create();
holeText.setTextID(returner);
holeText.setHoleNumber(hole_number);
holeText.setFieldId(this.field_id);
holeText.store();
returner = text.getID();
if(holeText.getTextID() < 0) {
TxText hText = TextBusiness.saveText(-1,-1,modinfo.getCurrentLocaleId(),modinfo.getCurrentUserId(),this.getICObjectInstanceID(),null,null,"","","",null,null);
holeText.setTextID(hText.getID());
holeText.store();
}
}
}
catch (CreateException ce) {
throw new SQLException(ce.getMessage());
}
}
return returner;
}
private int getHoleTextId(IWContext modinfo, int hole_number) throws SQLException {
int returner = -1;
try {
HoleText[] hole_texts = (HoleText[]) ((HoleText) IDOLookup.instanciateEntity(HoleText.class)).findAllByColumnEquals("FIELD_ID", "" + this.field_id, "hole_number", "" + hole_number);
if (hole_texts.length > 0) {
returner = hole_texts[0].getTextID();
}
}
catch (Exception e) {
e.printStackTrace();
}
if (returner == -1) {
returner = updateHoleText(modinfo, hole_number);
}
return returner;
}
protected void updateTee(IWContext modinfo) throws SQLException, FinderException {
String hole_image_id = modinfo.getParameter("hole_image_id");
String hole_number = modinfo.getParameter("hole_number");
// saving image...
if ((hole_image_id != null) && (hole_number != null)) {
TeeImage[] images = null;
images = (TeeImage[]) ((TeeImage) IDOLookup.instanciateEntity(TeeImage.class)).findAllByColumnEquals("hole_number", hole_number, "field_id", "" + this.field_id);
if (images != null) {
if (images.length > 0) {
for (int i = 0; i < images.length; i++) {
images[i].setImageID(Integer.parseInt(hole_image_id));
images[i].store();
}
}
else {
try {
TeeImage tee_image = ((TeeImageHome) IDOLookup.getHomeLegacy(TeeImage.class)).create();
tee_image.setHoleNumber(Integer.parseInt(hole_number));
tee_image.setFieldId(this.field_id);
tee_image.setImageID(Integer.parseInt(hole_image_id));
tee_image.store();
}
catch (CreateException ce) {
throw new SQLException(ce.getMessage());
}
}
}
}
// saving tee(s)...
if (hole_number != null) {
String hole_name = modinfo.getParameter("i_hole_name");
Tee[] tees = (Tee[]) ((Tee) IDOLookup.instanciateEntity(Tee.class)).findAll("Select * from tee where field_id=" + this.field_id + " AND hole_number=" + hole_number + "");
for (int i = 0; i < tees.length; i++) {
tees[i].setHoleName(hole_name);
tees[i].update();
}
}
viewHole(modinfo);
}
protected void deleteTeeImage(IWContext modinfo) throws SQLException, FinderException {
String hole_number = modinfo.getParameter("hole_number");
if (hole_number != null) {
TeeImage[] images = null;
images = (TeeImage[]) ((TeeImage) IDOLookup.instanciateEntity(TeeImage.class)).findAllByColumnEquals("hole_number", hole_number, "field_id", "" + this.field_id);
if (images != null) {
if (images.length > 0) {
for (int i = 0; i < images.length; i++) {
images[i].delete();
}
}
}
}
viewHole(modinfo);
}
protected void deleteFieldImage(IWContext modinfo) throws SQLException {
FieldImage[] images = null;
images = (FieldImage[]) ((FieldImage) IDOLookup.instanciateEntity(FieldImage.class)).findAllByColumnEquals("field_id", "" + this.field_id);
if (images != null) {
if (images.length > 0) {
for (int i = 0; i < images.length; i++) {
images[i].delete();
}
}
}
add("augnablik...");
getParentPage().setToRedirect(modinfo.getRequest().getRequestURI());
}
protected void update(IWContext modinfo) throws SQLException, FinderException {
String field_image_id = modinfo.getParameter("field_image_id");
String[] hola_0 = modinfo.getParameterValues("0liturhola");
String[] hola_1 = modinfo.getParameterValues("1liturhola");
String[] hola_2 = modinfo.getParameterValues("2liturhola");
String[] hola_3 = modinfo.getParameterValues("3liturhola");
String[] hola_4 = modinfo.getParameterValues("4liturhola");
String[] hola_5 = modinfo.getParameterValues("5liturhola");
String[][] hola = { hola_0, hola_1, hola_2, hola_3, hola_4, hola_5};
String[] forgjof = modinfo.getParameterValues("forgjof");
String[] par = modinfo.getParameterValues("par");
int iPar = 0;
String[] temp_holu_array;
for (int i = 0; i < hola.length; i++) {
String[] temp = hola[i];
}
TeeColor[] tee_color = (TeeColor[]) ((TeeColor) IDOLookup.instanciateEntity(TeeColor.class)).findAllOrdered("TEE_COLOR_NAME");
Field field = ((FieldHome) IDOLookup.getHomeLegacy(Field.class)).findByPrimaryKey(this.field_id);
if (field_image_id != null) {
FieldImage[] field_image = (FieldImage[]) ((FieldImage) IDOLookup.instanciateEntity(FieldImage.class)).findAllByColumnEquals("field_id", this.field_id);
if (field_image.length > 0) {
field_image[0].setImageID(Integer.parseInt(field_image_id));
field_image[0].update();
}
else {
try {
FieldImage f_i = ((FieldImageHome) IDOLookup.getHomeLegacy(FieldImage.class)).create();
f_i.setFieldId(this.field_id);
f_i.setImageID(Integer.parseInt(field_image_id));
f_i.insert();
}
catch (CreateException ce) {
throw new SQLException(ce.getMessage());
}
}
}
boolean alright = false;
boolean color_0 = false;
boolean color_1 = false;
boolean color_2 = false;
boolean color_3 = false;
boolean color_4 = false;
boolean color_5 = false;
boolean forgjof_bl = true;
boolean par_bl = true;
for (int i = 0; i < forgjof.length && forgjof_bl; i++) {
if (forgjof[i].equalsIgnoreCase("")) {
forgjof_bl = false;
}
}
for (int i = 0; i < par.length && par_bl; i++) {
if (par[i].equalsIgnoreCase("")) {
par_bl = false;
} else {
try {
iPar += Integer.parseInt(par[i]);
} catch (NumberFormatException e) {
par_bl = false;
}
}
}
if ((par_bl) && (forgjof_bl)) {
// par and handicap all filled out
field.setFieldPar(iPar);
field.store();
// check which to update;
for (int i = 0; i < hola_0.length; i++) {
if (!hola_0[i].equalsIgnoreCase("")) {
color_0 = true;
continue;
}
}
alright = false;
for (int i = 0; i < hola_1.length; i++) {
if (!hola_1[i].equalsIgnoreCase("")) {
color_1 = true;
continue;
}
}
alright = false;
for (int i = 0; i < hola_2.length; i++) {
if (!hola_2[i].equalsIgnoreCase("")) {
color_2 = true;
continue;
}
}
alright = false;
for (int i = 0; i < hola_3.length; i++) {
if (!hola_3[i].equalsIgnoreCase("")) {
color_3 = true;
continue;
}
}
alright = false;
for (int i = 0; i < hola_4.length; i++) {
if (!hola_4[i].equals("")) {
color_4 = true;
continue;
}
}
alright = false;
for (int i = 0; i < hola_5.length; i++) {
if (!hola_5[i].equalsIgnoreCase("")) {
color_5 = true;
continue;
}
}
//update selected tees
try {
for (int i = 0; i < tee_color.length; i++) {
if (updateThis(i, color_0, color_1, color_2, color_3, color_4, color_5)) {
String slope = modinfo.getParameter(i + "liturslope");
String cr = modinfo.getParameter(i + "liturcr");
temp_holu_array = hola[i];
if (slope.equals("")) {
slope = "113";
}
if (cr.equals("")) {
cr = "70";
}
Tee[] tee = (Tee[]) ((Tee) IDOLookup.instanciateEntity(Tee.class)).findAllByColumnEqualsOrdered("field_id", this.field_id, "tee_color_id", tee_color[i].getID(), "hole_number");
if (tee.length > 0) {
for (int j = 0; j < tee.length; j++) {
// add("<br> litur: "+i+" hola : "+j+" lengd:
// "+temp_holu_array[j]+" forgjof: "+forgjof[j] +" par :
// "+par[j]+" slope: "+slope+" cr: "+cr);
tee[j].setSlope(Integer.parseInt(slope));
tee[j].setCourseRating(cr);
tee[j].setHoleNumber(j + 1);
tee[j].setHoleName("");
tee[j].setPar(Integer.parseInt(par[j]));
tee[j].setHandicap(forgjof[j]);
tee[j].setTeeLength(Integer.parseInt(temp_holu_array[j]));
tee[j].update();
}
}
else {
tee = new Tee[18];
for (int j = 0; j < tee.length; j++) {
tee[j] = ((TeeHome) IDOLookup.getHomeLegacy(Tee.class)).create();
tee[j].setFieldID(this.field_id);
tee[j].setTeeColorID(tee_color[i].getID());
tee[j].setSlope(Integer.parseInt(slope));
tee[j].setCourseRating(cr);
tee[j].setHoleNumber(j + 1);
tee[j].setHoleName("");
tee[j].setPar(Integer.parseInt(par[j]));
tee[j].setHandicap(forgjof[j]);
tee[j].setTeeLength(Integer.parseInt(temp_holu_array[j]));
tee[j].insert();
}
}
} //if
} //for
// add("Uppf�rslu loki�");
this.action(modinfo);
}
catch (Exception e) {
add("Eitthva� mis");
}
}
else { // if ! par && forgjof
if (par_bl) add("forgj�f er �fulln�gjandi");
if (forgjof_bl) add("par er �fulln�gjandi");
}
}
protected boolean updateThis(int i, boolean color_0, boolean color_1, boolean color_2, boolean color_3, boolean color_4, boolean color_5) {
boolean returner = false;
switch (i) {
case 0:
if (color_0) {
returner = true;
}
break;
case 1:
if (color_1) {
returner = true;
}
break;
case 2:
if (color_2) {
returner = true;
}
break;
case 3:
if (color_3) {
returner = true;
}
break;
case 4:
if (color_4) {
returner = true;
}
break;
case 5:
if (color_5) {
returner = true;
}
break;
}
return returner;
}
protected void deleteFieldTeeColor(IWContext modinfo) throws SQLException, FinderException {
String tee_color_id = modinfo.getRequest().getParameter("tee_color_id");
if (tee_color_id != null) {
Tee[] tee = (Tee[]) ((Tee) IDOLookup.instanciateEntity(Tee.class)).findAllByColumnEqualsOrdered("field_id", this.field_id + "", "tee_color_id", tee_color_id + "", "hole_number");
if (tee != null) {
for (int i = 0; i < tee.length; i++) {
tee[i].delete();
}
}
}
this.action(modinfo);
}
protected void createField(IWContext modinfo) throws SQLException {
String union_id = modinfo.getParameter("i_field_union_id");
Field[] fields = (Field[]) ((Field) IDOLookup.instanciateEntity(Field.class)).findAllByColumnEquals("union_id", union_id);
if (fields.length == 0) {
Form form = new Form();
Table content = new Table(1, 1);
form.add(content);
// content.setColor(this.table_border_color);
Table table = new Table(2, 5);
content.add(table);
table.setBorder(0);
// table.setColor(this.table_color);
DropdownMenu unions = new DropdownMenu((Union[]) ((Union) IDOLookup.instanciateEntity(Union.class)).findAllOrdered("name"), "i_field_union_id");
unions.setSelectedElement(union_id);
TextInput name = new TextInput("i_field_field_name");
TextInput par = new TextInput("i_field_field_par");
table.add("<b>N�r V�llur</b>", 1, 1);
table.mergeCells(1, 1, 2, 1);
table.add("Nafn", 1, 2);
table.add("Kl�bbur", 1, 3);
table.add("Par", 1, 4);
table.add(new SubmitButton("jahhh", "Sm��a"), 2, 5);
table.add(new HiddenInput("action", "save_new_field"), 2, 5);
table.setAlignment(2, 5, "right");
table.add(name, 2, 2);
table.add(unions, 2, 3);
table.add(par, 2, 4);
add(form);
add("jahh sm��a v�ll h�r" + union_id);
}
else {
add("�ar er �egar til v�llur � �essum kl�bb");
}
}
protected void saveNewField(IWContext modinfo) throws SQLException {
String name = modinfo.getParameter("i_field_field_name");
String union_id = modinfo.getParameter("i_field_union_id");
String par = modinfo.getParameter("i_field_field_par");
int intPar;
boolean parOk = false;
boolean nameOk = false;
if (!name.equalsIgnoreCase("")) {
nameOk = true;
}
try {
intPar = Integer.parseInt(par);
parOk = true;
}
catch (NumberFormatException n) {
}
if ((parOk) && (nameOk)) {
Field field = null;
try {
field = ((FieldHome) IDOLookup.getHomeLegacy(Field.class)).create();
field.setUnionID(union_id);
field.setName(name);
field.setNumberOfHoles(18);
field.setFieldPar(par);
field.insert();
}
catch (CreateException ce) {
throw new SQLException(ce.getMessage());
}
modinfo.setSessionAttribute("field_admin_id", "" + field.getID());
add("V�llur buinn til<br>");
Form form = new Form();
form.add(new SubmitButton("jahh", "�fram"));
add(form);
}
else {
if (!nameOk) {
add("Nafn er ekki � lagi<br>");
}
if (!parOk) {
add("Par er ekki � lagi<br>");
}
add(new BackButton("Til baka"));
}
}
protected void checkAction(IWContext modinfo) throws SQLException, FinderException {
String action = modinfo.getParameter("action");
setTitle(getResourceBundle().getLocalizedString("field.field_editor", "Field Editor"));
if (checkForId(modinfo)) {
if (action == null) {
action(modinfo);
}
else if (action.equals("update")) {
update(modinfo);
}
else if (action.equals("delete")) {
deleteFieldTeeColor(modinfo);
}
else if (action.equals("view_hole")) {
viewHole(modinfo);
}
else if (action.equals("update_tee")) {
updateTee(modinfo);
}
else if (action.equals("delete_tee_image")) {
deleteTeeImage(modinfo);
}
else if (action.equals("delete_field_image")) {
deleteFieldImage(modinfo);
}
}
else {
if (action == null) {
add("Enginn golfv�llur var valinn");
String union_id = modinfo.getParameter("union_id");
if (union_id != null) {
Form myForm = new Form();
myForm.add(new HiddenInput("action", "create_field"));
myForm.add(new HiddenInput("i_field_union_id", union_id));
myForm.add(new SubmitButton("jahh_bestir", "Sm��a n�jan v�llur"));
add(myForm);
}
}
else if (action.equals("create_field")) {
createField(modinfo);
}
else if (action.equals("save_new_field")) {
saveNewField(modinfo);
}
}
}
}
}