Merge pull request #1059 from wallabag/rename-entry

Rename entry
This commit is contained in:
Jeremy 2015-02-06 09:55:16 +01:00
commit 29c4517f7a
7 changed files with 88 additions and 91 deletions

View file

@ -5,8 +5,8 @@ namespace Wallabag\CoreBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Repository;
use Wallabag\CoreBundle\Entity\Entries;
use Wallabag\CoreBundle\Service\Extractor;
use Wallabag\CoreBundle\Helper\Url;
@ -19,7 +19,7 @@ class EntryController extends Controller
*/
public function addEntryAction(Request $request)
{
$entry = new Entries();
$entry = new Entry();
$entry->setUserId(1);
$form = $this->createFormBuilder($entry)
@ -60,7 +60,7 @@ class EntryController extends Controller
*/
public function showUnreadAction()
{
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entries');
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry');
// TODO don't give the user ID like this
// TODO change pagination
$entries = $repository->findUnreadByUser(1, 0);
@ -79,7 +79,7 @@ class EntryController extends Controller
*/
public function showArchiveAction()
{
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entries');
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry');
// TODO don't give the user ID like this
// TODO change pagination
$entries = $repository->findArchiveByUser(1, 0);
@ -98,7 +98,7 @@ class EntryController extends Controller
*/
public function showStarredAction()
{
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entries');
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry');
// TODO don't give the user ID like this
// TODO change pagination
$entries = $repository->findStarredByUser(1, 0);
@ -112,11 +112,11 @@ class EntryController extends Controller
/**
* Shows entry content
*
* @param Entries $entry
* @param Entry $entry
* @Route("/view/{id}", requirements={"id" = "\d+"}, name="view")
* @return \Symfony\Component\HttpFoundation\Response
*/
public function viewAction(Entries $entry)
public function viewAction(Entry $entry)
{
return $this->render(
'WallabagCoreBundle:Entry:entry.html.twig',
@ -128,11 +128,11 @@ class EntryController extends Controller
* Changes read status for an entry
*
* @param Request $request
* @param Entries $entry
* @param Entry $entry
* @Route("/archive/{id}", requirements={"id" = "\d+"}, name="archive_entry")
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
public function toggleArchiveAction(Request $request, Entries $entry)
public function toggleArchiveAction(Request $request, Entry $entry)
{
$entry->toggleArchive();
$this->getDoctrine()->getManager()->flush();
@ -149,11 +149,11 @@ class EntryController extends Controller
* Changes favorite status for an entry
*
* @param Request $request
* @param Entries $entry
* @param Entry $entry
* @Route("/star/{id}", requirements={"id" = "\d+"}, name="star_entry")
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
public function toggleStarAction(Request $request, Entries $entry)
public function toggleStarAction(Request $request, Entry $entry)
{
$entry->toggleStar();
$this->getDoctrine()->getManager()->flush();
@ -170,11 +170,11 @@ class EntryController extends Controller
* Deletes entry
*
* @param Request $request
* @param Entries $entry
* @param Entry $entry
* @Route("/delete/{id}", requirements={"id" = "\d+"}, name="delete_entry")
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
public function deleteEntryAction(Request $request, Entries $entry)
public function deleteEntryAction(Request $request, Entry $entry)
{
$em = $this->getDoctrine()->getManager();
$entry->setDeleted(1);

View file

@ -6,7 +6,7 @@ use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Wallabag\CoreBundle\Entity\Entries;
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Entity\Tags;
use Wallabag\CoreBundle\Service\Extractor;
@ -27,7 +27,7 @@ class WallabagRestController extends Controller
* {"name"="tags", "dataType"="string", "required"=false, "format"="api%2Crest", "description"="a list of tags url encoded. Will returns entries that matches ALL tags."},
* }
* )
* @return Entries
* @return Entry
*/
public function getEntriesAction(Request $request)
{
@ -42,7 +42,7 @@ class WallabagRestController extends Controller
$entries = $this
->getDoctrine()
->getRepository('WallabagCoreBundle:Entries')
->getRepository('WallabagCoreBundle:Entry')
->findEntries(1, $isArchived, $isStarred, $isDeleted, $sort, $order);
if (!is_array($entries)) {
@ -60,9 +60,9 @@ class WallabagRestController extends Controller
* {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
* }
* )
* @return Entries
* @return Entry
*/
public function getEntryAction(Entries $entry)
public function getEntryAction(Entry $entry)
{
return $entry;
}
@ -77,6 +77,7 @@ class WallabagRestController extends Controller
* {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
* }
* )
* @return Entry
*/
public function postEntriesAction(Request $request)
{
@ -84,7 +85,7 @@ class WallabagRestController extends Controller
$url = $request->request->get('url');
$content = Extractor::extract($url);
$entry = new Entries();
$entry = new Entry();
$entry->setUserId(1);
$entry->setUrl($url);
$entry->setTitle($request->request->get('title') ?: $content->getTitle());
@ -111,8 +112,9 @@ class WallabagRestController extends Controller
* {"name"="delete", "dataType"="boolean", "required"=false, "format"="true or false", "description"="flag as deleted. Default false. In case that you don't want to *really* remove it.."},
* }
* )
* @return Entry
*/
public function patchEntriesAction(Entries $entry, Request $request)
public function patchEntriesAction(Entry $entry, Request $request)
{
$title = $request->request->get("title");
$tags = $request->request->get("tags", array());
@ -125,7 +127,7 @@ class WallabagRestController extends Controller
}
if (!is_null($isArchived)) {
$entry->setRead($isArchived);
$entry->setArchived($isArchived);
}
if (!is_null($isDeleted)) {
@ -133,7 +135,7 @@ class WallabagRestController extends Controller
}
if (!is_null($isStarred)) {
$entry->setFav($isStarred);
$entry->setStarred($isStarred);
}
$em = $this->getDoctrine()->getManager();
@ -150,8 +152,9 @@ class WallabagRestController extends Controller
* {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
* }
* )
* @return Entry
*/
public function deleteEntriesAction(Entries $entry)
public function deleteEntriesAction(Entry $entry)
{
if ($entry->isDeleted()) {
throw new NotFoundHttpException('This entry is already deleted');
@ -173,7 +176,7 @@ class WallabagRestController extends Controller
* }
* )
*/
public function getEntriesTagsAction(Entries $entry)
public function getEntriesTagsAction(Entry $entry)
{
}
@ -189,7 +192,7 @@ class WallabagRestController extends Controller
* }
* )
*/
public function postEntriesTagsAction(Entries $entry)
public function postEntriesTagsAction(Entry $entry)
{
}
@ -203,7 +206,7 @@ class WallabagRestController extends Controller
* }
* )
*/
public function deleteEntriesTagsAction(Entries $entry, Tags $tag)
public function deleteEntriesTagsAction(Entry $entry, Tags $tag)
{
}

View file

@ -6,23 +6,23 @@ use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Entries
* Entry
*
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\EntriesRepository")
* @ORM\Table(name="entries")
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\EntryRepository")
* @ORM\Table(name="entry")
* @ORM\HasLifecycleCallbacks()
*
*/
class Entries
class Entry
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=true)
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id = null;
private $id;
/**
* @var string
@ -42,21 +42,21 @@ class Entries
/**
* @var boolean
*
* @ORM\Column(name="is_read", type="boolean", nullable=true, options={"default" = false})
* @ORM\Column(name="is_archived", type="boolean")
*/
private $isRead = false;
private $isArchived = false;
/**
* @var boolean
*
* @ORM\Column(name="is_fav", type="boolean", nullable=true, options={"default" = false})
* @ORM\Column(name="is_starred", type="boolean")
*/
private $isFav = false;
private $isStarred = false;
/**
* @var boolean
*
* @ORM\Column(name="is_deleted", type="boolean", nullable=true, options={"default" = false})
* @ORM\Column(name="is_deleted", type="boolean")
*/
private $isDeleted = false;
@ -70,14 +70,14 @@ class Entries
/**
* @var date
*
* @ORM\Column(name="created_at", type="datetime", nullable=true)
* @ORM\Column(name="created_at", type="datetime")
*/
private $createdAt;
/**
* @var date
*
* @ORM\Column(name="updated_at", type="datetime", nullable=true)
* @ORM\Column(name="updated_at", type="datetime")
*/
private $updatedAt;
@ -136,8 +136,8 @@ class Entries
/**
* Set title
*
* @param string $title
* @return Entries
* @param string $title
* @return Entry
*/
public function setTitle($title)
{
@ -159,8 +159,8 @@ class Entries
/**
* Set url
*
* @param string $url
* @return Entries
* @param string $url
* @return Entry
*/
public function setUrl($url)
{
@ -180,61 +180,61 @@ class Entries
}
/**
* Set isRead
* Set isArchived
*
* @param string $isRead
* @return Entries
* @param string $isArchived
* @return Entry
*/
public function setRead($isRead)
public function setArchived($isArchived)
{
$this->isRead = $isRead;
$this->isArchived = $isArchived;
return $this;
}
/**
* Get isRead
* Get isArchived
*
* @return string
*/
public function isRead()
public function isArchived()
{
return $this->isRead;
return $this->isArchived;
}
public function toggleArchive()
{
$this->isRead = $this->getIsRead() ^ 1;
$this->isArchived = $this->isArchived() ^ 1;
return $this;
}
/**
* Set isFav
* Set isStarred
*
* @param string $isFav
* @return Entries
* @param string $isStarred
* @return Entry
*/
public function setFav($isFav)
public function setStarred($isStarred)
{
$this->isFav = $isFav;
$this->isStarred = $isStarred;
return $this;
}
/**
* Get isFav
* Get isStarred
*
* @return string
*/
public function isFav()
public function isStarred()
{
return $this->isFav;
return $this->isStarred;
}
public function toggleStar()
{
$this->isFav = $this->getIsFav() ^ 1;
$this->isStarred = $this->isStarred() ^ 1;
return $this;
}
@ -242,8 +242,8 @@ class Entries
/**
* Set content
*
* @param string $content
* @return Entries
* @param string $content
* @return Entry
*/
public function setContent($content)
{
@ -265,8 +265,8 @@ class Entries
/**
* Set userId
*
* @param string $userId
* @return Entries
* @param string $userId
* @return Entry
*/
public function setUserId($userId)
{
@ -309,15 +309,6 @@ class Entries
return $this->createdAt;
}
/**
* @param mixed $createdAt
* @ORM\PrePersist
*/
public function setCreatedAt()
{
$this->createdAt = new \DateTime();
}
/**
* @return string
*/
@ -327,11 +318,15 @@ class Entries
}
/**
* @param string $updatedAt
* @ORM\PrePersist
* @ORM\PreUpdate
*/
public function setUpdatedAt()
public function timestamps()
{
if (is_null($this->createdAt)) {
$this->createdAt = new \DateTime();
}
$this->updatedAt = new \DateTime();
}

View file

@ -2,6 +2,6 @@
namespace Wallabag\CoreBundle\Helper;
class Entries
class Entry
{
}

View file

@ -5,9 +5,8 @@ namespace Wallabag\CoreBundle\Repository;
use Doctrine\ORM\Query;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\Tools\Pagination\Paginator;
use Wallabag\CoreBundle\Entity\Entries;
class EntriesRepository extends EntityRepository
class EntryRepository extends EntityRepository
{
/**
* Retrieves unread entries for a user
@ -23,9 +22,9 @@ class EntriesRepository extends EntityRepository
->select('e')
->setFirstResult($firstResult)
->setMaxResults($maxResults)
->where('e.isRead = 0')
->where('e.isArchived = false')
->andWhere('e.userId =:userId')->setParameter('userId', $userId)
->andWhere('e.isDeleted=0')
->andWhere('e.isDeleted=false')
->orderBy('e.createdAt', 'desc')
->getQuery();
@ -48,9 +47,9 @@ class EntriesRepository extends EntityRepository
->select('e')
->setFirstResult($firstResult)
->setMaxResults($maxResults)
->where('e.isRead = 1')
->where('e.isArchived = true')
->andWhere('e.userId =:userId')->setParameter('userId', $userId)
->andWhere('e.isDeleted=0')
->andWhere('e.isDeleted=false')
->orderBy('e.createdAt', 'desc')
->getQuery();
@ -73,9 +72,9 @@ class EntriesRepository extends EntityRepository
->select('e')
->setFirstResult($firstResult)
->setMaxResults($maxResults)
->where('e.isFav = 1')
->where('e.isStarred = true')
->andWhere('e.userId =:userId')->setParameter('userId', $userId)
->andWhere('e.isDeleted=0')
->andWhere('e.isDeleted=false')
->orderBy('e.createdAt', 'desc')
->getQuery();
@ -91,11 +90,11 @@ class EntriesRepository extends EntityRepository
->where('e.userId =:userId')->setParameter('userId', $userId);
if (!is_null($isArchived)) {
$qb->andWhere('e.isRead =:isArchived')->setParameter('isArchived', $isArchived);
$qb->andWhere('e.isArchived =:isArchived')->setParameter('isArchived', $isArchived);
}
if (!is_null($isStarred)) {
$qb->andWhere('e.isFav =:isStarred')->setParameter('isStarred', $isStarred);
$qb->andWhere('e.isStarred =:isStarred')->setParameter('isStarred', $isStarred);
}
if (!is_null($isDeleted)) {

View file

@ -35,8 +35,8 @@
{% endif %}
<ul class="tools links">
<li><a title="{% trans %}Toggle mark as read{% endtrans %}" class="tool icon-check icon {% if entry.isRead == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
<li><a title="{% trans %}toggle favorite{% endtrans %}" class="tool icon-star icon {% if entry.isFav == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}toggle favorite{% endtrans %}</span></a></li>
<li><a title="{% trans %}Toggle mark as read{% endtrans %}" class="tool icon-check icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
<li><a title="{% trans %}toggle favorite{% endtrans %}" class="tool icon-star icon {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}toggle favorite{% endtrans %}</span></a></li>
<li><a title="{% trans %}delete{% endtrans %}" class="tool delete icon-trash icon" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{% trans %}delete{% endtrans %}</span></a></li>
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.url | e | domainName }}</span></a></li>
</ul>

View file

@ -11,8 +11,8 @@
<ul class="links">
<li class="topPosF"><a href="#top" title="{% trans %}Back to top{% endtrans %}" class="tool top icon icon-arrow-up-thick"><span>{% trans %}Back to top{% endtrans %}</span></a></li>
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.url | e | domainName }}</span></a></li>
<li><a title="{% trans %}Mark as read{% endtrans %}" class="tool icon icon-check {% if entry.isRead == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
<li><a title="{% trans %}Favorite{% endtrans %}" class="tool icon icon-star {% if entry.isFav == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle favorite{% endtrans %}</span></a></li>
<li><a title="{% trans %}Mark as read{% endtrans %}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
<li><a title="{% trans %}Favorite{% endtrans %}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle favorite{% endtrans %}</span></a></li>
<li><a title="{% trans %}Delete{% endtrans %}" class="tool delete icon icon-trash" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{% trans %}Delete{% endtrans %}</span></a></li>
{% if share_twitter %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans %}Tweet{% endtrans %}"><span>{% trans %}Tweet{% endtrans %}</span></a></li>{% endif %}
{% if share_mail %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans %}Email{% endtrans %}"><span>{% trans %}Email{% endtrans %}</span></a></li>{% endif %}