def POST(self): flagid = self.env["members"][0] flag = fm.flagORM.getByID(flagid) if flag.userID != self.session.id: self.session.pushAlert("You can't delete a flag you don't own!", "Can't do that!", "error") self.head = ("303 SEE OTHER", [("location", "/you/flags")]) return pubFlags = pubfc.userPublicFlagsCollection(self.session.id) privFlags = fc.userFlagsCollection(self.session.id) if flag.visibility: pubFlags.delObject(flag.id) privFlags.delObject(flag.id) flag.delete() su.updateSearch() self.session.pushAlert("Flag `%s` deleted" % flag.title, "Bye!", "warning") self.head = ("303 SEE OTHER", [("location", "/you/flags")])
def POST(self): flagid = self.env["members"][0] flag = flagORM.getByID(flagid) pubFlags = pubfc.userPublicFlagsCollection(flag.userID) privFlags = fc.userFlagsCollection(flag.userID) if flag.visibility: pubFlags.delObject(flag.id) privFlags.delObject(flag.id) flag.delete() self.session.pushAlert("Flag `%s` deleted" % flag.title, "Bye!", "warning") self.head = ("303 SEE OTHER", [("location", "/admin/flags")])
def POST(self): title = self.env["members"]["title"] if self.env["members"].has_key("title") else None description = self.env["members"]["description"] or "" labels = self.env["members"]["labels"] if self.env["members"].has_key("labels") else "" url = self.env["members"]["url"] if self.env["members"].has_key("url") else "" visibility = True if self.env["members"].has_key("vis") and self.env["members"]["vis"] == "on" else False if not title: self.session.pushAlert("We can't make a flag with no title!", "Whoa there kiddo...", "error") view = flagNewTmpl(searchList=[self.tmplSearchList]) view.titleError = True view.description = description view.labels = labels view.url = url view.vis = visibility return view try: labels = list(set(json.loads(labels))) except: labels = list(set(labels.strip(" ").split(","))) for label in range(len(labels)): labels[label] = mdu.cleanInput(labels[label]) newFlag = fm.flagORM(title=mdu.cleanInput(title), description=description, labels=labels, url=url, userID=self.session.id, visibility=visibility) pubFlags = pubfc.userPublicFlagsCollection(self.session.id) privFlags = fc.userFlagsCollection(self.session.id) if visibility: pubFlags.addObject(newFlag.id) privFlags.addObject(newFlag.id) newFlag.save() su.updateSearch() self.session.pushAlert("Hey look, you've made another flag!", "Horay!", "success") self.head = ("303 SEE OTHER", [("location", str("/flags/view/%s"%newFlag.id))])
def GET(self): """ """ page = self.env["members"]["p"] \ if self.env["members"].has_key("p") else 1 viewType = self.env["members"]["v"] \ if self.env["members"].has_key("v") else "public" view = youFlagsTmpl(searchList=[self.tmplSearchList]) if viewType == "public": flags = pubfc.userPublicFlagsCollection(self.session.id) flags.paginate(page, 25) flags.fetch() flags.format() elif viewType == "private": flags = fc.userFlagsCollection(self.session.id) flags.withoutCollection(pubfc.userPublicFlagsCollection(self.session.id)) flags.paginate(page, 25) flags.fetch() flags.format() view.section = viewType if self.env["cfg"].enableModalFlagDeletes: view.scripts = ["handlebars_1.0.min", "jquery.json-2.4.min", "adminModal.flagr", "editForm.flagr", "deleteFlagModal.flagr"] flagsTmpl = flagsListTmpl(searchList=[self.tmplSearchList]) flagsTmpl.flags = flags view.flags = str(flagsTmpl) return view