Re: DRY

Aug. 3rd, 2007 11:04 am
shoorick: (Default)
[personal profile] shoorick
После небольшой обрабоки напильником разница в двух сходных функциях стала совсем незначительной
1c1
< sub change : Local {
---
> sub change_do : Local {
29,33c29,49
< 			# Write form to stash variable for use in template
< 			$c->stash->{'widget_result'} = $w->result;
< 			# Set the template
< 			$c->stash->{'template'} = 'hw_form.tt2';
< 			$c->stash->{'title'} = 'Изменить пароль';
---
> 
> 			# process the form parameters
> 			my $result = $w->process($c->req);
> 			$c->stash->{'widget_result'} = $result;
> 			
> 			# if there are no errors save the form values to the object
> 			if ($result->has_errors) {
> 				$c->stash->{'title'} = 'Пароли неверны';
> 				$c->stash->{'message'} = 'Исправьте ошибки';
> 				$c->stash->{'message_class'} = 'excl';
> 				
> 				# Set the template
> 				$c->stash->{'template'} = 'hw_form.tt2';
> 			}
> 			else {	# Без ошибок
> 				$user->update({
> 					'password' => Digest::SHA1::sha1_hex($c->req->params->{'password'})
> 				});
> 				# Set a status message for the user
> 				$c->forward('/message', ['Пароль успешно изменён', 'ok', '/user/show/' . $id]);
> 			} # if
42c58
< } # sub change
---
> } # sub change_do
, из чего следует, что объединить их — как два байта переслать, что сейчас и сделаю. Критерий выбора того, что делать (рисовать пустую форму или пытаться обработать ввод) тоже несложен: если есть входные данные ($c->req->params не пуст) — обрабатываем, если нет — просто рисуем.

Date: 2007-08-03 06:45 am (UTC)
From: [identity profile] a-cher.livejournal.com
Занятно...
+1

Free best online.

Date: 2008-04-23 05:48 pm (UTC)
From: (Anonymous)
Hi,good site!

Profile

shoorick: (Default)
shoorick

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18 19 2021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 23rd, 2026 07:20 am
Powered by Dreamwidth Studios