/** * Setup notification fields and pass various dependencies to the View. */ public function render() { $gateway = new NotificationGateway($this->component->getDb()); $select = $gateway->selectByComponent($this->component->getFullyQualifiedName()); $fields = $gateway->buildFields($this->component->url('notification-edit'), $this->component->getFields()); $this->view->assign(['fields' => $fields, 'listing' => new Listing($select, $gateway->field('dewdrop_notification_subscription_id')), 'component' => $this->component, 'componentModel' => $this->component->getPrimaryModel()]); return $this->renderView(); }
/** * Ensure the user has permissions to work with notifications in this component * and setup Fields and RowEditor objects. */ public function init() { $this->component->getPermissions()->haltIfNotAllowed('notifications'); $gateway = new NotificationGateway($this->component->getDb()); $this->fields = $gateway->buildFields($this->component->url('notification-edit'), $this->component->getFields()); $this->rowEditor = new RowEditor($this->fields, $this->request); $this->rowEditor->linkByQueryString('dewdrop_notification_subscriptions', 'dewdrop_notification_subscription_id'); $this->rowEditor->link(); }