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)
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)
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)
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")
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)
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)
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
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)