FUSS at work: Issueshttps://work.fuss.bz.it/https://work.fuss.bz.it/favicon.ico?15861920342019-09-26T09:42:25ZFUSS at work
Redmine octonet - Segnalazione #905 (Nuovo): miglioramento interfaccia octonethttps://work.fuss.bz.it/issues/9052019-09-26T09:42:25ZPaolo Dongillidongilli@fuss.bz.it
<p>Per maggior chiarezza, serve modificare le label di alcuni bottoni nella maschera di modifica di un gruppo:</p>
<p>Aggiungi gruppo --> Aggiungi al gruppo<br />Rimuovi tutti gli utenti --> Rimuovi</p>
<p>Si potrebbe rendere il box con la lista utenti adattabile alla larghezza della pagina. Vediamo che è a larghezza fissa.</p> octonet - Segnalazione #892 (Commenti): Creazione in massa utenti da csvhttps://work.fuss.bz.it/issues/8922019-08-28T10:34:12ZClaudio Cavalliccavalli@fuss.bz.it
<p>La creazione in massa non va a buon fine se nel csv compaiono utenti già esistenti. Può essere un problema in caso di bocciature, cambi di sezione, ecc.<br />E' possibile implementare un sistema che controlli se un utente esiste già, lo escluda dalla creazione nuovi utenti in modo che il processo vada a buon fine?</p> SportDay - Segnalazione #766 (Nuovo): Non si eliminano gli studentihttps://work.fuss.bz.it/issues/7662019-03-02T07:43:41ZPiergiorgio Ceminpcemin@fuss.bz.it
<p>Eliminando studenti si ha il seguente errore:</p>
<p>IntegrityError at /admin/sportday/student/</p>
<p>(1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`sportday`.`sportday_partecipation`, CONSTRAINT `sportday_partecipati_student_id_495fe2f3_fk_sportday_` FOREIGN KEY (`student_id`) REFERENCES `sportday_student` (`id`))')</p>
<p>Request Method: POST<br />Request URL: <a class="external" href="https://sportday.fuss.bz.it/admin/sportday/student/?q=Liceo">https://sportday.fuss.bz.it/admin/sportday/student/?q=Liceo</a><br />Django Version: 2.0<br />Exception Type: IntegrityError<br />Exception Value:</p>
<p>(1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`sportday`.`sportday_partecipation`, CONSTRAINT `sportday_partecipati_student_id_495fe2f3_fk_sportday_` FOREIGN KEY (`student_id`) REFERENCES `sportday_student` (`id`))')</p>
<p>Exception Location: /var/www/dj2/lib/python3.5/site-packages/MySQLdb/connections.py in query, line 277<br />Python Executable: /usr/bin/python3<br />Python Version: 3.5.3<br />Python Path:</p>
<p>['/var/www/sportday',<br /> '/var/www/dj2/lib/python35.zip',<br /> '/var/www/dj2/lib/python3.5',<br /> '/var/www/dj2/lib/python3.5/plat-x86_64-linux-gnu',<br /> '/var/www/dj2/lib/python3.5/lib-dynload',<br /> '/usr/lib/python3.5',<br /> '/usr/lib/python3.5/plat-x86_64-linux-gnu',<br /> '/var/www/dj2/lib/python3.5/site-packages']</p>
<p>Server time: Sab, 2 Mar 2019 08:39:23 +0100</p>
<p>Environment:</p>
<p>Request Method: POST<br />Request URL: <a class="external" href="https://sportday.fuss.bz.it/admin/sportday/student/?q=Liceo">https://sportday.fuss.bz.it/admin/sportday/student/?q=Liceo</a></p>
<p>Django Version: 2.0<br />Python Version: 3.5.3<br />Installed Applications:<br />['django.contrib.admin',<br /> 'django.contrib.auth',<br /> 'django.contrib.contenttypes',<br /> 'django.contrib.sessions',<br /> 'django.contrib.messages',<br /> 'django.contrib.staticfiles',<br /> 'djsport',<br /> 'sportday']<br />Installed Middleware:<br />['django.middleware.security.SecurityMiddleware',<br /> 'django.contrib.sessions.middleware.SessionMiddleware',<br /> 'django.middleware.common.CommonMiddleware',<br /> 'django.middleware.csrf.CsrfViewMiddleware',<br /> 'django.contrib.auth.middleware.AuthenticationMiddleware',<br /> 'django.contrib.messages.middleware.MessageMiddleware',<br /> 'django.middleware.clickjacking.XFrameOptionsMiddleware',<br /> 'django.middleware.locale.LocaleMiddleware']</p>
<p>Traceback:</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute<br /> 85. return self.cursor.execute(sql, params)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/backends/mysql/base.py" in execute<br /> 71. return self.cursor.execute(query, args)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/cursors.py" in execute<br /> 250. self.errorhandler(self, exc, value)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/connections.py" in defaulterrorhandler<br /> 50. raise errorvalue</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/cursors.py" in execute<br /> 247. res = self._query(query)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/cursors.py" in _query<br /> 411. rowcount = self._do_query(q)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/cursors.py" in _do_query<br /> 374. db.query(q)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/connections.py" in query<br /> 277. _mysql.connection.query(self, query)</p>
<p>The above exception ((1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`sportday`.`sportday_partecipation`, CONSTRAINT `sportday_partecipati_student_id_495fe2f3_fk_sportday_` FOREIGN KEY (`student_id`) REFERENCES `sportday_student` (`id`))')) was the direct cause of the following exception:</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner<br /> 35. response = get_response(request)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response<br /> 128. response = self.process_exception_by_middleware(e, request)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response<br /> 126. response = wrapped_callback(request, *callback_args, **callback_kwargs)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/contrib/admin/options.py" in wrapper<br /> 574. return self.admin_site.admin_view(view)(*args, **kwargs)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/utils/decorators.py" in _wrapped_view<br /> 142. response = view_func(request, *args, **kwargs)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/views/decorators/cache.py" in _wrapped_view_func<br /> 44. response = view_func(request, *args, **kwargs)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/contrib/admin/sites.py" in inner<br /> 223. return view(request, *args, **kwargs)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/utils/decorators.py" in _wrapper<br /> 62. return bound_func(*args, **kwargs)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/utils/decorators.py" in _wrapped_view<br /> 142. response = view_func(request, *args, **kwargs)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/utils/decorators.py" in bound_func<br /> 58. return func.__get__(self, type(self))(*args2, **kwargs2)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/contrib/admin/options.py" in changelist_view<br /> 1612. response = self.response_action(request, queryset=cl.get_queryset(request))</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/contrib/admin/options.py" in response_action<br /> 1330. response = func(self, request, queryset)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/contrib/admin/actions.py" in delete_selected<br /> 48. queryset.delete()</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/models/query.py" in delete<br /> 662. deleted, _rows_count = collector.delete()</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/models/deletion.py" in delete<br /> 283. count = qs._raw_delete(using=self.using)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/models/query.py" in _raw_delete<br /> 676. return sql.DeleteQuery(self.model).delete_qs(self, using)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/models/sql/subqueries.py" in delete_qs<br /> 66. return self.delete_batch(values, using)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/models/sql/subqueries.py" in delete_batch<br /> 41. num_deleted += self.do_query(self.get_meta().db_table, self.where, using=using)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/models/sql/subqueries.py" in do_query<br /> 24. cursor = self.get_compiler(using).execute_sql(CURSOR)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in execute_sql<br /> 1063. cursor.execute(sql, params)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/backends/utils.py" in execute<br /> 100. return super().execute(sql, params)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/backends/utils.py" in execute<br /> 68. return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute_with_wrappers<br /> 77. return executor(sql, params, many, context)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute<br /> 85. return self.cursor.execute(sql, params)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/utils.py" in <i>exit</i><br /> 89. raise dj_exc_value.with_traceback(traceback) from exc_value</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute<br /> 85. return self.cursor.execute(sql, params)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/django/db/backends/mysql/base.py" in execute<br /> 71. return self.cursor.execute(query, args)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/cursors.py" in execute<br /> 250. self.errorhandler(self, exc, value)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/connections.py" in defaulterrorhandler<br /> 50. raise errorvalue</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/cursors.py" in execute<br /> 247. res = self._query(query)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/cursors.py" in _query<br /> 411. rowcount = self._do_query(q)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/cursors.py" in _do_query<br /> 374. db.query(q)</p>
<p>File "/var/www/dj2/lib/python3.5/site-packages/MySQLdb/connections.py" in query<br /> 277. _mysql.connection.query(self, query)</p>
<p>Exception Type: IntegrityError at /admin/sportday/student/<br />Exception Value: (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`sportday`.`sportday_partecipation`, CONSTRAINT `sportday_partecipati_student_id_495fe2f3_fk_sportday_` FOREIGN KEY (`student_id`) REFERENCES `sportday_student` (`id`))')</p> octomon - Segnalazione #763 (Commenti): Invio dati /etchttps://work.fuss.bz.it/issues/7632019-02-21T18:16:20ZMarco Marinello
<p>Sui server, rilevare gli ultimi commit in /etc ed inviarli con<br />- messaggio commit<br />- data / ora<br />- files modificati</p>
<p><strong>senza</strong> contenuto della modifica (si rischia l'invio di password)</p> Strumenti Generazione ISO - Segnalazione #716 (Nuovo): Repository mancanti dopo installazionehttps://work.fuss.bz.it/issues/7162019-01-14T14:19:46ZMarco Marinello
<p>Mi viene segnalato che dopo installazione pulita da iso FUSS Client (<a class="external" href="http://iso2.fuss.bz.it/fuss9/client/fuss-client-9.5.1-amd64-xfce.iso">http://iso2.fuss.bz.it/fuss9/client/fuss-client-9.5.1-amd64-xfce.iso</a>) mancano i nostri repo sotto /etc/apt/sources.list .</p>
<p>Da verificare ed eventualmente correggere. In teoria i repo dovrebbero essere aggiunti durante l'installazione di uno dei metapacchetti FUSS, non ricordo quale, che dava errore perché eseguiva apt-key add nel postinst. Forse è stato rimosso per quello (?)</p> octonet - Segnalazione #572 (Nuovo): Typo funzionalità "creazione in massa"https://work.fuss.bz.it/issues/5722018-07-26T11:08:35ZPaolo Dongillidongilli@fuss.bz.it
<p>Segnalo un typo da correggere in OctoNet nella funzione di "creazione in massa":</p>
<p><strong>Pressio</strong> nome utente --> <strong>Prefisso</strong> nome utente</p> octonet - Segnalazione #540 (Nuovo): Utente con stesso gruppo come principale ed ausiliario compa...https://work.fuss.bz.it/issues/5402018-06-12T15:27:22ZSimone Piccardipiccardi@truelite.it
<p>L'utente che ha un gruppo come principale, ed è pure elencato esplicitamente nei membri dello stesso, compare due volte nell'elenco di octonet.</p>
<p>La situazione è comunque anomala, andrebbe come minimo segnalata come tale.</p> SportDay - Segnalazione #462 (Nuovo): Aggiunta classificahttps://work.fuss.bz.it/issues/4622018-01-09T14:55:56ZMarco Marinello
<p>Aggiungere una classifica per la classe con i risultati degli studenti in tutte le gare partecipate</p> octonet - Segnalazione #404 (Commenti): Rimozione utenza in OctoNet ed /etc/grouphttps://work.fuss.bz.it/issues/4042017-09-07T16:31:43ZPaolo Dongillidongilli@fuss.bz.it
<p>Quando si rimuove un'utenza via OctoNet noto che in<br /><pre>
/etc/group
</pre><br />l'utente rimane nei gruppi cui era stato assegnato (p.es. audio, plugdev, internet, ...).</p> octonet - Segnalazione #382 (In elaborazione): delete clusterhttps://work.fuss.bz.it/issues/3822017-08-23T11:45:50ZHelmut Oberholllenzerhelmut.oberhollenzer@provinz.bz.it
<p>Ciao,</p>
<p>oggi ho provato a cancellare un cluster con il tasto delete cluster.<br />Il cluster non viene cancellato.</p>
<p>grazie e saluti</p> octonet - Segnalazione #352 (Commenti): Cambio forzato della password al primo login per ogni nuo...https://work.fuss.bz.it/issues/3522017-07-19T08:23:58ZAndrea PadovanAndrea.Padovan@scuola.alto-adige.it
<p>PREMESSA:<br />Vista la negligenza di alcuni studenti e docenti nel cambiarsi la password al primo accesso durante inizio anno scolastico, e vista la necessità di promuovere un sistema il più possibile sicuro per la salvaguardia del proprio profilo nella rete scolastica, si chiede quanto segue:</p>
<p>RICHIESTA:<br />1) Cambio forzato della password al primo login per ogni nuovo utente della rete.<br />2) Sarebbe utile poter avere tracciabilità in OCTONET dell'avvenuto cambio password dei vari utenti e magari in quale giorno e ora.</p> octonet - Segnalazione #151 (In elaborazione): Aggiungere test minimalihttps://work.fuss.bz.it/issues/1512017-01-18T15:35:10ZMark Caglienzimark@truelite.it
<p>Almeno un test per view che verifichi che la view risponda e che non ci siano errori tipo HTTP 500 (per evitare problemi di template, o di context con dati mancanti, eccetera)</p> PyHearing - Segnalazione #62 (Commenti): Area amministrativa Hearingshttps://work.fuss.bz.it/issues/622016-07-02T10:07:43ZMarco Marinello
<p>Creare un'area apposita in /hearings/admin dove inserire dashboard e funzioni varie per l'amministrazione</p> PyHearing - Segnalazione #61 (Commenti): Modifica "subject taught" a campo foreignhttps://work.fuss.bz.it/issues/612016-07-02T09:24:37ZMarco Marinello
<p>Modificare nei teachers la subject taught a riferimento ad un'altra tabella (subjects)</p> PyHearing - Segnalazione #59 (Nuovo): test coveragehttps://work.fuss.bz.it/issues/592016-06-28T10:53:48ZChristopher R. Gabrielcgabriel@truelite.it
<p>Per un porting ottimale, implementare test suite per ogni modello e vista rilevante, per avere una copertura totale.</p>
<p>Attuale stato di coverage:</p>
<pre>
Name Stmts Miss Cover
----------------------------------------------------------
hearings/__init__ 0 0 100%
hearings/admin 22 0 100%
hearings/forms 47 47 0%
hearings/models 138 63 54%
hearings/tests 4 0 100%
hearings/urls 3 3 0%
hearings/views 154 154 0%
pyhearing/__init__ 0 0 100%
pyhearing/context_processors 3 3 0%
pyhearing/management/__init__ 0 0 100%
pyhearing/settings 42 0 100%
pyhearing/templatetags/__init__ 0 0 100%
pyhearing/templatetags/pyhearingtags 8 8 0%
pyhearing/urls 6 6 0%
pyhearing/views 72 72 0%
pyhearing/wsgi 7 7 0%
----------------------------------------------------------
TOTAL 506 363 28%
</pre>
<p>Suggerisco di aprirti ticket specifici correlati, ognuno con suo feature branch, per gestire questi aspetti di lavorazione.</p>