Example #1
0
 private function prepare_qb(midgardmvc_core_node $node, $limit, $offset = 0)
 {
     $qb = new midgard_query_builder('fi_openkeidas_articles_article');
     $qb->add_constraint('node', 'INTREE', $node->id);
     if (!midgardmvc_ui_create_injector::can_use()) {
         // Regular user, hide unapproved articles
         // TODO: This check should be moved to authentication service when QB has signals
         $qb->add_constraint('metadata.isapproved', '=', true);
     }
     $qb->add_order('metadata.created', 'DESC');
     $qb->set_limit($limit);
     $qb->set_offset($offset);
     return $qb;
 }
Example #2
0
 public function load_object(array $args)
 {
     try {
         $this->object = new fi_openkeidas_articles_article($args['item']);
     } catch (midgard_error_exception $e) {
         throw new midgardmvc_exception_notfound($e->getMessage());
     }
     if (!midgardmvc_ui_create_injector::can_use() && !$this->object->is_approved()) {
         // Regular user, hide unapproved articles
         // TODO: This check should be moved to authentication
         throw new midgardmvc_exception_notfound("No article found");
     }
     $this->object = new midgardmvc_ui_create_decorator($this->object);
     midgardmvc_core::get_instance()->head->set_title($this->object->title);
 }