diff --git a/app/DoctrineMigrations/Version20120829193604.php b/app/DoctrineMigrations/Version20120829193604.php new file mode 100644 index 0000000..87680ee --- /dev/null +++ b/app/DoctrineMigrations/Version20120829193604.php @@ -0,0 +1,28 @@ +abortIf($this->connection->getDatabasePlatform()->getName() != "mysql"); + + $this->addSql("ALTER TABLE news ADD draft TINYINT(1) NOT NULL"); + } + + public function down(Schema $schema) + { + // this down() migration is autogenerated, please modify it to your needs + $this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql"); + + $this->addSql("ALTER TABLE news DROP draft"); + } +} diff --git a/src/KekRozsak/FrontBundle/Controller/NewsController.php b/src/KekRozsak/FrontBundle/Controller/NewsController.php index 9025609..812de86 100644 --- a/src/KekRozsak/FrontBundle/Controller/NewsController.php +++ b/src/KekRozsak/FrontBundle/Controller/NewsController.php @@ -24,7 +24,9 @@ class NewsController extends Controller public function sideListAction() { $newsRepo = $this->getDoctrine()->getRepository('KekRozsakFrontBundle:News'); - $searchCriteria = array(); + $searchCriteria = array( + 'draft' => false; + ); if ( !is_object($this->get('security.context')->getToken()) || !is_object($this->get('security.context')->getToken()->getUser()) diff --git a/src/KekRozsak/FrontBundle/Entity/News.php b/src/KekRozsak/FrontBundle/Entity/News.php index 575eae9..2b28601 100644 --- a/src/KekRozsak/FrontBundle/Entity/News.php +++ b/src/KekRozsak/FrontBundle/Entity/News.php @@ -12,6 +12,12 @@ use KekRozsak\SecurityBundle\Entity\User; */ class News { + public function __construct() + { + $this->public = false; + $this->draft = true; + } + /** * The ID of this News * @@ -228,4 +234,38 @@ class News { return $this->sticky; } + + /** + * True if the News item is just a draft. Drafts can onlz be seen by the + * creator and the administrators + * + * @var boolean $draft + * + * @ORM\Column(type="boolean", nullable=false) + */ + protected $draft; + + /** + * Set draft + * + * @param boolean $draft + * @return News + */ + public function setDraft($draft) + { + // TODO: Check if parameter is boolean! + $this->draft = $draft; + return $this; + } + + /** + * Get draft + * + * @return boolean + */ + public function getDraft() + { + return $this->draft; + } } +