def rap_spy(dane_raport, flota): agresor = dane_raport['agresor'] obronca = dane_raport['obronca'] agresor.userprofile.nowe_raporty += 1 obronca.userprofile.nowe_raporty += 1 tekst_agresor = render_to_string("ugame/reports_strings/spy_agresor.html", dane_raport) tekst_obronca = render_to_string("ugame/reports_strings/spy_obronca.html", dane_raport) koordy_z = '%s:%s:%s' % (flota.galaxy_start.galaxy, flota.galaxy_start.system, flota.galaxy_start.field) koordy_do = '%s:%s:%s' % (flota.galaxy_end.galaxy, flota.galaxy_end.system, flota.galaxy_end.field) data = datetime.datetime.fromtimestamp(flota.time) Raporty.objects.create(typ='S', user=agresor.user, tytul="Szpiegowanie planety", tekst=tekst_agresor, koordy_z=koordy_z, koordy_do=koordy_do, data=data) Raporty.objects.create( typ='S', user=obronca.user, tytul="Ktoś szpiegował planete", tekst=tekst_obronca, koordy_z=koordy_z, koordy_do=koordy_do, data=data, )
def rap_atak(dane_raport, flota, wygrana): ''' dane_raport = {"agresor":agresor,"obronca":obronca,"rundy":rundy,"surowce_zdobyte":surowce_zdobyte, "galaktyka":obronca_galaktyka,"obronca_obrona":obronca_obrona, "obronca_statki":obronca_statki, "agresor_statki":agresor_statki,"obronca_dane":obronca_dane, "agresor_dane":agresor_dane} ''' agresor = dane_raport['agresor'] agresor.userprofile.nowe_raporty += 1 obronca = dane_raport['obronca'] obronca.userprofile.nowe_raporty += 1 if len(dane_raport['dane'].rundy) > 1 or wygrana != 'O': agresor_spy = dane_raport['agresor_dane'].spy_tech obronca_spy = dane_raport['obronca_dane'].spy_tech if agresor_spy < obronca_spy: dane_raport['bez_technologii'] = 1 elif agresor_spy == obronca_spy: if randint(1, 5) == 3: dane_raport['bez_technologii'] = 1 tekst_agresor = render_to_string("ugame/reports_strings/atak.html", dane_raport) else: tekst_agresor = render_to_string( "ugame/reports_strings/atak_przerwany.html") koordy_z = '%s:%s:%s' % (flota.galaxy_start.galaxy, flota.galaxy_start.system, flota.galaxy_start.field) koordy_do = '%s:%s:%s' % (flota.galaxy_end.galaxy, flota.galaxy_end.system, flota.galaxy_end.field) data = datetime.datetime.fromtimestamp(flota.time) Raporty.objects.create(typ='A', user=agresor.user, tytul="Atak na planetę", tekst=tekst_agresor, koordy_z=koordy_z, koordy_do=koordy_do, data=data) dane_raport['bez_technologii'] = None tekst_obronca = render_to_string("ugame/reports_strings/atak.html", dane_raport) Raporty.objects.create( typ='A', user=obronca.user, tytul="Obrona planety", tekst=tekst_obronca, koordy_z=koordy_z, koordy_do=koordy_do, data=data, )
def rap_surowce(flota, GraObj): GraObj.userprofile.nowe_raporty += 1 dane_raport = {"galaxy": flota.galaxy_start, "flota": flota} koordy_z = '%s:%s:%s' % (flota.galaxy_start.galaxy, flota.galaxy_start.system, flota.galaxy_start.field) koordy_do = '%s:%s:%s' % (flota.galaxy_end.galaxy, flota.galaxy_end.system, flota.galaxy_end.field) data = datetime.datetime.fromtimestamp(flota.time) tekst = render_to_string("ugame/reports_strings/surowce.html", dane_raport) Raporty.objects.create(typ='T', user=GraObj.user, tytul="Surowce dotarły", tekst=tekst, koordy_z=koordy_z, koordy_do=koordy_do, data=data)
def kolonizacja_ok(flota, GraObj): GraObj.userprofile.nowe_raporty += 1 dane_raport = {"galaxy": flota.galaxy_end, "flota": flota} tekst = render_to_string("ugame/reports_strings/kolonizacja_ok.html", dane_raport) koordy_z = '%s:%s:%s' % (flota.galaxy_start.galaxy, flota.galaxy_start.system, flota.galaxy_start.field) koordy_do = '%s:%s:%s' % (flota.galaxy_end.galaxy, flota.galaxy_end.system, flota.galaxy_end.field) data = datetime.datetime.fromtimestamp(flota.time) Raporty.objects.create(typ='K', user=flota.fleet_owner, tytul="Kolonizacja", tekst=tekst, koordy_z=koordy_z, koordy_do=koordy_do, data=data)
def rap_powrot(flota, statki_powrot, GraObj): GraObj.userprofile.nowe_raporty += 1 dane_raport = { "galaxy": flota.galaxy_start, "flota": flota, "statki_powrot": statki_powrot } koordy_z = '%s:%s:%s' % (flota.galaxy_start.galaxy, flota.galaxy_start.system, flota.galaxy_start.field) koordy_do = '%s:%s:%s' % (flota.galaxy_end.galaxy, flota.galaxy_end.system, flota.galaxy_end.field) data = datetime.datetime.fromtimestamp(flota.time) tekst = render_to_string("ugame/reports_strings/powrot.html", dane_raport) Raporty.objects.create(typ='B', user=GraObj.user, tytul="Powrót z galaktyki", tekst=tekst, koordy_z=koordy_z, koordy_do=koordy_do, data=data)
def rap_przeslij(flota, statki_powrot, GraObj): GraObj.userprofile.nowe_raporty += 1 dane_raport = { "galaxy": flota.galaxy_end, "flota": flota, "statki_powrot": statki_powrot } koordy_z = '%s:%s:%s' % (flota.galaxy_start.galaxy, flota.galaxy_start.system, flota.galaxy_start.field) koordy_do = '%s:%s:%s' % (flota.galaxy_end.galaxy, flota.galaxy_end.system, flota.galaxy_end.field) data = datetime.datetime.fromtimestamp(flota.time) tekst = render_to_string("ugame/reports_strings/przeslij.html", dane_raport) rap = Raporty.objects.create(typ='P', user=GraObj.user, tytul="Flota z misja prześlij dla planety " + koordy_do, tekst=tekst, koordy_z=koordy_z, koordy_do=koordy_do, data=data)
def site_edit(self): current_planet = self.game.get_current_planet() if self.game.userprofile: if self.request.method == 'POST': form_change = ChangePassMail(self.request.POST) if form_change.is_valid(): pass1 = form_change.cleaned_data['password1'] pass2 = form_change.cleaned_data['password2'] email = form_change.cleaned_data['email'] if pass1 == pass2 and len(pass1) >= 5: salt = sha1(str(random.random())).hexdigest()[:5] activation_key = sha1(salt + pass1).hexdigest() ZmianaHasla.objects.create(user=self.game.user, haslo=pass1, hash=activation_key) message = render_to_string('mail/change.txt', { 'link': '%s/change_pass/%s' % (URL, activation_key) }) subject = 'Link z %s' % (URL, ) subject = ''.join(subject.splitlines()) send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [self.game.user.email]) message = "Żeby dokończyć zmianę hasła, odbierz pocztę z emaila i kliknij w link" send_info_message(user=self.game.user, message=message) if email: salt = sha1(str(random.random())).hexdigest()[:5] activation_key = sha1(salt + email).hexdigest() ZmianaMaila.objects.create(user=self.game.user, email=email, hash=activation_key) message = render_to_string('mail/change.txt', { 'link': '%s/change_email/%s' % (URL, activation_key) }) subject = 'Link z %s' % (URL, ) subject = ''.join(subject.splitlines()) send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [self.game.user.email]) message = "Żeby dokończyć zmianę emaila, odbierz pocztę ze starego emaila i kliknij w link" send_info_message(user=self.game.user, message=message) form = UserprofileForm(self.request.POST, self.request.FILES, instance=self.game.userprofile) if form.is_valid(): obj = form.save(commit=False) if not obj.avatar: obj.avatar = self.game.userprofile.avatar obj.save() # tu tak ma byc return HttpResponseRedirect(url(self.url)) else: form = UserprofileForm(instance=self.game.userprofile) form_change = ChangePassMail() topnav = topnav_site(self.game) return { "topnav": topnav, "form": form, 'form_change': form_change, "u": self.game.userprofile } return HttpResponseRedirect(url(self.all_urls.main.main))