/**
  * makePersonalAutoDashboard
  * creates a new Dashboard object and personal widgets
  * from the POST data
  * --------------------------------------------------
  * @param (User) ($user) The current user
  * @param (array) ($widgetdata) Personal widgets data
  * @return (Dashboard) ($dashboard) The new Dashboard object
  * --------------------------------------------------
  */
 private function makePersonalAutoDashboard($user, $widgetdata)
 {
     /* Create new dashboard */
     $dashboard = new Dashboard();
     $dashboard->user_id = $user->id;
     $dashboard->name = 'My personal dashboard';
     $dashboard->background = 'On';
     /* Save dashboard object */
     $dashboard->save();
     /* Create clock widget */
     if (array_key_exists('widget-clock', $widgetdata)) {
         $clockwidget = new ClockWidget();
         $clockwidget->dashboard()->associate($dashboard);
         $clockwidget->state = 'active';
         $clockwidget->position = '{"row":1,"col":3,"size_x":8,"size_y":3}';
         /* Save clock widget object */
         $clockwidget->save();
     }
     /* Create greetings widget */
     if (array_key_exists('widget-greetings', $widgetdata)) {
         $greetingswidget = new GreetingsWidget();
         $greetingswidget->dashboard()->associate($dashboard);
         $greetingswidget->state = 'active';
         $greetingswidget->position = '{"row":4,"col":3,"size_x":8,"size_y":1}';
         /* Save greetings widget object */
         $greetingswidget->save();
     }
     /* Create quote widget */
     if (array_key_exists('widget-quote', $widgetdata)) {
         $quotewidget = new QuoteWidget();
         $quotewidget->dashboard()->associate($dashboard);
         $quotewidget->state = 'active';
         $quotewidget->position = '{"row":12,"col":1,"size_x":12,"size_y":1}';
         /* Save quote widget object */
         $quotewidget->save();
     }
     /* Return */
     return $dashboard;
 }