Ejemplo n.º 1
0
 def merge(self, id, other_id):
     try:
         old = Venue.get(id)
         new = Venue.get(other_id)
         Venue.merge(old, new)
         # add this to fixup dict, so will never have to merge again
         venue_fixup_dict[old.name] = new.name
         venue_fixup_dict.tidy(old.name, new.name)
         flash("%s merged into %s and learned" % (old.name, new.name))
     except SQLObjectNotFound:
         flash("Could not move")
     util.redirect("/venues/%s" % other_id)
Ejemplo n.º 2
0
    def edit(self, id=0, **kw):
        form_vals = {}
        template = ".templates.event.add"
        if id:
            try:
                e = Event.get(id)
                form_vals = util.so_to_dict(e)
                form_vals['artists'] = "\n".join([a.name for a in e.artists])
                form_vals['venue'] = dict(text=e.venue.name)
                template = ".templates.event.edit"
            except SQLObjectNotFound:
                pass
        else:
            form_vals = dict(id=id)
        try:
            a = Artist.get(int(kw['artist_prefill']))
            form_vals['artists'] = a.name
        except (SQLObjectNotFound, KeyError):
            pass
        try:
            v = Venue.get(int(kw['venue_prefill']))
            flash(form_vals)
            form_vals['venue'] = dict(text=v.name)
        except (SQLObjectNotFound, KeyError):
            pass

        return dict(tg_template=template, event_form=event_form, form_vals=form_vals)
Ejemplo n.º 3
0
 def edit(self, id=0):
     if id:
         try:
             v = Venue.get(id)
         except SQLObjectNotFound:
             flash("Invalid ID")
             util.redirect("/venues/list")
     else:
         v = {}
     return dict(venue_form=venue_form, form_vals=v)
Ejemplo n.º 4
0
 def delete(self, id):
     try:
         v = Venue.get(id)
         v.destroySelf()
         flash("Deleted")
     except SQLObjectNotFound:
         flash("Not Found")
     except SQLObjectIntegrityError:
         flash("Cannot delete")
     util.redirect("/venues/list")
Ejemplo n.º 5
0
 def untrack(self, id, viewing="no"):
     u = identity.current.user
     try:
         v = Venue.get(id)
         if v in u.venues:
             u.removeVenue(v)
     except SQLObjectNotFound:
         flash("Venue not found")
         util.redirect("/")
     if viewing == "no":
         util.redirect_previous()
     else:
         util.redirect("/venues/%s" % v.id)
Ejemplo n.º 6
0
 def save(self, id=0, **kw):
     if id:
         try:
             v = Venue.get(id)
             v.set(**v.clean_dict(kw))
             flash("Updated")
         except SQLObjectNotFound:
             flash("Update Error")
     else:
         v = Venue(added_by=identity.current.user, **Venue.clean_dict(kw))
         flash("Added")
     v.approved = datetime.now()
     util.redirect("/venues/%s" % v.id)
Ejemplo n.º 7
0
 def dyntrack(self, id, track):
     u = identity.current.user
     ret = "Error"
     try:
         v = Venue.get(id)
         if track == "true" and v not in u.venues:
             u.addVenue(v)
             ret = "Tracked"
         if track == "false" and v in u.venues:
             u.removeVenue(v)
             ret = "Untracked"
     except SQLObjectNotFound:
         pass
     return ret
Ejemplo n.º 8
0
    def show(self, id, list_all=0):
        try:
            v = Venue.get(id)
        except SQLObjectNotFound:
            flash("Venue ID not found")
            util.redirect("/venues/list")
        except ValueError:
            try:
                v = Venue.byNameI(urllib.unquote_plus(id))
            except SQLObjectNotFound:
                flash("Venue ID not found")
                util.redirect("/venues/list")
            
        is_tracked = identity.current.user and v in identity.current.user.venues

        past_events = v.past_events.orderBy('-date')
        if not list_all:
            past_events = past_events[:5]
        future_events = v.future_events.orderBy('date')

        return dict(venue=v, past_events=past_events, future_events=future_events,
            description=util.desc_format(v.description), googlemap=googlemap,
            tracked_count=v.users.count(), is_tracked=is_tracked)