Skip to content

Commit

Permalink
r1608@mbp: claco | 2008-05-20 22:10:09 -0400
Browse files Browse the repository at this point in the history
 Calalyst cart live tests now pass


git-svn-id: http://svn.icantfocus.com/CPAN/Mango/trunk@2162 52a70e3a-55ec-0310-b14e-7917f69ecacc
  • Loading branch information
claco committed May 21, 2008
1 parent ebc8de4 commit c00243c
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 45 deletions.
34 changes: 17 additions & 17 deletions Mango.tmproj
Expand Up @@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>currentDocument</key>
<string>share/templates/tt/html/products/list</string>
<string>lib/Mango/Form.pm</string>
<key>documents</key>
<array>
<dict>
Expand All @@ -18,7 +18,7 @@
</dict>
</array>
<key>fileHierarchyDrawerWidth</key>
<integer>290</integer>
<integer>288</integer>
<key>metaData</key>
<dict>
<key>lib/Mango/Catalyst/Controller/Checkout.pm</key>
Expand All @@ -35,42 +35,42 @@
<key>firstVisibleLine</key>
<integer>5</integer>
</dict>
<key>share/templates/tt/html/cart/view</key>
<key>lib/Mango/Form.pm</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>77</integer>
<integer>0</integer>
<key>line</key>
<integer>27</integer>
<integer>0</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>0</integer>
<integer>20</integer>
</dict>
<key>share/templates/tt/html/login/index</key>
<key>t/catalyst/controller_form.t</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>64</integer>
<integer>21</integer>
<key>line</key>
<integer>0</integer>
<integer>53</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>0</integer>
<integer>36</integer>
</dict>
<key>share/templates/tt/html/products/list</key>
<key>t/form.t</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>70</integer>
<integer>0</integer>
<key>line</key>
<integer>1</integer>
<integer>24</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
Expand Down Expand Up @@ -108,13 +108,13 @@
</dict>
<key>openDocuments</key>
<array>
<string>share/templates/tt/html/login/index</string>
<string>share/templates/tt/html/cart/view</string>
<string>share/templates/tt/html/products/list</string>
<string>lib/Mango/Form.pm</string>
<string>t/catalyst/controller_form.t</string>
<string>t/form.t</string>
</array>
<key>showFileHierarchyDrawer</key>
<true/>
<key>windowFrame</key>
<string>{{300, 27}, {1620, 1151}}</string>
<string>{{1082, 54}, {838, 1124}}</string>
</dict>
</plist>
40 changes: 17 additions & 23 deletions lib/Mango/Form.pm
Expand Up @@ -46,7 +46,7 @@ sub new {

sub action {
my ( $self, $action ) = @_;
warn "SETTING ACTION: $action";

if ($action) {
$self->_form->action("$action");
}
Expand All @@ -63,6 +63,7 @@ sub clone {
$self->localizer(undef);

my $form = Clone::clone($self);
$form->_form($self->_form->clone);

$self->params($params);
$self->localizer($localizer);
Expand All @@ -81,31 +82,24 @@ sub render {
my %args = @_;
my $form = $self->_form;

## CGI::FB Hates URI Objects
if ( exists $args{'action'} ) {
$args{'action'} = $args{'action'} . '';
foreach my $arg (keys %args) {
next if $arg =~ /values/i;
$self->$arg($args{$arg});
}

#foreach my $field ( $form->fields ) {
# $field->label(
# $self->localizer->(
# $self->labels->{ $field->name },
# $field->name
# )
# );
#}
#$form->submit( $self->localizer->( $self->labels->{'submit'} ) );

## keeps CGI::FB from bitching about empty basename
local $ENV{'SCRIPT_NAME'} ||= '';
my $fields = $form->get_fields;
if (my $values = $args{'values'}) {
for (my $i = 0; $i < scalar @{$values};$i++) {
next unless $fields->[$i];

my $render = $form->render(%args);
$fields->[$i]->value($values->[$i]);
}
}

if (lc $self->{'mode'} eq 'xhtmlstrict') {
$render =~ s/(\s+name=\".*\")//i;
};
$form->method(lc $form->method);

return $render;
$form->process;
return $form->render;
}

sub values {
Expand All @@ -132,7 +126,7 @@ sub parse {

my $fields = delete $config->{'fields'};
my $indicator = '_submitted_' . ($config->{'id'} || $config->{'name'} || 'noidorname');
push @{$fields}, { $indicator => {type => 'Submit'}};
push @{$fields}, { $indicator => {type => 'Hidden', value => 1}};
$config->{'indicator'} = $indicator;

delete $config->{'sticky'};
Expand Down Expand Up @@ -170,7 +164,7 @@ sub _parse_fields {
$type =~ s/checkbox/Checkbox/i;

if ($type eq 'Checkbox' && exists $field->{'multiple'} && $field->{'multiple'}) {
$type => 'Checkboxgroup';
$type = 'Checkboxgroup';
};

## migrate disabled
Expand Down
3 changes: 1 addition & 2 deletions share/templates/tt/html/cart/view
Expand Up @@ -31,8 +31,7 @@
[% SET form = c.forms('cart_items_delete') %]
[% CALL form.id(form.id _ '_' _ item.id) %]
[% form.render(
'action', c.uri_for_resource('mango/cart/items', 'delete', [item.id]) _ '/',
'values', [item.id, item.quantity]
'action', c.uri_for_resource('mango/cart/items', 'delete', [item.id]) _ '/'
) %]
</td>
</tr>
Expand Down
2 changes: 1 addition & 1 deletion share/templates/tt/html/errors/401
@@ -1,4 +1,4 @@
[% page.title = c.localize('UNAUTHORIZED') %]
[% page.title = c.localize('UNAUTHORIZED'), page.id = 'error-401' %]

<p>
[% c.localize('UNAUTHORIZED_MESSAGE') %]
Expand Down
2 changes: 1 addition & 1 deletion share/templates/tt/html/errors/404
@@ -1,4 +1,4 @@
[% page.title = c.localize('RESOURCE_NOT_FOUND') %]
[% page.title = c.localize('RESOURCE_NOT_FOUND'), page.id = 'error-404' %]

<p>
[% c.localize('RESOURCE_NOT_FOUND_MESSAGE') %]
Expand Down
3 changes: 2 additions & 1 deletion t/lib/Mango/Test/Class.pm
Expand Up @@ -64,6 +64,7 @@ sub validate_markup {
if ( $v->is_valid ) {
pass('content is valid');
} else {
my ($package, $filename, $line) = caller;
my $message;
foreach my $error ( @{$v->errors} ) {
$message .= sprintf("line: %s, column: %s error: %s\n",
Expand All @@ -73,7 +74,7 @@ sub validate_markup {
$message .= ' ' . $lines[$error->line - 1] . "\n";
}

fail 'content is not valid' or diag $message;;
fail "content is not valid at $package line $line" or diag $message;;
}
} else {
fail('Failed to validate the content: ' . $v->validator_error);
Expand Down

0 comments on commit c00243c

Please sign in to comment.