generate report preferences model and controller