Search in sources :

Example 1 with Href

use of org.takes.misc.Href in project wring by yegor256.

the class TkEvents method source.

/**
 * Convert event to Xembly.
 * @param event The event
 * @return Xembly
 * @throws IOException If fails
 */
private static XeSource source(final Event event) throws IOException {
    final Iterable<Directive> dirs = event.asXembly();
    final String title = new XePrint(dirs).text("{/event/title/text()}");
    final String hash = new XePrint(dirs).text("{/event/md5/text()}");
    return new XeDirectives(new Directives().append(dirs).append(new XeLink("delete", new Href("/event-delete").with("title", title).with("hash", hash)).toXembly()).append(new XeLink("down", new Href("/event-down").with("title", title)).toXembly()));
}
Also used : Directives(org.xembly.Directives) XeDirectives(org.takes.rs.xe.XeDirectives) Href(org.takes.misc.Href) XePrint(io.wring.model.XePrint) XeLink(org.takes.rs.xe.XeLink) Directive(org.xembly.Directive) XeDirectives(org.takes.rs.xe.XeDirectives)

Example 2 with Href

use of org.takes.misc.Href in project wring by yegor256.

the class TkEventDelete method act.

@Override
public Response act(final Request req) throws IOException {
    final User user = this.base.user(new RqUser(req).urn());
    final Href href = new RqHref.Base(req).href();
    final Event event = user.events().event(href.param("title").iterator().next());
    final String hash = new XePrint(event.asXembly()).text("{/event/md5/text()}");
    if (!hash.equals(href.param("hash").iterator().next())) {
        throw new RsForward(new RsFlash("Reload the page, the event has changed", Level.WARNING));
    }
    final String msg = new XePrint(event.asXembly()).text("Event \"{/event/title/text()}\" deleted");
    event.delete();
    return new RsForward(new RsFlash(msg));
}
Also used : RqHref(org.takes.rq.RqHref) User(io.wring.model.User) RsFlash(org.takes.facets.flash.RsFlash) RqHref(org.takes.rq.RqHref) Href(org.takes.misc.Href) Event(io.wring.model.Event) XePrint(io.wring.model.XePrint) RsForward(org.takes.facets.forward.RsForward)

Aggregations

XePrint (io.wring.model.XePrint)2 Href (org.takes.misc.Href)2 Event (io.wring.model.Event)1 User (io.wring.model.User)1 RsFlash (org.takes.facets.flash.RsFlash)1 RsForward (org.takes.facets.forward.RsForward)1 RqHref (org.takes.rq.RqHref)1 XeDirectives (org.takes.rs.xe.XeDirectives)1 XeLink (org.takes.rs.xe.XeLink)1 Directive (org.xembly.Directive)1 Directives (org.xembly.Directives)1