Author: peter
Date: 2008-11-07 09:53:37 -0800 (Fri, 07 Nov 2008)
New Revision: 1533
Modified:
trunk/qubit/apps/qubit/lib/SiteSettingsFilter.class.php
trunk/qubit/apps/qubit/modules/settings/actions/listAction.class.php
trunk/qubit/data/fixtures/sampleData.yml
Log:
change default_template settings to set per module, not per action. use
default_template site settings value to set the SiteSettingsFilter
Modified: trunk/qubit/apps/qubit/lib/SiteSettingsFilter.class.php
===================================================================
--- trunk/qubit/apps/qubit/lib/SiteSettingsFilter.class.php 2008-11-07
17:39:26 UTC (rev 1532)
+++ trunk/qubit/apps/qubit/lib/SiteSettingsFilter.class.php 2008-11-07
17:53:37 UTC (rev 1533)
@@ -49,7 +49,7 @@
// Set routing default parameters so that links to create, edit and show
actions
// get routed to default actions
-
$this->context->getRouting()->setDefaultParameters(array('informationobject_template'
=> 'isad', 'actor_template' => 'isaar', 'repository_template' => 'isdiah'));
+
$this->context->getRouting()->setDefaultParameters(array('informationobject_template'
=> sfConfig::get('app_default_template_informationobject'), 'actor_template'
=> sfConfig::get('app_default_template_actor'), 'repository_template' =>
sfConfig::get('app_default_template_repository')));
// execute next filter
$filterChain->execute();
Modified: trunk/qubit/apps/qubit/modules/settings/actions/listAction.class.php
===================================================================
--- trunk/qubit/apps/qubit/modules/settings/actions/listAction.class.php
2008-11-07 17:39:26 UTC (rev 1532)
+++ trunk/qubit/apps/qubit/modules/settings/actions/listAction.class.php
2008-11-07 17:53:37 UTC (rev 1533)
@@ -21,7 +21,7 @@
/**
* List of qubit settings
- *
+ *
* @package qubit
* @subpackage settings
* @version svn: $Id$
@@ -53,22 +53,36 @@
'pt' => 'português',
'sl' => 'slovenščina'
);
-
+
+ // Available templates
+ protected static $informationobjectTemplates = array(
+ 'isad' => 'ISAD(G), International Council on Archives',
+ 'rad' => 'RAD, Canadian Council on Archives'
+ );
+
+ protected static $actorTemplates = array(
+ 'isaar' => 'ISAAR(CPF), International Council on Archives'
+ );
+
+ protected static $repositoryTemplates = array(
+ 'isdiah' => 'ISDIAH, International Council on Archives'
+ );
+
public function execute($request)
{
$this->culture = $this->getUser()->getCulture();
-
+
$this->globalForm = new SettingsGlobalForm;
$this->siteInformationForm = new SettingsSiteInformationForm;
$this->defaultTemplateForm = new SettingsGenericForm(array(), array(
'settings' => QubitSetting::getByScope('default_template'),
'scope'=>'default_template'));
$this->uiLabelForm = new SettingsGenericForm(array(), array(
'settings' => QubitSetting::getByScope('ui_label'), 'scope'=>'ui_label',
'fieldsRequired' => false));
-
+
// Handle POST data (form submit)
if ($request->isMethod('post'))
{
-
+
// Global settings form submission
if (null !== $request->getParameter('global_settings'))
{
@@ -77,7 +91,7 @@
// $request->parameterHolder (and thus are not bound) because their
// <input> field is disabled.
$version = (null !== $setting =
QubitSetting::getSettingByName('version')) ?
$setting->getValue(array('sourceCulture'=>true)) : null;
- $uploadDir = (null !== $setting =
QubitSetting::getSettingByName('upload_dir')) ?
$setting->getValue(array('sourceCulture'=>true)) : null;
+ $uploadDir = (null !== $setting =
QubitSetting::getSettingByName('upload_dir')) ?
$setting->getValue(array('sourceCulture'=>true)) : null;
$this->globalForm->bind(array_merge($request->getParameter('global_settings'),
array('version'=>$version, 'upload_dir'=>$uploadDir)));
if ($this->globalForm->isValid())
{
@@ -86,10 +100,10 @@
$this->redirect('settings/list');
}
}
-
+
// Handle site information form submission
if (null !== $request->getParameter('site_information'))
- {
+ {
$this->siteInformationForm->bind($request->getParameter('site_information'));
if ($this->siteInformationForm->isValid())
{
@@ -98,10 +112,10 @@
$this->redirect('settings/list');
}
}
-
+
// Handle default template form submission
if (null !== $request->getParameter('default_template'))
- {
+ {
$this->defaultTemplateForm->bind($request->getParameter('default_template'));
if ($this->defaultTemplateForm->isValid())
{
@@ -110,10 +124,10 @@
$this->redirect('settings/list');
}
}
-
+
// Handle default template form submission
if (null !== $request->getParameter('ui_label'))
- {
+ {
$this->uiLabelForm->bind($request->getParameter('ui_label'));
if ($this->uiLabelForm->isValid())
{
@@ -123,20 +137,20 @@
}
}
}
-
+
// Populate forms
$this->populateGlobalForm();
$this->populateSiteInformationForm();
$this->populateDefaultTemplateForm($this->defaultTemplateForm);
$this->populateUiLabelForm($this->uiLabelForm);
-
+
// Last symfony 1.0 forms holdout
$this->i18nLanguages = QubitSetting::getByScope('i18n_languages');
-
+
// make vars available to template
$this->availableLanguages = self::$availableLanguges;
}
-
+
/**
* Populate the Global form with database values (non-localized)
*/
@@ -148,7 +162,7 @@
$refImageMaxWidth =
QubitSetting::getSettingByName('reference_image_maxwidth');
$hitsPerPage = QubitSetting::getSettingByName('hits_per_page');
$multiRepository = QubitSetting::getSettingByName('multi_repository');
-
+
// Set defaults for global form
$this->globalForm->setDefaults(array(
'version' => (isset($version)) ?
$version->getValue(array('sourceCulture'=>true)) : null,
@@ -158,46 +172,49 @@
'multi_repository' => (isset($multiRepository)) ?
intval($multiRepository->getValue(array('sourceCulture'=>true))) : 1
));
}
-
+
/**
* Update the global settings in database (non-localized)
*/
protected function updateGlobalSettings()
{
$thisForm = $this->globalForm;
-
+
// Reference image max width
- if (null !== $refMaxWidth =
$thisForm->getValue('reference_image_maxwidth')) {
+ if (null !== $refMaxWidth =
$thisForm->getValue('reference_image_maxwidth'))
+ {
if (intval($refMaxWidth) && $refMaxWidth > 0)
{
$setting = QubitSetting::getSettingByName('reference_image_maxwidth');
-
+
// Force sourceCulture update to prevent discrepency in settings
between cultures
$setting->setValue($refMaxWidth, array('sourceCulture'=>true));
$setting->save();
}
}
-
+
// Hits per page
- if (null !== $hitsPerPage = $thisForm->getValue('hits_per_page')) {
+ if (null !== $hitsPerPage = $thisForm->getValue('hits_per_page'))
+ {
if (intval($hitsPerPage) && $hitsPerPage > 0)
{
$setting = QubitSetting::getSettingByName('hits_per_page');
-
+
// Force sourceCulture update to prevent discrepency in settings
between cultures
$setting->setValue($hitsPerPage, array('sourceCulture'=>true));
$setting->save();
}
}
-
+
// Multi-repository radio button
- if (null !== $multiRepositoryValue =
$thisForm->getValue('multi_repository')) {
+ if (null !== $multiRepositoryValue =
$thisForm->getValue('multi_repository'))
+ {
$setting = QubitSetting::getSettingByName('multi_repository');
-
- // Add setting if it's not already in the sampleData.yml file for
+
+ // Add setting if it's not already in the sampleData.yml file for
// backwards compatiblity with v1.0.3 sampleData.yml file
if (null === $setting)
- {
+ {
$setting = QubitSetting::createNewSetting('multi_repository', null,
array('deleteable'=>false));
}
@@ -205,11 +222,11 @@
$setting->setValue($multiRepositoryValue, array('sourceCulture'=>true));
$setting->save();
}
-
+
return $this;
}
-
-
+
+
/**
* Populate the site information settings from the database (localized)
*/
@@ -224,117 +241,120 @@
'site_title' => $this->siteTitle->getValue(array('culture' =>
$this->culture)),
'site_description' => $this->siteDescription->getValue(array('culture'
=> $this->culture))
));
-
+
return $this;
}
-
+
/**
* Update site information settings (localized)
*/
protected function updateSiteInformationSettings()
- {
+ {
$thisForm = $this->siteInformationForm;
-
- if (strlen($siteTitle = $thisForm->getValue('site_title'))) {
+
+ if (strlen($siteTitle = $thisForm->getValue('site_title')))
+ {
$setting = QubitSetting::getSettingByName('site_title');
-
+
// Create new QubitSetting if site_title doesn't already exist (backwards
// compatiblity with v1.0.3 sampleData.yml file)
if (null === $setting)
- {
+ {
$setting = QubitSetting::createNewSetting('site_title', null,
array('scope'=>'site_information', 'deleteable'=>false));
}
$setting->setValue($siteTitle);
$setting->save();
}
-
-
- if (strlen($siteDescription = $thisForm->getValue('site_description'))) {
+
+ if (strlen($siteDescription = $thisForm->getValue('site_description')))
+ {
$setting = QubitSetting::getSettingByName('site_description');
-
- // Create new QubitSetting if site_description doesn't already exist
+
+ // Create new QubitSetting if site_description doesn't already exist
// (backwards compatiblity with v1.0.3 sampleData.yml file)
if (null === $setting)
- {
+ {
$setting = QubitSetting::createNewSetting('site_description', null,
array('scope'=>'site_information', 'deleteable'=>false));
}
$setting->setValue($siteDescription);
$setting->save();
}
-
+
return $this;
}
-
+
/**
* Populate the default template settings from the database (non-localized)
*/
protected function populateDefaultTemplateForm($form)
- {
+ {
foreach ($form->getSettings() as $setting)
{
- $form->setDefault($setting->getName(),
$setting->getValue(array('sourceCulture' => true)));
+ $form->setDefault($setting->getName(),
$setting->getValue(array('sourceCulture' => true)));
}
}
-
+
/**
* Update default template db values with form values (non-localized)
- *
+ *
* @return $this;
*/
protected function updateDefaultTemplateSettings($form)
- {
+ {
foreach ($form->getSettings() as $setting)
{
- if (null !== $value = $form->getValue($setting->getName())) {
+ if (null !== $value = $form->getValue($setting->getName()))
+ {
$setting->setValue($value, array('sourceCulture'=>true)); // Force
source culture update
- $setting->save();
+ $setting->save();
}
}
-
+
// Add a new default template
if ($newName = $form->getValue('new_setting_name') && strlen($newValue =
$form->getValue('new_setting_value')))
{
$setting = QubitSetting::createNewSetting($newName, $newValue,
array('scope'=>$form->getScope()));
$setting->save();
}
-
+
return $this;
}
-
+
/**
* Populate the ui_label form with database values (localized)
*/
protected function populateUiLabelForm($form)
- {
+ {
foreach ($form->getSettings() as $setting)
{
- $form->setDefault($setting->getName(), $setting->getValue());
+ $form->setDefault($setting->getName(), $setting->getValue());
}
}
-
+
/**
* Update ui_label db values with form values (localized)
- *
+ *
* @return $this
*/
protected function updateUiLabelSettings($form)
{
foreach ($form->getSettings() as $setting)
{
- if (null !== $value = $form->getValue($setting->getName())) {
+ if (null !== $value = $form->getValue($setting->getName()))
+ {
$setting->setValue($value);
$setting->save();
}
}
-
+
// Add a new ui_label
if (null !== ($newName = $form->getValue('new_setting_name')) &&
strlen($newValue = $form->getValue('new_setting_value')))
{
$setting = QubitSetting::createNewSetting($newName, $newValue,
array('scope'=>$form->getScope()));
$setting->save();
}
-
+
return $this;
}
-
+
} // End class
\ No newline at end of file
Modified: trunk/qubit/data/fixtures/sampleData.yml
===================================================================
--- trunk/qubit/data/fixtures/sampleData.yml 2008-11-07 17:39:26 UTC (rev
1532)
+++ trunk/qubit/data/fixtures/sampleData.yml 2008-11-07 17:53:37 UTC (rev
1533)
@@ -3209,68 +3209,26 @@
source_culture: en
value: { en: 'open information management toolkit' }
QubitSetting_4:
- name: informationobject_edit
+ name: informationobject
scope: default_template
editable: '1'
deleteable: '0'
source_culture: en
- value: { en: editIsad }
- QubitSetting_5:
- name: informationobject_show
- scope: default_template
- editable: '1'
- deleteable: '0'
- source_culture: en
- value: { en: showIsad }
- QubitSetting_6:
- name: informationobject_list
- scope: default_template
- editable: '1'
- deleteable: '0'
- source_culture: en
- value: { en: list }
+ value: { en: isad }
QubitSetting_7:
- name: actor_edit
+ name: actor
scope: default_template
editable: '1'
deleteable: '0'
source_culture: en
- value: { en: editIsaar }
- QubitSetting_8:
- name: actor_show
- scope: default_template
- editable: '1'
- deleteable: '0'
- source_culture: en
- value: { en: showIsaar }
- QubitSetting_9:
- name: actor_list
- scope: default_template
- editable: '1'
- deleteable: '0'
- source_culture: en
- value: { en: list }
+ value: { en: isaar }
QubitSetting_10:
- name: repository_edit
+ name: repository
scope: default_template
editable: '1'
deleteable: '0'
source_culture: en
- value: { en: editIsdiah }
- QubitSetting_11:
- name: repository_show
- scope: default_template
- editable: '1'
- deleteable: '0'
- source_culture: en
- value: { en: showIsdiah }
- QubitSetting_12:
- name: repository_list
- scope: default_template
- editable: '1'
- deleteable: '0'
- source_culture: en
- value: { en: list }
+ value: { en: isdiah }
QubitSetting_13:
name: informationobject
scope: ui_label
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" 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.ca/group/qubit-commits?hl=en
-~----------~----~----~----~------~----~------~--~---