Author: ornicar2
Date: 2010-02-03 00:30:45 +0100 (Wed, 03 Feb 2010)
New Revision: 27460
Modified:
plugins/diemPlugin/trunk/dmAdminPlugin/data/generator/dmAdminDoctrineModule/dmAdmin/template/templates/_list.php
plugins/diemPlugin/trunk/dmAdminPlugin/lib/action/base/dmAdminBaseGeneratedModuleActions.php
plugins/diemPlugin/trunk/dmAdminPlugin/lib/generator/dmAdminDoctrineGenerator.php
plugins/diemPlugin/trunk/dmAdminPlugin/web/css/list.css
plugins/diemPlugin/trunk/dmAdminPlugin/web/js/dmAdminCtrl.js
Log:
[Diem]
- booleans can be toggled in one click on admin lists
Modified:
plugins/diemPlugin/trunk/dmAdminPlugin/data/generator/dmAdminDoctrineModule/dmAdmin/template/templates/_list.php
===================================================================
---
plugins/diemPlugin/trunk/dmAdminPlugin/data/generator/dmAdminDoctrineModule/dmAdmin/template/templates/_list.php
2010-02-02 23:30:14 UTC (rev 27459)
+++
plugins/diemPlugin/trunk/dmAdminPlugin/data/generator/dmAdminDoctrineModule/dmAdmin/template/templates/_list.php
2010-02-02 23:30:45 UTC (rev 27460)
@@ -19,9 +19,9 @@
[?php include_partial('<?php echo $this->getModuleName()
?>/list_th_<?php echo $this->configuration->getValue('list.layout') ?>',
array('sort' => $sort)) ?]
</tr>
</tfoot>
- <tbody>
+ <tbody class='{toggle_url: "[?php echo
£link('@'.$helper->getUrlForAction('toggleBoolean'))->getHref() ?]"}'>
[?php foreach ($pager->getResults() as $i => $<?php echo
$this->getSingularName() ?>): $odd = fmod(++$i, 2) ? 'odd' : 'even' ?]
- <tr class="sf_admin_row [?php echo $odd ?]">
+ <tr class="sf_admin_row [?php echo $odd ?] {pk: [?php echo $<?php
echo $this->getSingularName() ?>->getPrimaryKey() ?]}">
<?php if ($this->configuration->getValue('list.batch_actions')): ?>
<td>
<input type="checkbox" name="ids[]" value="[?php echo $<?php
echo $this->getSingularName() ?>->getPrimaryKey() ?]"
class="sf_admin_batch_checkbox" />
Modified:
plugins/diemPlugin/trunk/dmAdminPlugin/lib/action/base/dmAdminBaseGeneratedModuleActions.php
===================================================================
---
plugins/diemPlugin/trunk/dmAdminPlugin/lib/action/base/dmAdminBaseGeneratedModuleActions.php
2010-02-02 23:30:14 UTC (rev 27459)
+++
plugins/diemPlugin/trunk/dmAdminPlugin/lib/action/base/dmAdminBaseGeneratedModuleActions.php
2010-02-02 23:30:45 UTC (rev 27460)
@@ -516,4 +516,17 @@
$this->redirect('@'.$this->getDmModule()->getUnderscore());
}
+
+ public function executeToggleBoolean(dmWebRequest $request)
+ {
+ $this->forward404Unless(
+ $this->getDmModule()->getTable()->hasField($field =
$request->getParameter('field'))
+ && ($record =
$this->getDmModule()->getTable()->find($request->getParameter('pk')))
+ );
+
+ $record->set($field, !$record->get($field));
+ $record->save();
+
+ return $this->renderText($record->$field ? '1' : '0');
+ }
}
\ No newline at end of file
Modified:
plugins/diemPlugin/trunk/dmAdminPlugin/lib/generator/dmAdminDoctrineGenerator.php
===================================================================
---
plugins/diemPlugin/trunk/dmAdminPlugin/lib/generator/dmAdminDoctrineGenerator.php
2010-02-02 23:30:14 UTC (rev 27459)
+++
plugins/diemPlugin/trunk/dmAdminPlugin/lib/generator/dmAdminDoctrineGenerator.php
2010-02-02 23:30:45 UTC (rev 27460)
@@ -37,14 +37,6 @@
if ($localRelation =
$this->table->getRelationHolder()->getLocalByColumnName($name))
{
-// if ($module =
$this->moduleManager->getModuleByModel($localRelation->getClass()))
-// {
-// $label = $module->getName();
-// }
-// else
-// {
-// $label = dmString::humanize($localRelation->getAlias());
-// }
$label = dmString::humanize($localRelation->getAlias());
}
else
@@ -149,7 +141,7 @@
}
else if ('Boolean' == $field->getType())
{
- $html = "sprintf('<span class=\"s16block s16_%s\"></span>', ".$html." ?
'tick' : 'cross');";
+ $html = "sprintf('<span class=\"s16block s16_%s {field:
\'%s\'}\"></span>', ".$html." ? 'tick' : 'cross', '".$fieldName."')";
}
/*
* Local Relation
Modified: plugins/diemPlugin/trunk/dmAdminPlugin/web/css/list.css
===================================================================
--- plugins/diemPlugin/trunk/dmAdminPlugin/web/css/list.css 2010-02-02
23:30:14 UTC (rev 27459)
+++ plugins/diemPlugin/trunk/dmAdminPlugin/web/css/list.css 2010-02-02
23:30:45 UTC (rev 27460)
@@ -124,6 +124,10 @@
color: #222;
}
+div.sf_admin_list td.sf_admin_boolean span {
+ cursor: pointer;
+}
+
.dm_list_action_bar .sf_admin_actions {
}
Modified: plugins/diemPlugin/trunk/dmAdminPlugin/web/js/dmAdminCtrl.js
===================================================================
--- plugins/diemPlugin/trunk/dmAdminPlugin/web/js/dmAdminCtrl.js
2010-02-02 23:30:14 UTC (rev 27459)
+++ plugins/diemPlugin/trunk/dmAdminPlugin/web/js/dmAdminCtrl.js
2010-02-02 23:30:45 UTC (rev 27460)
@@ -97,31 +97,46 @@
{
var self = this;
- if ($searchInput = $('#dm_module_search_input').orNot())
+ if ($searchInput = $('#dm_module_search_input').orNot())
{
$searchInput.focus();
}
- $('input.sf_admin_list_batch_checkbox', self.$).each(function()
+ self.$.find('input.sf_admin_list_batch_checkbox').each(function()
{
$(this).click(function()
{
- $('input.sf_admin_batch_checkbox,
input.sf_admin_list_batch_checkbox', self.$).attr('checked',
$(this).attr('checked'));
+ self.$.find('input.sf_admin_batch_checkbox,
input.sf_admin_list_batch_checkbox').attr('checked', $(this).attr('checked'));
});
});
- $('input.sf_admin_batch_checkbox, input.sf_admin_list_batch_checkbox',
self.$).change(function()
+ self.$.find('input.sf_admin_batch_checkbox,
input.sf_admin_list_batch_checkbox').change(function()
{
- $('div.sf_admin_actions > input', self.$).attr('disabled',
!$('input.sf_admin_batch_checkbox:checked', self.$).length);
+ self.$.find('div.sf_admin_actions > input').attr('disabled',
!self.$.find('input.sf_admin_batch_checkbox:checked').length);
});
- $('select.dm_max_per_page', self.$).each(function()
+ self.$.find('select.dm_max_per_page').each(function()
{
$(this).change(function()
{
location.href = self.getHref('+/dmAdminGenerator/changeMaxPerPage')
+ "?dm_module=" + self.options.module + "&max_per_page=" + $(this).val()
});
});
+
+ // toggle booleans
+ self.$.find('td.sf_admin_boolean span').click(function() {
+ $(this).toggleClass('s16_tick s16_cross');
+ $.ajax({
+ url: self.$.find('tbody').metadata().toggle_url,
+ data: {
+ field: $(this).metadata().field,
+ pk: $(this).parent().parent().metadata().pk
+ },
+ success: function(data) {
+ $(this).toggleClass('s16_tick', '1' ==
data).toggleClass('s16_cross', '0' == data);
+ }
+ });
+ });
},
datePickers: function()
--
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.