예제 #1
0
파일: controllers.py 프로젝트: m50d/tumpire
    def saveparticipant(self,new,eid,player,pseudonym="",id=0,submit=""):
         if(new):
	     try:
	         for q in Event.get(eid).participants:
	             if(q.player.user_name==player):
		         flash("Error: %s is already a participant in this event"%player)
		         raise redirect(url("/editevent/"+str(eid)))
	         p=Participant(event=Event.get(eid),player=User.by_user_name(player),pseudonym=Pseudonym.byName(player))
             except SQLObjectNotFound:
	         flash("Error: Tried to add a participant to a nonexistent event")
		 raise redirect(url("/news"))
	 else:
	     try:
	         p=Participant.get(id)
             except SQLObjectNotFound:
	         flash("Error: Tried to edit a nonexistent participant")
		 raise redirect(url("/news"))
	     try:
	         p.player=User.by_user_name(player)
  	         p.pseudonym=Pseudonym.byName(pseudonym)
	     except SQLObjectNotFound:
	         flash("Error: Tried to change pseudonym to one that doesn't exist, or change pseudonym for a player that doesn't exist")
		 raise redirect(url("/news"))
	 flash("Participant updated!")
	 raise redirect(url("/editevent/"+str(eid)))
예제 #2
0
 def savereport(self, new, eid, player, text, id=0):
     if (new):
         try:
             r = Report(speaker=User.by_user_name(player),
                        event=Event.get(eid),
                        content=text)
         except SQLObjectNotFound:
             flash(
                 "Error: Tried to add report by a nonexistent player, or to a nonexistent event"
             )
             raise redirect(url("/news"))
     else:
         try:
             r = Report.get(id)
             r.content = text
             #nothing else really should be being edited, but will update it all for future compatibility
             r.speaker = User.by_user_name(player)
             r.event = Event.get(eid)
         except SQLObjectNotFound:
             flash(
                 "Error: Tried to edit a nonexistent report, or a report for a nonexistent event, or write a report as a nonexistent player."
             )
             raise redirect(url("/news"))
     flash("Report updated!")
     raise redirect(url("/news"))
예제 #3
0
 def saveparticipant(self, new, eid, player, pseudonym="", id=0, submit=""):
     if (new):
         try:
             for q in Event.get(eid).participants:
                 if (q.player.user_name == player):
                     flash(
                         "Error: %s is already a participant in this event"
                         % player)
                     raise redirect(url("/editevent/" + str(eid)))
             p = Participant(event=Event.get(eid),
                             player=User.by_user_name(player),
                             pseudonym=Pseudonym.byName(player))
         except SQLObjectNotFound:
             flash(
                 "Error: Tried to add a participant to a nonexistent event")
             raise redirect(url("/news"))
     else:
         try:
             p = Participant.get(id)
         except SQLObjectNotFound:
             flash("Error: Tried to edit a nonexistent participant")
             raise redirect(url("/news"))
         try:
             p.player = User.by_user_name(player)
             p.pseudonym = Pseudonym.byName(pseudonym)
         except SQLObjectNotFound:
             flash(
                 "Error: Tried to change pseudonym to one that doesn't exist, or change pseudonym for a player that doesn't exist"
             )
             raise redirect(url("/news"))
     flash("Participant updated!")
     raise redirect(url("/editevent/" + str(eid)))
예제 #4
0
 def deleteevent(self, id):
     try:
         Event.delete(id)
         flash("Event deleted!")
         raise redirect(url("/news"))
     except SQLObjectNotFound:
         flash("Error: Tried to delete an event that doesn't exist")
         raise redirect(url("/news"))
예제 #5
0
파일: controllers.py 프로젝트: m50d/tumpire
    def deleteevent(self,id):
        try:
	    Event.delete(id)
	    flash("Event deleted!")
	    raise redirect(url("/news"))
        except SQLObjectNotFound:
	    flash("Error: Tried to delete an event that doesn't exist")
	    raise redirect(url("/news"))
예제 #6
0
 def addinnocentkill(self, eid):
     try:
         return {'event': Event.get(eid)}
     except SQLObjectNotFound:
         flash(
             "Error: Tried to add an innocent kill to a nonexistent event.")
         raise redirect(url("/news"))
예제 #7
0
파일: controllers.py 프로젝트: m50d/tumpire
    def savereport(self,new,eid,player,text,id=0):
        if(new):
	    try:
    	        r=Report(speaker=User.by_user_name(player),event=Event.get(eid),content=text)
            except SQLObjectNotFound:
	        flash("Error: Tried to add report by a nonexistent player, or to a nonexistent event")
		raise redirect(url("/news"))
	else:
	    try:
                r=Report.get(id)
	        r.content=text
  	        #nothing else really should be being edited, but will update it all for future compatibility
	        r.speaker=User.by_user_name(player)
	        r.event=Event.get(eid)
	    except SQLObjectNotFound:
	        flash("Error: Tried to edit a nonexistent report, or a report for a nonexistent event, or write a report as a nonexistent player.")
		raise redirect(url("/news"))
	flash("Report updated!")
	raise redirect(url("/news"))
예제 #8
0
파일: controllers.py 프로젝트: m50d/tumpire
    def saveinnocentkill(self,eid,killer,licit):
      try:
        k=InnocentKill(event=Event.get(eid),killer=User.by_user_name(killer),licit=licit)
	self.updatescores()
	flash("Innocent Kill added!")
	for l in Kill.select():
	    if((l.victim == k.killer) and l.event.datetime < k.event.datetime and l.event.datetime >= (k.event.datetime - datetime.timedelta(0,14400))):
                flash("Warning: %s is listed as being killed in the event %s, which was less than four hours before this event."%(l.victim.user_name,str(l.event)))
	raise redirect(url("/editevent/"+str(eid)))
      except SQLObjectNotFound:
          flash("Error: Tried to add an innocent kill to a nonexistent event.")
	  raise redirect(url("/news"))
예제 #9
0
파일: controllers.py 프로젝트: m50d/tumpire
    def savekill(self,eid,killer,victim):
      try:
        for k in Event.get(eid).kills:
	    if(k.victim==User.by_user_name(victim)):
	        flash("Error: %s is already marked as being killed in this event, by %s. If they didn't kill %s, delete that kill first."%(victim,k.killer,victim))
		raise redirect(url("/editevent/"+str(eid)))
        k=Kill(event=Event.get(eid),killer=User.by_user_name(killer),victim=User.by_user_name(victim))
	self.updatescores()
	flash("Kill added!")
	for l in Kill.select():
	  if(l.id!=k.id):
	    if((l.victim == k.victim or l.victim==k.killer) and l.event.datetime < k.event.datetime and l.event.datetime >= (k.event.datetime - datetime.timedelta(0,14400))):
                flash("Warning: %s is listed as being killed in the event %s, which was less than four hours before this event."%(l.victim.user_name,str(l.event)))
            if(l.victim == k.victim and k.event.datetime <= l.event.datetime and k.event.datetime >= (l.event.datetime - datetime.timedelta(0,14400))):
	        flash("Warning: %s is listed as dying again in the event %s, which is less than four hours after this event."%(k.victim.user_name,str(l.event)))
	    if(l.killer == k.victim and k.event.datetime < l.event.datetime and k.event.datetime >= (l.event.datetime - datetime.timedelta(0,14400))):
	        flash("Warning: %s is listed as killing someone else in the event %s, which is less than four hours after this event."%(k.victim.user_name,str(l.event)))
	raise redirect(url("/editevent/"+str(eid)))
      except SQLObjectNotFound:
          flash("Error: Tried to add a kill to a nonexistent event.")
	  raise redirect(url("/news"))
예제 #10
0
 def savekill(self, eid, killer, victim):
     try:
         for k in Event.get(eid).kills:
             if (k.victim == User.by_user_name(victim)):
                 flash(
                     "Error: %s is already marked as being killed in this event, by %s. If they didn't kill %s, delete that kill first."
                     % (victim, k.killer, victim))
                 raise redirect(url("/editevent/" + str(eid)))
         k = Kill(event=Event.get(eid),
                  killer=User.by_user_name(killer),
                  victim=User.by_user_name(victim))
         self.updatescores()
         flash("Kill added!")
         for l in Kill.select():
             if (l.id != k.id):
                 if ((l.victim == k.victim or l.victim == k.killer)
                         and l.event.datetime < k.event.datetime
                         and l.event.datetime >=
                     (k.event.datetime - datetime.timedelta(0, 14400))):
                     flash(
                         "Warning: %s is listed as being killed in the event %s, which was less than four hours before this event."
                         % (l.victim.user_name, str(l.event)))
                 if (l.victim == k.victim
                         and k.event.datetime <= l.event.datetime
                         and k.event.datetime >=
                     (l.event.datetime - datetime.timedelta(0, 14400))):
                     flash(
                         "Warning: %s is listed as dying again in the event %s, which is less than four hours after this event."
                         % (k.victim.user_name, str(l.event)))
                 if (l.killer == k.victim
                         and k.event.datetime < l.event.datetime
                         and k.event.datetime >=
                     (l.event.datetime - datetime.timedelta(0, 14400))):
                     flash(
                         "Warning: %s is listed as killing someone else in the event %s, which is less than four hours after this event."
                         % (k.victim.user_name, str(l.event)))
         raise redirect(url("/editevent/" + str(eid)))
     except SQLObjectNotFound:
         flash("Error: Tried to add a kill to a nonexistent event.")
         raise redirect(url("/news"))
예제 #11
0
 def saveevent(self, new, headline, timestamp, id=0):
     try:
         t = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S")
     except ValueError:
         flash("Error: You entered an invalid date/time")
         raise redirect(url("/news"))
     if (t.year <= 1900 or t.year >= 2020):
         flash("Error: Absurd year %d" % t.year)
         raise redirect(url("/news"))
     if (new):
         e = Event(headline=headline, datetime=t)
         flash("Event Added!")
         raise redirect(url("/editevent/" + str(e.id)))
     else:
         try:
             e = Event.get(id)
         except SQLObjectNotFound:
             flash("Error: Tried to edit a nonexistent event")
             raise redirect(url("/news"))
         e.headline = headline
         e.datetime = t
     flash("Event Updated!")
     raise redirect(url("/news"))
예제 #12
0
파일: controllers.py 프로젝트: m50d/tumpire
    def saveevent(self,new,headline,timestamp,id=0):
        try:
            t=datetime.datetime.strptime(timestamp,"%Y-%m-%d %H:%M:%S")
	except ValueError:
	    flash("Error: You entered an invalid date/time")
	    raise redirect(url("/news"))
	if(t.year <= 1900 or t.year >= 2020):
	    flash("Error: Absurd year %d"%t.year)
	    raise redirect(url("/news"))
        if(new):
	    e=Event(headline=headline,datetime=t)
	    flash("Event Added!")
	    raise redirect(url("/editevent/"+str(e.id)))
	else:
	    try:
	        e=Event.get(id)
	    except SQLObjectNotFound:
	        flash("Error: Tried to edit a nonexistent event")
		raise redirect(url("/news"))
	    e.headline=headline
	    e.datetime=t
        flash("Event Updated!")
        raise redirect(url("/news"))
예제 #13
0
 def saveinnocentkill(self, eid, killer, licit):
     try:
         k = InnocentKill(event=Event.get(eid),
                          killer=User.by_user_name(killer),
                          licit=licit)
         self.updatescores()
         flash("Innocent Kill added!")
         for l in Kill.select():
             if ((l.victim == k.killer)
                     and l.event.datetime < k.event.datetime
                     and l.event.datetime >=
                 (k.event.datetime - datetime.timedelta(0, 14400))):
                 flash(
                     "Warning: %s is listed as being killed in the event %s, which was less than four hours before this event."
                     % (l.victim.user_name, str(l.event)))
         raise redirect(url("/editevent/" + str(eid)))
     except SQLObjectNotFound:
         flash(
             "Error: Tried to add an innocent kill to a nonexistent event.")
         raise redirect(url("/news"))
예제 #14
0
 def updates(self):
     return {'events': Event.select(orderBy='datetime')}
예제 #15
0
파일: controllers.py 프로젝트: m50d/tumpire
    def addreport(self,eid):
        try:
            return {'new':True,'event':Event.get(eid)}
	except SQLObjectNotFound:
	    flash("Error: Tried to add report to a nonexistent event")
	    raise redirect(url("/news"))
예제 #16
0
파일: controllers.py 프로젝트: m50d/tumpire
    def addinnocentkill(self,eid):
        try:
            return {'event':Event.get(eid)}
        except SQLObjectNotFound:
	   flash("Error: Tried to add an innocent kill to a nonexistent event.")
	   raise redirect(url("/news"))
예제 #17
0
파일: controllers.py 프로젝트: m50d/tumpire
 def updates(self):
     return {'events':Event.select(orderBy='datetime')}
예제 #18
0
 def addreport(self, eid):
     try:
         return {'new': True, 'event': Event.get(eid)}
     except SQLObjectNotFound:
         flash("Error: Tried to add report to a nonexistent event")
         raise redirect(url("/news"))