[Jifty-commit] r6096 - wifty/trunk/lib/Wifty/Model
Jifty commits
jifty-commit at lists.jifty.org
Fri Dec 12 11:29:33 EST 2008
Author: ruz
Date: Fri Dec 12 11:29:33 2008
New Revision: 6096
Modified:
wifty/trunk/lib/Wifty/Model/Page.pm
wifty/trunk/lib/Wifty/Model/Revision.pm
Log:
* add viewer methods in Revison and Page models
* add diff_to, diff_from, _diff methods in Revision model
Modified: wifty/trunk/lib/Wifty/Model/Page.pm
==============================================================================
--- wifty/trunk/lib/Wifty/Model/Page.pm (original)
+++ wifty/trunk/lib/Wifty/Model/Page.pm Fri Dec 12 11:29:33 2008
@@ -85,6 +85,11 @@
return ( $val, $msg );
}
+sub viewer {
+ my $self = shift;
+ return Jifty->web->new_action( class => 'UpdatePage', record => $self );
+}
+
sub _set {
my $self = shift;
my ( $val, $msg ) = $self->SUPER::_set(@_);
Modified: wifty/trunk/lib/Wifty/Model/Revision.pm
==============================================================================
--- wifty/trunk/lib/Wifty/Model/Revision.pm (original)
+++ wifty/trunk/lib/Wifty/Model/Revision.pm Fri Dec 12 11:29:33 2008
@@ -90,6 +90,42 @@
return $revisions->first;
}
+sub diff_from {
+ my $to = shift;
+ my $from = shift;
+ unless ( $from && $from->id ) {
+ $from = $to->previous;
+ }
+ return $to->_diff( $from, $to, @_ );
+}
+
+sub diff_to {
+ my $from = shift;
+ my $to = shift;
+ unless ( $to && $to->id ) {
+ $to = $from->next;
+ }
+ return $from->_diff( $from, $to, @_ );
+}
+
+sub _diff {
+ my $self = shift;
+ my ($from, $to, %opt) = @_;
+ require Text::Diff;
+ return Text::Diff::diff(
+ \( $from? $from->content : '' ),
+ \( $to ? $to->content : '' ),
+ { STYLE => 'Text::Diff::HTML', %opt }
+ );
+}
+
+sub viewer {
+ my $self = shift;
+ my $viewer = $self->page->viewer;
+ $viewer->argument_value( content => $self->content );
+ return $viewer;
+}
+
=head2 current_user_can RIGHT
We're using L<Jifty::RightsFrom> to pass off ACL decisions to this
More information about the Jifty-commit
mailing list