Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Päivitetty Python 2.7 ja Dajango 1.11 sekä piiripisteet #18

Draft
wants to merge 88 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
0e8ff01
korjattu paluulinkki
Pena86 May 19, 2017
c50b442
kuva generoitu käytössä olevasta tietokannasta
Pena86 Nov 6, 2017
9f94907
muistiinpanoja avuksi kehittäjille sivupohjien käyttämistä templateista
Pena86 Nov 6, 2017
4b6f4e5
komistettu kisan valinta sivua
Pena86 Nov 6, 2017
9f46efa
siistitty ja kaunisteltu tulokset sivua
Pena86 Nov 6, 2017
8e28109
siistitty tehtävien syöttö sivua
Pena86 Nov 6, 2017
ac52deb
poistettu turha resurssikutsu
Pena86 Nov 7, 2017
f98ca15
Update README.md
Pena86 Nov 7, 2017
c246220
manage.py toimimaan uudella django versiolla
Pena86 Nov 7, 2017
60b93fd
formien päivitystä
Pena86 Nov 7, 2017
3fb175e
urlien muokkausta
Pena86 Nov 7, 2017
d005bcd
uudet tietokantamääritykset
Pena86 Nov 7, 2017
a084030
templaten ja viewien rappausta
Pena86 Nov 7, 2017
1eba9fd
modelin paikkausta
Pena86 Nov 7, 2017
f833bae
vähän lisää viilausta
Pena86 Nov 9, 2017
822ff87
one deprecation warning less
Pena86 Nov 13, 2017
67a2b67
static files korjattu
Pena86 Nov 13, 2017
7077301
encoding lisätty
Pena86 Nov 13, 2017
f2e030a
dokumentointia ja testausta
Pena86 Nov 13, 2017
735b36e
root sivun uudelleenohjaus
Pena86 Nov 13, 2017
7e39ba0
Korjattu testejä ja niistä nousseita asioita. Parametrit eivät välity…
Pena86 Nov 14, 2017
8e6cc11
ja dokumentointia edelliselle
Pena86 Nov 14, 2017
2d21bb0
Korjattu kisojen tuonti ja vienti
Pena86 Nov 14, 2017
13a5fa5
migrate runnottu sisään
Pena86 Nov 14, 2017
2a05468
resolve merge conflict
Pena86 Nov 14, 2017
35099b1
resolve merge conflict
Pena86 Nov 14, 2017
4525179
lisätty ehtolause helppiin
Pena86 Nov 15, 2017
23a4304
lisätty debug työkalu
Pena86 Nov 15, 2017
4d1cc83
Päivitetty tietokantatiedosto ja listty ohjeita
Pena86 Nov 16, 2017
b9dbda8
Update README.md
Pena86 Nov 16, 2017
04f85eb
kehityspalvelimen asetukset omaan tiedosoon
Pena86 Nov 18, 2017
ca03209
nginx ja uwsgi asetustiedostot
Pena86 Nov 18, 2017
0003710
lisätty csrf varmistus formeihin. Jos jäi joku välistä, niin tarkista…
Pena86 Nov 19, 2017
6dd2f77
post max upload fields poistettu käytöstä
Pena86 Nov 27, 2017
193ae15
ohjeita ohjelman asentamiseen
Pena86 Dec 8, 2017
706b2fc
Pientä viilausta ohjeisiin
Pena86 Dec 8, 2017
54dc434
merge conflict
Pena86 Dec 8, 2017
3767415
Poistettu debug-toolbar
Pena86 Dec 8, 2017
a0febe5
käyttäjäautentikointi
Pena86 Dec 9, 2017
a1ba5ce
Viestit näkösälle
Pena86 Dec 9, 2017
9ac2a76
login decoratorit view:lle
Pena86 Dec 9, 2017
f8f5ffa
käyttöoikeuksia templateen
Pena86 Dec 10, 2017
39c2a1c
käyttäjähallintasivun runko
Pena86 Dec 10, 2017
c973e41
auth, opetellaan formien käyttöä
Pena86 Dec 11, 2017
2e56d1e
jalostetaan käyttäjäformia
Pena86 Dec 12, 2017
e624cc0
käyttäjän tietojen muokkaus sivun runko
Pena86 Dec 14, 2017
c67942d
käyttäjähallinan tallennukset kantaan
Pena86 Dec 15, 2017
601718f
käyttäjän rekisteröinti ja tietojen muokkaus formit
Pena86 Dec 16, 2017
a2fa251
Muokattu templatea kisattomille sivuille
Pena86 Dec 17, 2017
85f1366
Käyttäjien hallinta omaan appiin
Pena86 Dec 17, 2017
d3112a6
viestit siirretty jgrowl -ikkunaan
Pena86 Dec 18, 2017
e9ce785
HTTPS redirect käyttöön dev settingseissä
Pena86 Dec 19, 2017
6ff2d7c
päivämärä ladattaviin tiedostoihin
Pena86 Dec 19, 2017
590175b
HTTPS pois ja kommentointia
Pena86 Dec 20, 2017
0946bd3
poistettu debug toolbar ja dokumentointia
Pena86 Dec 20, 2017
0a13bb8
asd
Pena86 Dec 31, 2017
900ccb5
pientä viilausta asetuksiin
Pena86 Jan 30, 2018
5cf79b2
korjattu uuden kisan tallennus
Pena86 Jan 30, 2018
7589390
Viilausta ohjeteksteihin
Pena86 Jan 30, 2018
d94304b
piirien tulokset ilman tasapisteitä
Pena86 Feb 1, 2018
43ba75e
tasapisteet piirituloksiin toimii, en tiedä miksi
Pena86 Feb 1, 2018
75211a4
tasapisteet lippukuntien tuloksiin
Pena86 Feb 1, 2018
8874ddc
tasapisteiden tietokanta talteen testeihin
Pena86 Feb 1, 2018
4faaf64
dokumentointia
Pena86 Feb 1, 2018
fbcd101
piirien tulokset paperiformaattiin
Pena86 Feb 2, 2018
1c2d515
piiritulosten .csv lataus
Pena86 Feb 3, 2018
aea789e
siirretään tulosten näyttöfunktio muiden kanssa samaan kohtaan
Pena86 Feb 3, 2018
6091bc6
rename and refactor tulosten näyttäminen
Pena86 Feb 3, 2018
7d09da7
merge piiritulokset
Pena86 Feb 15, 2018
4b90c69
Korjattu sivupaneelin linkkejä
Pena86 Jan 11, 2019
9303021
linkkejä korjattu
Pena86 Mar 9, 2019
f68c432
tehtävä tarkistettu pois, tehtävää kopioitaessa
Pena86 Mar 9, 2019
022792c
Merge remote-tracking branch 'origin/new_features' into authentication
Pena86 Mar 10, 2019
c09f125
viilausta ulkoasuun
Pena86 Mar 10, 2019
f08e9ca
fix merge conflicts
Pena86 Mar 10, 2019
295223f
refactor kisan maaritykset sivu
Pena86 Mar 13, 2019
dc7c8ee
ja korjauksia edelliseen
Pena86 Mar 13, 2019
a4b56ad
refactor tehtävien valinta
Pena86 Mar 13, 2019
2ec8aeb
refactoroitu vartioiden määritys
Pena86 Mar 13, 2019
0799a4a
Refactor tehtävien määritys
Pena86 Mar 13, 2019
a1a1808
refactor tulostensyöttö
Pena86 Mar 13, 2019
955502d
Muita refactorointeja
Pena86 Mar 14, 2019
17cea90
Vanha messages poistettu templatesta
Pena86 Mar 14, 2019
f36ad9c
Ihmetelty interpoloinnin saloja
Pena86 Mar 15, 2019
3532d01
Pientä viilausta refactorointeihin
Pena86 Mar 15, 2019
a173f66
Merge branch 'master' into changes
Pena86 Dec 23, 2019
4ef7a23
Merge branch 'master' of https://github.com/partio-scout/kipa into ch…
Pena86 Dec 23, 2019
89c0099
Documentation up to date
Pena86 Dec 23, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 61 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,74 @@
Kipa
====

Kipa- / Tupa2-ohjelmisto, jota käytetään partiotaitokilpailujen tuloslaskentaan.
Kipa- / Tupa2-ohjelmisto, jota käytetään partiotaitokilpailujen tuloslaskentaan. https://www.facebook.com/Kisapalvelu/

Asennusohjeet: https://sites.google.com/site/kisapalvelukipa/kaeytae-ja-asenna
Asennusohjeet, Linux: docs/kipa asennusmuistio ubuntu 2017.txt
Windows: https://sites.google.com/site/kisapalvelukipa/kaeytae-ja-asenna

Vanhat sivustot:

* https://sites.google.com/site/kisapalvelukipa/
* http://sourceforge.net/projects/tupa2/

**Ohjelmaa kokeiltu:**

* Django v.1.11
* Python v.2.7
* Chrome / Firefox

**Tilanne: toimivat**

* Kipa -sivusto
* Admin -sivusto
* static files
* migrate
* käyttäjäautentikointi (serverilaajuinen)
* piirienväliset pisteet
* dia2django
* production serveri (nginx ja uwsgi)

**Ei toimi tai ei testattu:**

* testit (käyttäjähallinta ei mukana ja parametrit ei välity)
* HTTPS tarvii sertifikaatit web-serverille
* i18n
* muut turhat härpäkkeet, joita en osaa käyttää

**Tunnetut, ei toivotut ominaisuudet (known bugs):**

* Jossain harvoissa tilanteissa, samassa sarjassa olevat samannimiset vartiot saavat samat tulokset, riippumatta syötteistä.
* Samassa sarjassa olevat samannimiset tehtävät saavat toisetensa tulokset tulosten laskennassa.
* Jos interpoloinnissa on vain yksi vartio ja nollasuorituksen kaavana max*muk, niin ainut vartio saa 0 pistettä.
* Yhteen tehtävään voi syöttää vain yksi käyttäjä kerrallaan, joko varsinaisia tai tarkistussyötteitä.
* Negatiivinen aikaväli antaa tulokseski nollan.
* Aika -syötekentässä, E- tai H- syöte rikkoo ajan muotoilun, mutta korjaantuu tallentamalla 0 (tai joku) aika.
* Tehtävän kaavassa desimaalipilkku kaataa laskennan (kaavan tarkastus ei aukoton).

**Toivotut ominaisuudet:**

* Python 3 ja Django 2 -tuki
* Docker container
* Manuaalin päivittäminen
* Vartioiden import taulukosta / Kuksasta (tai muusta ilmoittautumisjärjestelmästä)
* Tuloslaskennan huomiot, tuomarineuvoston kirjaukset, kilpailijoiden tarkastuspyynnöt tehtävien / syötteiden yhteyteen
* Tietojen tallennus taustalla
* Tietojen varmuuskopiointi ja palautus, eli Undo / muutosten logaus
* Kisan tilanneseuranta
* Piirit ja lippukunnat valita listasta, ei kirjoittamalla -> lyhenteet
* Tulosten massavienti tikulle, eli yhdestä napista kaikki formaatit ja sarjat
* Tulosten näyttämiseen tykillä valinta, mitkä sarjat + piirien tilanne ja onko useampi sarja samalla sivulla
* Mahdollisuus liittää kuvia (videota?) tulosten tarkastuksen yhteyteen / kommentteihin
* Tulosseuranta / tilanneseuranta netin yli kotiväelle

**Muita ohjeita:**
* Tietokantatiedostojen (.dia) katselemiseen ja muokkaamiseen voit käyttää ilmaista 'Dia Diagram Editor' -ohjelmaa. https://sourceforge.net/projects/dia-installer/ (asennus debian/ubuntu ympäristössä: sudo apt-get install dia )

* Dia2django -skriptin käyttö:
* Mene omaan kipa kansioon ...kipa/web/tupa/
* Aja komento: python dia2django.py tietokanta.dia models.py
* Skripti päivittää ohjelman models.py tiedoston tietokantakentät annetun .dia tiedoston mukaiseksi.

Lisenssi
========

Expand Down
117 changes: 117 additions & 0 deletions docs/kipa asennusmuistio ubuntu 2017.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
######################
# Kipa kisapalveluohjelmiston asentaminen ubuntun kaltaisiin järjestelmiin.
#
# Kaikki risuaita-alkuiset rivit ovat kommentteja ja niitä ei tarvitse kirjoittaa komentoriville
#
# Asennusta kokeiltu:
# Ubuntu 17.10, Linux mint 18.3 ja Ubuntu Gnome 16.04 käyttöjärjestelmillä
# Muiden pakettien versiot:
# python 2.7
# django 1.11
# uwsgi 2.0
# nginx 1.10
#
# Alla on ohjeet Kipan asetamiseksi sekä yhdelle koneelle django testipalvelinta käyttäen, että lähiverkkopalvelimena toimivalle koneelle nginx -nettipalvelinohjelmistoa käyttäen.
# Kaikkia laitteita, ohjelmien asennusta ja toimintaa kannattaa kokeilla jo ennen kisapaikalle siirtymistä, kiireisten ongelmatapausten välttämiseksi
#
# Huomautus: Minä en ole tietoturva-alan ammattilainen ja en vastaa sinun tiedostoistasi tai koneistasi näitä tai muita ohjeita noudattaessasi. Joitain ohjeita Django projektin tietoturvaan liittyen löydät esimerkiksi: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/web_application_security
#
# Asennettuasi kipa -ohjelman, voit luoda järjestelmän pääkäyttäjän komennolla: python manage.py createsuperuser
# pääkäyttäjän tunnuksilla voit kirjautua admin -sivulle http://127.0.0.1:8000/admin/ (jos käytät palvelinta verkossa muuta ip osoite) josta voit luoda muita käyttäjiä.
#
######################
# Yhden tietokoneen asennus ilman verkkokäyttöä:

# järjestelmän päivittäminen
sudo apt-get update
sudo apt-get upgrade

# Käynnistä järjestelmä uudelleen

# tarvittavien pakettien asentaminen / päivittäminen
sudo apt-get install git python2.7-dev python-pip
sudo -H python -m pip install --upgrade pip
sudo -H pip install setuptools
sudo -H pip install django==1.11

# Käynnistä järjestelmä uudelleen

# kipa -ohjelman haku github -sivulta (aja tämä komento siinä kansiossa johon haluat tiedostot ladattavan ja sinulla on oikeudet käyttää)
git clone https://github.com/Pena86/kipa.git

# siirrytään ohjelmakansioon ja käynnistetään testipalvelin
cd kipa/web/
python manage.py runserver


#Luo itsellesi palvelimen pääkäyttäjätili komennolla: (sähköpostiosoitteen ei tarvi olla toimiva, mutta pitää olla oikeaa muotoa) Luomallasi tunnuksella voit kirjautua Kipa -järjestelmään, tuoda tai luoda kisan ja luoda muita käyttäjiä.
python manage.py createsuperuser


# mene selaimella osoitteeseen http://127.0.0.1:8000/ ja kipa-ohjelman pitäisi olla käytössä
# ohjelman voi sulkea komentorivillä painamalla CONTROL-C
#
######################
# Kipan asentaminen palvelinkoneelle usean koneen verkkokäyttöä varten
#

# järjestelmän päivittäminen
sudo apt-get update
sudo apt-get upgrade

# Käynnistä järjestelmä uudelleen

# tarvittavien pakettien asentaminen / päivittäminen
sudo apt-get install git python2.7-dev python-pip nginx
sudo -H python -m pip install --upgrade pip
sudo -H pip install setuptools
sudo -H pip install uwsgi django==1.11

# lisätään käyttäjä www-data ryhmään dialout
sudo adduser www-data dialout

# Käynnistä järjestelmä uudelleen

# siirrytään hakemistoon (jos aiot ajaa kipa-ohjelmaa muusta hakemistosta, sinun pitää muokata uusi hakemistopolku ainakin kipa_nginx.conf -tiedostoon)
cd /var/www/
# ladataan kipa -ohjelmisto githubista
sudo git clone https://github.com/Pena86/kipa.git
# muutetaan kansion kipa ja sen alikansioiden ja tiedostojen omistajaksi ja ryhmäksi www-data
sudo chown -R www-data:www-data kipa/

# linkitetään kipa_nginx.conf -tiedosto nginx -ohjelman käytettäväksi
sudo ln -s /var/www/kipa/web/kipa_nginx.conf /etc/nginx/sites-enabled/kipa_nginx.conf
# käynnistetään nginx -ohjelma uudestaan
sudo /etc/init.d/nginx restart

# siirrytään kansioon ja ajetaan uwsgi -ohjelma (käyttäjänä www-data), joka suorittaa django -projektin tiedostoja nettipalvelinohjelmiston niitä pyytäessä
cd /var/www/kipa/web/
sudo -H -u www-data uwsgi --ini kipa_uwsgi.ini

# mene selaimella osoitteeseen http://127.0.0.1/ ja kipa-ohjelman pitäisi olla käytössä (jos muutat asetustiedostoihin palvelinkoneen ip-osoitten, käytä sitä myös paikallisella koneella)
# ohjelman voi sulkea komentorivillä painamalla CONTROL-C

# Että voisit käyttää kipa -ohjelmaa muilla lähiverkon koneilla, tulee sinun vielä tehdä pari asiaa:
# - Selvitä palvelinkoneen ip -osoite esim. koneen tai lähiverkkoreitittimesi asetuksista
# - Muuta palvelinkoneen ip -osoite /var/www/kipa/web/kipa_nginx.conf -tiedoston server_name -kohtaan ja käynnistämään nginx -palvelinohjelman uudestaan komennolla sudo /etc/init.d/nginx restart
# - Lisää palvelinkoneen ip -osoite /var/www/kipa/web/settings.py -tiedoston ALLOWED_HOSTS -kohtaan ja käynnistä uwsgi -komento (yltä) uudestaan
# - Saatat tarvita asettaa lähiverkkoreitittimeesi portin- tai ip -osoitteen reitityksen palvelinkoneen osoitteeseen
# nyt myös lähiverkon koneilta pitäisi päästä kipa -ohjelmaan kirjoittamalla selainohjelman osoiteriville palvelinkoneen ip-osoite.


#Luo itsellesi palvelimen pääkäyttäjätili komennolla: (sähköpostiosoitteen ei tarvi olla toimiva, mutta pitää olla oikeaa muotoa) Luomallasi tunnuksella voit kirjautua Kipa -järjestelmään, tuoda tai luoda kisan ja luoda muita käyttäjiä.
python manage.py createsuperuser


# seuraavilla komennoilla saat lisää tietoa ja voit hallita nginx -ohjelman toimintaa
sudo /etc/init.d/nginx status
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start
nano /var/log/nginx/error.log (painamalla CONTROL-X suljet editorin)
nano /var/log/nginx/access.log (painamalla CONTROL-X suljet editorin)

# Django testipalvelimen käynnistäminen
cd /var/www/kipa/web/
sudo -H -u www-data python manage.py runserver
# mene selaimella osoitteeseen http://127.0.0.1:8000/ ja kipa-ohjelman pitäisi olla käytössä
# ohjelman voi sulkea komentorivillä painamalla CONTROL-C
Binary file added docs/tietokanta2015.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
113 changes: 113 additions & 0 deletions docs/views_templates.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
Mitä templateja kukin näkymä käyttää:

Umpihanki » Etusivu
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/kisa.html -->


#### Suoritusten syöttö ####

Umpihanki » Syötä tuloksia (sekä) Syötä tuloksia - tarkistussyötteet
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/valitse.html -->
<!-- #### templates/tupa/valitse_linkki.html --> jokaiselle sarjalle

Umpihanki » Syötä tuloksia » (tehtävä)
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/syota_tehtava.html -->
<!-- #### templates/tupa/tallenna.html -->

Umpihanki » Tuomarineuvoston antamien tulosten määritys
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/valitse.html -->
<!-- #### templates/tupa/tuomarineuvos.html --> jokaiselle sarjalle
<!-- #### templates/tupa/tallenna.html -->


#### Tulokset ####

Umpihanki » Tulokset sarjoittain (sarjan tulokset) (sekä) (tulosta tuloksia) (sekä) (tulokset CVS-tiedostoon)
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/tulosta.html -->

Umpihanki » Tulokset sarjoittain » (sarja)
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/tulokset.html -->

(tulosta tuloksia)
<!-- #### templates/tupa/tuloksetHTML.html -->

(heijasta tuloksia)
<!-- #### templates/tupa/heijasta.html -->

Umpihanki » Laskennan tilanne
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/laskennan_tilanne.html -->


#### Kisan määritykset ###

Umpihanki » Määritä kisa
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/maarita.html -->
<!-- #### templates/tupa/tallenna.html -->

Umpihanki » Määritä vartiot
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/valitse.html -->
<!-- #### templates/tupa/valitse_formset.html -->
<!-- #### templates/tupa/tallenna.html -->

Umpihanki » Muokkaa tehtävää
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/valitse.html -->
<!-- #### templates/tupa/maaritaValitseTestava.html --> (jokaiselle sarjalle)
<!-- #### templates/tupa/poista.html -->

Umpihanki » Muokkaa tehtävää » (tehtävä)
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/maarita.html -->
<!-- #### templates/tupa/tallenna.html -->
+ templates/tupa/forms/...

Umpihanki » Testituloksien määritys
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/valitse.html -->
<!-- #### templates/tupa/valitse.html -->
<!-- #### templates/tupa/testitulos.html --> (jokaiselle sarjalle)


#### Ylläpito ####

(listaa kaikki kisat)
<!-- #### templates/tupa/index.html -->
<!-- #### templates/tupa/login.html -->

(tallenna kisa)

Umpihanki » Korvaa kisa tiedostosta
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/upload.html -->
<!-- #### templates/tupa/tallenna.html -->

Umpihanki » Poista kisa
<!-- #### templates/tupa/base.html -->
<!-- #### templates/tupa/login.html -->
<!-- #### templates/tupa/poista_kisa.html -->


#### Apua ####
(ohje)
Loading