Author: Jonathan.Wage
Date: 2010-02-11 21:17:47 +0100 (Thu, 11 Feb 2010)
New Revision: 27924
Added:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminGenContentSearchForm.class.php
plugins/sfSympalPlugin/trunk/modules/sympal_default/templates/offlineSuccess.php
Removed:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/templates/_list_header.php
Modified:
plugins/sfSympalPlugin/trunk/lib/helper/SympalHelper.php
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentTable.class.php
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminGenSearchForm.class.php
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/helper/AdminHelper.php
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/config/generator.yml
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/lib/Basesympal_contentActions.class.php
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_dashboard/lib/Basesympal_dashboardActions.class.php
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_dashboard/templates/indexSuccess.php
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/css/admin.css
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/css/dashboard.css
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/js/admin.js
plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php
Log:
[1.4][sfSympalPlugin][1.0] Added a right panel with statistics in it to the
dashboard
Modified: plugins/sfSympalPlugin/trunk/lib/helper/SympalHelper.php
===================================================================
--- plugins/sfSympalPlugin/trunk/lib/helper/SympalHelper.php 2010-02-11
20:08:46 UTC (rev 27923)
+++ plugins/sfSympalPlugin/trunk/lib/helper/SympalHelper.php 2010-02-11
20:17:47 UTC (rev 27924)
@@ -30,6 +30,12 @@
sfSympalToolkit::useJQuery($plugins);
}
+function sympal_use_jquery_tools()
+{
+ sympal_use_jquery();
+ sympal_use_javascript('/sfSympalPlugin/js/jquery.tools.min.js');
+}
+
/**
* Helper method for using a Sympal javascript file.
*
Modified:
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentTable.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentTable.class.php
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentTable.class.php
2010-02-11 20:17:47 UTC (rev 27924)
@@ -13,6 +13,11 @@
public function getFullTypeQuery($type, $alias = 'c', $contentTypeId = null)
{
+ if (is_numeric($type))
+ {
+ $type = Doctrine_Core::getTable('sfSympalContentType')->find($type);
+ }
+
if ($type instanceof sfSympalContentType)
{
$table = $type->getTable();
@@ -183,7 +188,7 @@
public function getAdminGenQuery($q)
{
$q = Doctrine_Core::getTable('sfSympalContent')
-
->getFullTypeQuery(sfContext::getInstance()->getRequest()->getAttribute('content_type'),
'r');
+
->getFullTypeQuery(sfContext::getInstance()->getUser()->getAttribute('content_type_id'),
'r');
return $q;
}
Added:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminGenContentSearchForm.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminGenContentSearchForm.class.php
(rev 0)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminGenContentSearchForm.class.php
2010-02-11 20:17:47 UTC (rev 27924)
@@ -0,0 +1,20 @@
+<?php
+
+class sfSympalAdminGenContentSearchForm extends sfSympalAdminGenSearchForm
+{
+ public function configure()
+ {
+ $this->widgetSchema['is_published'] = new
sfWidgetFormChoice(array('choices' => array('' => 'All', 1 => 'Yes', 0 =>
'No')));
+ $this->validatorSchema['is_published'] = new
sfValidatorChoice(array('required' => false, 'choices' => array('', 1, 0)));
+ }
+
+ protected function addIsPublishedColumnQuery(Doctrine_Query $query, $field,
$values)
+ {
+ if ($values)
+ {
+ $query->addWhere('r.date_published < NOW()');
+ } else {
+ $query->addWhere('r.date_published >= NOW() OR r.date_published IS
NULL');
+ }
+ }
+}
\ No newline at end of file
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminGenSearchForm.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminGenSearchForm.class.php
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminGenSearchForm.class.php
2010-02-11 20:17:47 UTC (rev 27924)
@@ -37,7 +37,7 @@
public function setup()
{
$this->widgetSchema['search'] = new sfWidgetFormInputText();
- $this->validatorSchema['search'] = new sfValidatorString();
+ $this->validatorSchema['search'] = new sfValidatorString(array('required'
=> false));
$this->widgetSchema->setHelp('search', 'Enter keywords to search by.
Wildcards (*) are supported.');
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/helper/AdminHelper.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/helper/AdminHelper.php
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/helper/AdminHelper.php
2010-02-11 20:17:47 UTC (rev 27924)
@@ -7,7 +7,6 @@
if (!$menu)
{
$sympalContext = sfSympalContext::getInstance();
- $siteTitle = $sympalContext->getSite()->getTitle();
$menu = new $class('Sympal Admin', '@sympal_dashboard');
if ($sympalContext->isAdminModule())
@@ -25,8 +24,8 @@
$menu->addChild('Clear Cache', '@sympal_clear_cache');
}
- $menu->addChild('Content', null, array('label' => $siteTitle.' Content'));
- $menu->addChild('Site Administration', null, array('label' => $siteTitle.'
Setup'));
+ $menu->addChild('Content', null, array('label' => 'Site Content'));
+ $menu->addChild('Site Administration', null, array('label' => 'Site
Setup'));
$menu->addChild('Security', null, array('label' => 'Users & Security'));
$menu->addChild('Administration', null, array('label' => 'Global Setup'));
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/config/generator.yml
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/config/generator.yml
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/config/generator.yml
2010-02-11 20:17:47 UTC (rev 27924)
@@ -65,7 +65,7 @@
action: unpublish
label: Un-Publish
filter:
- class: sfSympalAdminGenSearchForm
+ class: sfSympalAdminGenContentSearchForm
edit:
title: "Editing Content titled %%title%%"
actions:
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/lib/Basesympal_contentActions.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/lib/Basesympal_contentActions.class.php
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/lib/Basesympal_contentActions.class.php
2010-02-11 20:17:47 UTC (rev 27924)
@@ -47,19 +47,30 @@
{
if (!$this->contentType)
{
- if (is_numeric($type))
+ if ($type)
{
- $this->contentType =
Doctrine_Core::getTable('sfSympalContentType')->find($type);
+ if (is_numeric($type))
+ {
+ $this->contentType =
Doctrine_Core::getTable('sfSympalContentType')->find($type);
+ } else {
+ $this->contentType =
Doctrine_Core::getTable('sfSympalContentType')->findOneByNameOrSlug($type,
$type);
+ }
+ $this->getUser()->setAttribute('content_type_id',
$this->contentType->id);
+ $this->getRequest()->setAttribute('content_type', $this->contentType);
} else {
- $this->contentType =
Doctrine_Core::getTable('sfSympalContentType')->findOneByNameOrSlug($type,
$type);
+ $this->contentType =
Doctrine_Core::getTable('sfSympalContentType')->find($this->getUser()->getAttribute('content_type_id'));
}
- $this->getUser()->setAttribute('content_type_id',
$this->contentType->id);
- $this->getRequest()->setAttribute('content_type', $this->contentType);
}
return $this->contentType;
}
+ public function executeFilter(sfWebRequest $request)
+ {
+ $this->contentType =
$this->_getContentType($request->getParameter('type'), $request);
+ parent::executeFilter($request);
+ }
+
public function executeList_type(sfWebRequest $request)
{
$type = $request->getParameter('type');
@@ -71,12 +82,20 @@
public function executeIndex(sfWebRequest $request)
{
+ if ($request->hasParameter('published'))
+ {
+ $filters = $this->getFilters();
+ $filters['is_published'] = $request->getParameter('published');
+ $this->setFilters($filters);
+ $this->redirect('@sympal_content');
+ }
$type = $this->getUser()->getAttribute('content_type_id',
sfSympalConfig::get('default_admin_list_content_type', null, 'sfSympalPage'));
$this->contentType = $this->_getContentType($type, $request);
$this->getResponse()->setTitle('Sympal Admin /
'.$this->contentType->getLabel());
parent::executeIndex($request);
+
}
public function executeDelete_route(sfWebRequest $request)
Deleted:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/templates/_list_header.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/templates/_list_header.php
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content/templates/_list_header.php
2010-02-11 20:17:47 UTC (rev 27924)
@@ -1,9 +0,0 @@
-<?php $contentTypes =
Doctrine_Core::getTable('sfSympalContentType')->getAllContentTypes() ?>
-<div id="sympal_content_type_menu">
- <h3><?php echo __('Change Content Type') ?></h3>
- <ul>
- <?php foreach ($contentTypes as $contentType): ?>
- <li<?php if ($sf_user->getAttribute('content_type_id') ==
$contentType->id): ?> class="current"<?php endif; ?>><?php echo
link_to($contentType->getLabel(),
'@sympal_content_list_type?type='.$contentType->getId()) ?></li>
- <?php endforeach; ?>
- </ul>
-</div>
\ No newline at end of file
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_dashboard/lib/Basesympal_dashboardActions.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_dashboard/lib/Basesympal_dashboardActions.class.php
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_dashboard/lib/Basesympal_dashboardActions.class.php
2010-02-11 20:17:47 UTC (rev 27924)
@@ -28,5 +28,42 @@
} else {
$this->hasNewVersion = false;
}
+
+ $this->dashboardRight = new sfSympalMenu('Sympal Dashboard Right');
+
+ $numUsers = Doctrine_Core::getTable('sfGuardUser')->count();
+ $this->dashboardRight->addChild(sprintf('<label>Users</label> %s',
$numUsers), '@sympal_users');
+
+ $numSites = Doctrine_Core::getTable('sfSympalSite')->count();
+ $this->dashboardRight->addChild(sprintf('<label>Sites</label> %s',
$numSites), '@sympal_sites');
+
+ $numContentTypes = Doctrine_Core::getTable('sfSympalContentType')->count();
+ $this->dashboardRight->addChild(sprintf('<label>Content Types</label> %s',
$numContentTypes), '@sympal_content_types');
+
+ $contentTypes =
Doctrine::getTable('sfSympalContentType')->getAllContentTypes();
+ foreach ($contentTypes as $contentType)
+ {
+ $numPublishedContent = Doctrine_Core::getTable('sfSympalContent')
+ ->createQuery('c')
+ ->where('c.date_published < NOW()')
+ ->andWhere('c.content_type_id = ?', $contentType->getId())
+ ->count();
+ $this->dashboardRight->addChild(
+ sprintf('<label>Published %s Content</label> %s',
$contentType->getLabel(), $numPublishedContent),
+ '@sympal_content_list_type?type='.$contentType->getId().'&published=1'
+ );
+
+ $numUnPublishedContent = Doctrine_Core::getTable('sfSympalContent')
+ ->createQuery('c')
+ ->where('c.date_published >= NOW() OR c.date_published IS NULL')
+ ->andWhere('c.content_type_id = ?', $contentType->getId())
+ ->count();
+ $this->dashboardRight->addChild(
+ sprintf('<label>Un-Published %s Content</label> %s',
$contentType->getLabel(), $numUnPublishedContent),
+ '@sympal_content_list_type?type='.$contentType->getId().'&published=0'
+ );
+ }
+
+ sfApplicationConfiguration::getActive()->getEventDispatcher()->notify(new
sfEvent($this->dashboardRight, 'sympal.load_dashboard_right'));
}
}
\ No newline at end of file
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_dashboard/templates/indexSuccess.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_dashboard/templates/indexSuccess.php
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_dashboard/templates/indexSuccess.php
2010-02-11 20:17:47 UTC (rev 27924)
@@ -8,11 +8,16 @@
<?php endif; ?>
<div id="sympal-dashboard">
- <h1><?php echo __('Sympal Dashboard') ?></h1>
+ <div id="sympal-dashboard-right">
+ <?php echo $dashboardRight ?>
+ </div>
- <p><?php echo __('Hello %name%! Welcome to your Sympal Dashboard. Below you
can navigate the functionality and administer your site.', array('%name%' =>
'<strong>'.$sf_user->getName().'</strong>')) ?></p>
+ <div id="sympal-dashboard-left">
+ <h1><?php echo __('Sympal Dashboard') ?></h1>
- <?php echo get_sympal_admin_menu_object('sfSympalMenuDashboard') ?>
+ <p><?php echo __('Hello %name%! Welcome to your Sympal Dashboard. Below
you can navigate the functionality and administer your site.', array('%name%'
=> '<strong>'.$sf_user->getName().'</strong>')) ?></p>
+ <?php echo get_sympal_admin_menu_object('sfSympalMenuDashboard') ?>
+ </div>
<br style="clear: left;" />
</div>
\ No newline at end of file
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/css/admin.css
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/css/admin.css
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/css/admin.css
2010-02-11 20:17:47 UTC (rev 27924)
@@ -145,61 +145,6 @@
background: none;
}
-#content #sympal_content_type_menu {
- background-color: #ffffff;
- width: 200px;
- position: absolute;
- top: 50px;
- right: 40px;
- z-index: 101;
-}
-
-#content #sympal_content_type_menu h3 {
- background-color: #ffffff;
- text-align: center;
- font-weight: bold;
- font-size: 16px;
- color: #333333;
- margin: 0;
- padding: 6px;
- cursor: pointer;
-}
-
-#content #sympal_content_type_menu h3:hover {
- background: #333333;
- color: #ffffff;
-}
-
-#content #sympal_content_type_menu ul {
- background-color: #333333;
- margin: 0;
- padding: 0;
- display: none;
-}
-
-#content #sympal_content_type_menu ul li {
- color: #fff;
- font-weight: bold;
- margin: 0;
- padding: 0;
- text-align: left;
-}
-
-#content #sympal_content_type_menu ul li:hover {
- color: #333;
- background: #fff;
-}
-
-#content #sympal_content_type_menu ul li:hover a {
- color: #333;
-}
-
-#content #sympal_content_type_menu ul li a {
- display: block;
- padding: 8px;
- color: #fff;
-}
-
#content input, #content select, #content textarea {
padding: 0.40em;
border:1px solid #ddd;
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/css/dashboard.css
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/css/dashboard.css
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/css/dashboard.css
2010-02-11 20:17:47 UTC (rev 27924)
@@ -77,4 +77,44 @@
display: inline;
margin-right: 10px;
float: left;
+}
+
+#sympal-dashboard-left {
+ margin-right: 325px;
+}
+
+#sympal-dashboard-right {
+ background: #ccc;
+ -khtml-border-radius:0.75em;
+ -moz-border-radius: 0.75em;
+ -webkit-border-radius: 0.75em;
+ border-radius: 0.75em;
+ border: 1px solid #aaa;
+ width: 300px;
+ float: right;
+ padding: 8px;
+}
+
+#sympal-dashboard-right ul, #sympal-dashboard-right ul li {
+ margin: 0;
+ padding: 0;
+ font-size: 12px;
+ cursor: pointer;
+}
+
+#sympal-dashboard-right ul li {
+ padding: 6px;
+ border-bottom: 1px solid #ccc;
+}
+
+#sympal-dashboard-right ul li label {
+ display: block;
+ padding: 0 1em 3px 0;
+ float: left;
+ text-align: left;
+ width: 90%;
+ color: #002970;
+ font-weight: bold;
+ font-size: 14px;
+ cursor: pointer;
}
\ No newline at end of file
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/js/admin.js
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/js/admin.js
2010-02-11 20:08:46 UTC (rev 27923)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/web/js/admin.js
2010-02-11 20:17:47 UTC (rev 27924)
@@ -3,14 +3,6 @@
{
$('.sf_admin_form input:text:visible:first').focus();
- $('#sympal_content_type_menu h3').click(function() {
- $('#sympal_content_type_menu ul').slideToggle('fast');
- });
-
- $('#sympal_content_type_menu a').click(function() {
- $('#sympal_content_type_menu ul').slideToggle('fast');
- });
-
$('.sf_admin_form fieldset h2').click(function() {
var name = $('.sf_admin_form').parent('div').attr('id');
Modified: plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php
===================================================================
--- plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php
2010-02-11 20:08:46 UTC (rev 27923)
+++ plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php
2010-02-11 20:17:47 UTC (rev 27924)
@@ -219,8 +219,11 @@
{
$array = self::getTemplateWidgetAndValidator($form);
- $form->setWidget('template', $array['widget']);
- $form->setValidator('template', $array['validator']);
+ if ($array)
+ {
+ $form->setWidget('template', $array['widget']);
+ $form->setValidator('template', $array['validator']);
+ }
}
/**
@@ -231,14 +234,13 @@
*/
public static function getTemplateWidgetAndValidator(sfForm $form)
{
- $object = $form->getObject();
- if ($object instanceof sfSympalContent)
+ if ($form instanceof sfSympalContentForm)
{
- $type = $object->getType()->getSlug();
- } else if ($object instanceof sfSympalContentType) {
- $type = $object->getSlug();
+ $type = $form->getObject()->getType()->getSlug();
+ } else if ($form instanceof sfSympalContentTypeForm) {
+ $type = $form->getObject()->getSlug();
} else {
- throw new InvalidArgumentException('Form must be an instance of
sfSympalContentForm or sfSympalContentTypeForm');
+ return false;
}
$templates =
sfContext::getInstance()->getConfiguration()->getPluginConfiguration('sfSympalPlugin')->getSympalConfiguration()->getContentTemplates($type);
Added:
plugins/sfSympalPlugin/trunk/modules/sympal_default/templates/offlineSuccess.php
===================================================================
---
plugins/sfSympalPlugin/trunk/modules/sympal_default/templates/offlineSuccess.php
(rev 0)
+++
plugins/sfSympalPlugin/trunk/modules/sympal_default/templates/offlineSuccess.php
2010-02-11 20:17:47 UTC (rev 27924)
@@ -0,0 +1,3 @@
+<h1><?php echo __('Offline') ?></h1>
+
+<p><?php echo __('We apologize but the site is currently offline. Check back
soon!') ?></p>
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.