2010/1/9 Alex Povolotsky <tark...@over.ru>: > Hello! > > I'm working on a (more or less) flexible system with plugins should be > installed just like controllers; some basic information about them > (particulary, numerical id) must be kept in database. > > Plugins should be handle some queries in /admin/service/$servicename > > I'd like to put 'smart links' in plugin information table - i.e. if > something handles /admin/service/$servicename/control, link exists; if no - > instead of link text in different style is presented, telling that plugin > has not been installed. > > construction like > > [% SET path=stype.path %] > [% IF c.can('/admin/service/$path/control') %] > <a href ... > > [% ELSE %] > message here > [% END %] > > is ugly; maybe someone points me to some nicer idea? I was thinking of some > function in Schema/Result/Servicetype.pm returning link or warning, but how > do I access the Catalyst object from it? Or I just have to pass it as > argument? > > Alex. >
The way I did this is using the namespace and action, since the namespace is configurable. http://search.cpan.org/~bobtfish/Catalyst-Runtime-5.80016/lib/Catalyst.pm#$c->get_action(_$action,_$namespace_) If it returns undef, the action doesn't exist in the defined namespace. -J _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/