package scrum.client.project;
import ilarkesto.gwt.client.ButtonWidget;
import ilarkesto.gwt.client.TableBuilder;
import ilarkesto.gwt.client.editor.RichtextEditorWidget;
import scrum.client.ScrumGwt;
import scrum.client.admin.ProjectBlock;
import scrum.client.common.AScrumWidget;
import scrum.client.workspace.PagePanel;
import com.google.gwt.user.client.ui.Widget;
public class ProjectAdminWidget extends AScrumWidget {
@Override
protected Widget onInitialization() {
final Project project = getCurrentProject();
PagePanel page = new PagePanel();
page.addHeader("Project Properties");
TableBuilder tbPro = ScrumGwt.createFieldTable();
tbPro.addFieldRow("Name", project.getLabelModel());
tbPro.addFieldRow("Vision", new RichtextEditorWidget(project.getVisionModel()));
ProjectBlock.addRolesFieldRows(project, tbPro);
page.addSection(tbPro.createTable());
page.addHeader("Product Descriptions");
TableBuilder tbDescr = ScrumGwt.createFieldTable();
tbDescr.addFieldRow("Name", project.getProductLabelModel());
tbDescr.addFieldRow("Tagline", project.getShortDescriptionModel());
tbDescr.addFieldRow("Short Description", project.getDescriptionModel());
tbDescr.addFieldRow("Long Description", project.getLongDescriptionModel());
page.addSection(tbDescr.createTable());
page.addHeader("Project Homepage", new ButtonWidget(new UpdateProjectHomepageAction(project)));
TableBuilder tbHomepage = ScrumGwt.createFieldTable();
tbHomepage.addFieldRow("Homepage Direcotry", project.getHomepageDirModel());
tbHomepage.addFieldRow("Homepage URL", project.getHomepageUrlModel());
tbHomepage.addFieldRow("Update automatically", project.getAutoUpdateHomepageModel());
page.addSection(tbHomepage.createTable());
page.addHeader("Project Support");
TableBuilder tbSupport = ScrumGwt.createFieldTable();
tbSupport.addFieldRow("Support Email", project.getSupportEmailModel());
tbSupport.addFieldRow("Issue reply template", project.getIssueReplyTemplateModel());
page.addSection(tbSupport.createTable());
return page;
}
}