package com.venky.swf.plugins.bugs.controller;
import java.util.Arrays;
import java.util.List;
import com.venky.swf.controller.ModelController;
import com.venky.swf.controller.annotations.SingleRecordAction;
import com.venky.swf.db.Database;
import com.venky.swf.path.Path;
import com.venky.swf.plugins.bugs.db.model.Issue;
import com.venky.swf.routing.Config;
import com.venky.swf.views.HtmlView;
import com.venky.swf.views.View;
import com.venky.swf.views.model.ModelEditView;
import com.venky.swf.views.model.ModelListView;
public class IssuesController extends ModelController<Issue>{
public IssuesController(Path path) {
super(path);
}
@Override
protected HtmlView constructModelListView(List<Issue> records,boolean isCompleteList){
return new ModelListView<Issue>(getPath(), new String[]{"ID","TITLE","PRIORITY","STATUS","ASSIGNED_TO_ID","RESOLUTION","CREATOR_USER_ID"}, records, isCompleteList);
}
@Override
protected ModelEditView<Issue> createBlankView(Path path , Issue record,String formAction){
ModelEditView<Issue> mev = super.createBlankView(path, record,formAction);
mev.getIncludedFields().removeAll(Arrays.asList("STATUS","RESOLUTION"));
Config.instance().getLogger(IssuesController.class.getName()).info(mev.getIncludedFields().toString());
return mev;
}
@SingleRecordAction(tooltip="Yank")
public View yank(int id){
Issue issue = Database.getTable(Issue.class).get(id);
issue.yank();
return afterPersistDBView(issue);
}
}