package com.idega.block.staff.presentation;
import com.idega.block.media.presentation.ImageInserter;
import com.idega.block.staff.business.StaffBusiness;
import com.idega.block.staff.data.StaffInfo;
import com.idega.core.user.presentation.UserTab;
import com.idega.presentation.IWContext;
import com.idega.presentation.Table;
import com.idega.presentation.text.Text;
/**
* Title: User
* Copyright: Copyright (c) 2001
* Company: idega.is
* @author 2000 - idega team - <a href="mailto:gummi@idega.is">Gu�mundur �g�st S�mundsson</a>
* @version 1.0
*/
public class StaffImageTab extends UserTab{
private ImageInserter imageField;
private String imageFieldName;
private Text imageText;
public StaffImageTab() {
super();
this.setName("Image");
}
public StaffImageTab(int userId){
this();
this.setUserID(userId);
}
public void initializeFieldNames(){
this.imageFieldName = "STimage";
}
public void initializeFieldValues(){
this.fieldValues.put(this.imageFieldName,"");
this.updateFieldsDisplayStatus();
}
public void updateFieldsDisplayStatus(){
int imageId = -1;
try {
imageId = Integer.parseInt((String)this.fieldValues.get(this.imageFieldName));
}
catch (NumberFormatException ex) {
imageId = -1;
}
if ( imageId != -1 ) {
this.imageField.setImageId(imageId);
}
}
public void initializeFields(){
this.imageField = new ImageInserter(this.imageFieldName);
this.imageField.setHasUseBox(false);
}
public void initializeTexts(){
this.imageText = getTextObject();
this.imageText.setText("Image"+":");
}
public void lineUpFields(){
this.resize(1,1);
Table imageTable = new Table(1,2);
imageTable.setWidth("100%");
imageTable.setCellpadding(0);
imageTable.setCellspacing(0);
imageTable.add(this.imageText,1,1);
imageTable.add(this.imageField,1,2);
this.add(imageTable,1,1);
}
public boolean collect(IWContext iwc){
if(iwc != null){
String image = iwc.getParameter(this.imageFieldName);
if(image != null){
this.fieldValues.put(this.imageFieldName,image);
}
return true;
}
return false;
}
public boolean store(IWContext iwc){
try{
if(getUserId() > -1){
StaffBusiness business = new StaffBusiness();
StaffBusiness.updateImage(getUserId(),(String)this.fieldValues.get(this.imageFieldName));
}
}
catch(Exception e){
e.printStackTrace(System.err);
throw new RuntimeException("update user exception");
}
return true;
}
public void initFieldContents(){
try{
StaffInfo staffInfo = ((com.idega.block.staff.data.StaffInfoHome)com.idega.data.IDOLookup.getHomeLegacy(StaffInfo.class)).findByPrimaryKeyLegacy(getUserId());
this.fieldValues.put(this.imageFieldName,(staffInfo.getImageID() != -1) ? Integer.toString(staffInfo.getImageID()):"" );
this.updateFieldsDisplayStatus();
}
catch(Exception e){
System.err.println("StaffImageTab error initFieldContents, userId : " + getUserId());
}
}
} // Class StaffInfoTab