Delete design when user chooses to restore default design, instead

of saving a design with site defaults.
This commit is contained in:
Zach Copley 2009-12-02 16:44:23 -08:00
parent 3e38d376a9
commit 4f359d2a8b
4 changed files with 23 additions and 73 deletions

View File

@ -173,17 +173,12 @@ class GroupDesignSettingsAction extends DesignSettingsAction
function getWorkingDesign() function getWorkingDesign()
{ {
$design = null; $design = null;
if (isset($this->group)) { if (isset($this->group)) {
$design = $this->group->getDesign(); $design = $this->group->getDesign();
} }
if (empty($design)) {
$design = $this->defaultDesign();
}
return $design; return $design;
} }
@ -197,7 +192,13 @@ class GroupDesignSettingsAction extends DesignSettingsAction
function showContent() function showContent()
{ {
$this->showDesignForm($this->getWorkingDesign()); $design = $this->getWorkingDesign();
if (empty($design)) {
$design = Design::siteDesign();
}
$this->showDesignForm($design);
} }
/** /**

View File

@ -96,14 +96,8 @@ class UserDesignSettingsAction extends DesignSettingsAction
function getWorkingDesign() function getWorkingDesign()
{ {
$user = common_current_user(); $user = common_current_user();
$design = $user->getDesign(); $design = $user->getDesign();
if (empty($design)) {
$design = $this->defaultDesign();
}
return $design; return $design;
} }
@ -117,7 +111,13 @@ class UserDesignSettingsAction extends DesignSettingsAction
function showContent() function showContent()
{ {
$this->showDesignForm($this->getWorkingDesign()); $design = $this->getWorkingDesign();
if (empty($design)) {
$design = Design::siteDesign();
}
$this->showDesignForm($design);
} }
/** /**

View File

@ -134,7 +134,6 @@ class ApiAction extends Action
$twitter_user['protected'] = false; # not supported by StatusNet yet $twitter_user['protected'] = false; # not supported by StatusNet yet
$twitter_user['followers_count'] = $profile->subscriberCount(); $twitter_user['followers_count'] = $profile->subscriberCount();
$defaultDesign = Design::siteDesign();
$design = null; $design = null;
$user = $profile->getUser(); $user = $profile->getUser();
@ -145,7 +144,7 @@ class ApiAction extends Action
} }
if (empty($design)) { if (empty($design)) {
$design = $defaultDesign; $design = Design::siteDesign();
} }
$color = Design::toWebColor(empty($design->backgroundcolor) ? $defaultDesign->backgroundcolor : $design->backgroundcolor); $color = Design::toWebColor(empty($design->backgroundcolor) ? $defaultDesign->backgroundcolor : $design->backgroundcolor);

View File

@ -333,49 +333,6 @@ class DesignSettingsAction extends AccountSettingsAction
$this->autofocus('design_background-image_file'); $this->autofocus('design_background-image_file');
} }
/**
* Get a default design
*
* @return Design design
*/
function defaultDesign()
{
$defaults = common_config('site', 'design');
$design = new Design();
try {
$color = new WebColor();
$color->parseColor($defaults['backgroundcolor']);
$design->backgroundcolor = $color->intValue();
$color->parseColor($defaults['contentcolor']);
$design->contentcolor = $color->intValue();
$color->parseColor($defaults['sidebarcolor']);
$design->sidebarcolor = $color->intValue();
$color->parseColor($defaults['textcolor']);
$design->textcolor = $color->intValue();
$color->parseColor($defaults['linkcolor']);
$design->linkcolor = $color->intValue();
$design->backgroundimage = $defaults['backgroundimage'];
$design->disposition = $defaults['disposition'];
} catch (WebColorException $e) {
common_log(LOG_ERR, _('Bad default color settings: ' .
$e->getMessage()));
}
return $design;
}
/** /**
* Save the background image, if any, and set its disposition * Save the background image, if any, and set its disposition
* *
@ -445,24 +402,17 @@ class DesignSettingsAction extends AccountSettingsAction
function restoreDefaults() function restoreDefaults()
{ {
$design = $this->getWorkingDesign(); $design = $this->getWorkingDesign();
$default = $this->defaultDesign();
$original = clone($design);
$design->backgroundcolor = $default->backgroundcolor; if (!empty($design)) {
$design->contentcolor = $default->contentcolor;
$design->sidebarcolor = $default->sidebarcolor;
$design->textcolor = $default->textcolor;
$design->linkcolor = $default->linkcolor;
$design->setDisposition(false, true, false); $result = $design->delete();
$result = $design->update($original); if ($result === false) {
common_log_db_error($design, 'DELETE', __FILE__);
if ($result === false) { $this->showForm(_('Couldn\'t update your design.'));
common_log_db_error($design, 'UPDATE', __FILE__); return;
$this->showForm(_('Couldn\'t update your design.')); }
return;
} }
$this->showForm(_('Design defaults restored.'), true); $this->showForm(_('Design defaults restored.'), true);