diff options
author | Sebastian Silva (icarito) <sebastian@sugarlabs.org> | 2012-11-13 19:20:26 (GMT) |
---|---|---|
committer | Sebastian Silva (icarito) <sebastian@sugarlabs.org> | 2012-11-13 19:20:26 (GMT) |
commit | b9f9f462928c5db4f43002248afd2e7a3875adbd (patch) | |
tree | a89d9c103e08308785e874618000c4f18ce4de38 | |
parent | d0199c9709d4d2021d3f5d1d0f4dcb4fb2da4c02 (diff) |
Tweaks to synchronization and refactoring of Dialogs
-rw-r--r-- | messages.pot | 90 | ||||
-rw-r--r-- | sugar_network_webui/app.py | 26 | ||||
-rw-r--r-- | sugar_network_webui/dialogs.py | 47 | ||||
-rw-r--r-- | sugar_network_webui/templates/report-form.html | 12 | ||||
-rw-r--r-- | sugar_network_webui/templates/synchronize.html | 2 | ||||
-rw-r--r-- | sugar_network_webui/translations/es/LC_MESSAGES/messages.po | 103 | ||||
-rw-r--r-- | sweets.recipe | 6 |
7 files changed, 178 insertions, 108 deletions
diff --git a/messages.pot b/messages.pot index c4a5823..fe99325 100644 --- a/messages.pot +++ b/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2012-11-11 05:04-0500\n" +"POT-Creation-Date: 2012-11-13 11:38-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,15 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" -#: sugar_network_webui/app.py:89 +#: sugar_network_webui/app.py:91 msgid "MMMM d, yyyy" msgstr "" -#: sugar_network_webui/app.py:366 +#: sugar_network_webui/app.py:368 msgid "Artifact has been downloaded." msgstr "" -#: sugar_network_webui/app.py:367 +#: sugar_network_webui/app.py:369 #, python-format msgid "" "Success!\n" @@ -34,16 +34,16 @@ msgid "" "You can access it from the Journal." msgstr "" -#: sugar_network_webui/app.py:509 +#: sugar_network_webui/app.py:511 msgid "zero results" msgstr "" -#: sugar_network_webui/app.py:511 +#: sugar_network_webui/app.py:513 #, python-format msgid "page %(page)s of %(total)s" msgstr "" -#: sugar_network_webui/app.py:550 sugar_network_webui/app.py:839 +#: sugar_network_webui/app.py:552 sugar_network_webui/app.py:844 #: sugar_network_webui/templates/_browser-grid.html:5 #: sugar_network_webui/templates/context-view.html:5 #: sugar_network_webui/templates/context-view.html:25 @@ -51,7 +51,7 @@ msgstr "" msgid "questions" msgstr "" -#: sugar_network_webui/app.py:553 sugar_network_webui/app.py:842 +#: sugar_network_webui/app.py:555 sugar_network_webui/app.py:847 #: sugar_network_webui/templates/_browser-grid.html:11 #: sugar_network_webui/templates/context-view.html:11 #: sugar_network_webui/templates/context-view.html:31 @@ -59,7 +59,7 @@ msgstr "" msgid "problems" msgstr "" -#: sugar_network_webui/app.py:556 sugar_network_webui/app.py:845 +#: sugar_network_webui/app.py:558 sugar_network_webui/app.py:850 #: sugar_network_webui/templates/_browser-grid.html:8 #: sugar_network_webui/templates/context-view.html:8 #: sugar_network_webui/templates/context-view.html:28 @@ -67,7 +67,7 @@ msgstr "" msgid "ideas" msgstr "" -#: sugar_network_webui/app.py:559 sugar_network_webui/app.py:777 +#: sugar_network_webui/app.py:561 sugar_network_webui/app.py:779 #: sugar_network_webui/templates/_browser-grid.html:14 #: sugar_network_webui/templates/context-view.html:14 #: sugar_network_webui/templates/context-view.html:34 @@ -75,44 +75,44 @@ msgstr "" msgid "reviews" msgstr "" -#: sugar_network_webui/app.py:562 sugar_network_webui/app.py:849 +#: sugar_network_webui/app.py:564 sugar_network_webui/app.py:854 msgid "artifacts" msgstr "" -#: sugar_network_webui/app.py:565 sugar_network_webui/app.py:852 +#: sugar_network_webui/app.py:567 sugar_network_webui/app.py:857 msgid "resources" msgstr "" -#: sugar_network_webui/app.py:579 sugar_network_webui/app.py:861 +#: sugar_network_webui/app.py:581 sugar_network_webui/app.py:866 #, python-format msgid "browsing %(total)s %(resource_label)s" msgstr "" -#: sugar_network_webui/app.py:604 sugar_network_webui/app.py:613 +#: sugar_network_webui/app.py:606 sugar_network_webui/app.py:615 msgid "Error" msgstr "" -#: sugar_network_webui/app.py:607 +#: sugar_network_webui/app.py:609 msgid "Object not found." msgstr "" -#: sugar_network_webui/app.py:616 +#: sugar_network_webui/app.py:618 msgid "Server error." msgstr "" -#: sugar_network_webui/app.py:649 +#: sugar_network_webui/app.py:651 msgid "activities" msgstr "" -#: sugar_network_webui/app.py:652 +#: sugar_network_webui/app.py:654 msgid "projects" msgstr "" -#: sugar_network_webui/app.py:656 +#: sugar_network_webui/app.py:658 msgid "contexts" msgstr "" -#: sugar_network_webui/app.py:671 +#: sugar_network_webui/app.py:673 #, python-format msgid "browsing %(total)s %(label)s" msgstr "" @@ -243,6 +243,12 @@ msgstr "" msgid "collapse" msgstr "" +#: sugar_network_webui/templates/_context-resource-list.html:79 +#: sugar_network_webui/templates/_context-review-list.html:18 +#: sugar_network_webui/templates/_context-solution-list.html:112 +msgid "New question, idea or problem" +msgstr "" + #: sugar_network_webui/templates/_context-review-list.html:6 msgid "contribute a review" msgstr "" @@ -375,6 +381,24 @@ msgstr "" msgid "Work in progress." msgstr "" +#: sugar_network_webui/templates/dialog_about.html:5 +msgid "About" +msgstr "" + +#: sugar_network_webui/templates/dialog_about.html:13 +msgid "" +"Except where otherwise noted, content on this service is licensed under " +"the\n" +"<b>Creative Commons Attribution Share-Alike License v3.0 or any later " +"version</b>." +msgstr "" + +#: sugar_network_webui/templates/dialog_about.html:16 +msgid "" +"Likewise, Sugar Network software modules are licensed under the\n" +"<b>General Public License v3.0 or any later version</b>." +msgstr "" + #: sugar_network_webui/templates/dialog_project.html:6 msgid "Creating new project" msgstr "" @@ -456,24 +480,20 @@ msgstr "" msgid "Report to developers: Activity failed to start!" msgstr "" -#: sugar_network_webui/templates/report-form.html:13 +#: sugar_network_webui/templates/report-form.html:12 msgid "You may also add a comment regarding failure conditions." msgstr "" -#: sugar_network_webui/templates/report-form.html:20 +#: sugar_network_webui/templates/report-form.html:19 msgid "Report" msgstr "" -#: sugar_network_webui/templates/report-form.html:27 -#: sugar_network_webui/templates/upload-form.html:40 -msgid "Alpha Version" +#: sugar_network_webui/templates/report-form.html:24 +msgid "Offline mode" msgstr "" -#: sugar_network_webui/templates/report-form.html:29 -#: sugar_network_webui/templates/upload-form.html:42 -msgid "" -"For the time being you need to be connected to the Internet in order to " -"contribute!" +#: sugar_network_webui/templates/report-form.html:26 +msgid "Your report will be queued for upload." msgstr "" #: sugar_network_webui/templates/resource-form.html:5 @@ -603,3 +623,13 @@ msgid "" "work without permission!</b>" msgstr "" +#: sugar_network_webui/templates/upload-form.html:40 +msgid "Alpha Version" +msgstr "" + +#: sugar_network_webui/templates/upload-form.html:42 +msgid "" +"For the time being you need to be connected to the Internet in order to " +"contribute!" +msgstr "" + diff --git a/sugar_network_webui/app.py b/sugar_network_webui/app.py index 8806fa0..1bb40e2 100644 --- a/sugar_network_webui/app.py +++ b/sugar_network_webui/app.py @@ -56,6 +56,7 @@ SyncView.register(app) FeedbackView.register(app) ProjectView.register(app) AboutView.register(app) +ReportView.register(app) @babel.localeselector @@ -210,7 +211,7 @@ def before_request(): @app.route('/') def home(): - return redirect(url_for('resource_list')) + return redirect(url_for('context_grid')) @app.route('/_toggle_connect') @@ -395,14 +396,6 @@ def artifact_download(guid): direct_passthrough=True) -@app.route('/_report') -def report(): - return render_template('report-form.html', - context=request.args.get('context') or '', - implementation=request.args.get('implementation') or '', - filename=request.args.get('filename') or '') - - @app.route('/favorites') def favorites(): if session.get('favorites-filter'): @@ -1006,21 +999,6 @@ def new_review(): return redirect('/context/reviews/%s' % context) -@app.route('/submit_report', methods=['POST']) -def new_report(): - report = g.client.Report() - report['context'] = request.form['context'] - report['implementation'] = request.form['implementation'] - report['description'] = request.form['content'] - report.post() - - filename = request.form.get('filename') - if filename: - report.upload_blob('data', filename) - - return redirect('/resource/problems') - - @app.route('/submit_comment', methods=['POST']) def new_comment(): comment = g.client.Comment() diff --git a/sugar_network_webui/dialogs.py b/sugar_network_webui/dialogs.py index 819758c..8cb9023 100644 --- a/sugar_network_webui/dialogs.py +++ b/sugar_network_webui/dialogs.py @@ -1,7 +1,7 @@ import flask from flask_classy import FlaskView from flaskext.babel import gettext as _ -import logging +#import logging class SyncView(FlaskView): @@ -9,11 +9,14 @@ class SyncView(FlaskView): self.total_comments = flask.g.home_mount.Comments.total self.total_resources = flask.g.home_mount.Resources.total self.total_solutions = flask.g.home_mount.Solutions.total + self.report_cursor = flask.g.home_mount.client.Report.cursor() + self.total_reports = self.report_cursor.total if flask.request.args.get('returnto'): flask.session['returnto'] = flask.request.args.get('returnto') return flask.render_template('synchronize.html', comments_total=self.total_comments, resources_total=self.total_resources, + reports_total=self.total_reports, solutions_total=self.total_solutions) def process(self): @@ -27,8 +30,6 @@ class SyncView(FlaskView): feedback['type'] = local_feedback['type'] feedback.post() new_guids[local_feedback['guid']] = feedback['guid'] - logging.debug('local feedback: %s' % local_feedback['guid']) - logging.debug('new id: %s' % feedback['guid']) flask.g.home_mount.client.Feedback.delete(local_feedback['guid']) @@ -37,6 +38,19 @@ class SyncView(FlaskView): flask.g.network_mount.Ideas._reset() flask.g.network_mount.Reviews._reset() + self.report_cursor = flask.g.home_mount.client.Report.cursor( + reply=['guid', 'context', 'implementation', + 'description', 'version']) + for local_report in self.report_cursor: + report = flask.g.client.Report() + report['context'] = local_report['context'] + report['implementation'] = local_report['implementation'] + report['description'] = local_report['description'] + report.post() + + flask.g.home_mount.client.Report.delete(local_report['guid']) + self.report_cursor._reset() + flask.g.home_mount.Solutions.filter() for local_solution in flask.g.home_mount.Solutions: solution = flask.g.network_mount.client.Solution() @@ -114,3 +128,30 @@ class AboutView(FlaskView): if flask.request.args.get('returnto'): flask.session['returnto'] = flask.request.args.get('returnto') return flask.render_template('dialog_about.html') + + +class ReportView(FlaskView): + route_base = '/_report' + + def index(self): + return flask.render_template('report-form.html', + context=flask.request.args.get('context') or '', + implementation=flask.request.args.get('implementation') or '', + filename=flask.request.args.get('filename') or '') + + def post(self): + report = flask.g.client.Report() + report['context'] = flask.request.form['context'] + report['implementation'] = flask.request.form['implementation'] + report['description'] = flask.request.form['content'] + report.post() + + filename = flask.request.form.get('filename') + if filename: + report.upload_blob('data', filename) + + return flask.render_template('dialog.html', + title='Success', + body=''' +Your report has been recorded for review by developers. +Thank you!''')
\ No newline at end of file diff --git a/sugar_network_webui/templates/report-form.html b/sugar_network_webui/templates/report-form.html index f4f8129..59f444d 100644 --- a/sugar_network_webui/templates/report-form.html +++ b/sugar_network_webui/templates/report-form.html @@ -7,8 +7,7 @@ <img id="cancel-button" class="button window-button" src="/static/icons/dialog-cancel.png" /> </div> </div> - {%- if (session['connected'] or False) -%} - <form id="resource-form1" method="POST" action="/submit_report"> + <form id="resource-form1" method="POST" action="/_report/"> <div class="resource-form-field"> {{_('You may also add a comment regarding failure conditions.')}}<br/> <textarea name="content" class="resource-inputarea" ></textarea> @@ -20,13 +19,12 @@ <input class="sugar-button" type="submit" id="submit" value="{{_('Report')}}" /> </div> </form> - {%- else -%} + {%- if not (session['connected'] or False) -%} <div class="resource-form-field"> + <br/><br/> + <b>{{_('Sugar Network is in offline mode')}}</b> <br/> - <br/> - <b>{{_('Alpha Version')}}</b> - <br/> - {{_('For the time being you need to be connected to the Internet in order to contribute!')}} + {{_('Your report will be queued for upload.')}} </div> {%- endif -%} </div> diff --git a/sugar_network_webui/templates/synchronize.html b/sugar_network_webui/templates/synchronize.html index d0d93f9..4d0a7ec 100644 --- a/sugar_network_webui/templates/synchronize.html +++ b/sugar_network_webui/templates/synchronize.html @@ -13,6 +13,8 @@ {{_('Feedback')}}: {{resources_total}} <br/><br/> {{_('Solutions')}}: {{solutions_total}} + <br/><br/> + {{_('Failure reports')}}: {{reports_total}} </div> {%- if (session['connected'] or False) -%} <div class="resource-form-field"> diff --git a/sugar_network_webui/translations/es/LC_MESSAGES/messages.po b/sugar_network_webui/translations/es/LC_MESSAGES/messages.po index 6b751fc..54e811b 100644 --- a/sugar_network_webui/translations/es/LC_MESSAGES/messages.po +++ b/sugar_network_webui/translations/es/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2012-11-11 05:04-0500\n" +"POT-Creation-Date: 2012-11-13 11:38-0500\n" "PO-Revision-Date: 2012-04-21 20:49-0500\n" "Last-Translator: Sebastian Silva <sebastian@sugarlabs.org>\n" "Language-Team: es <LL@li.org>\n" @@ -17,15 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" -#: sugar_network_webui/app.py:89 +#: sugar_network_webui/app.py:91 msgid "MMMM d, yyyy" msgstr "d 'de' MMMM 'de' 2012" -#: sugar_network_webui/app.py:366 +#: sugar_network_webui/app.py:368 msgid "Artifact has been downloaded." msgstr "Se ha descargado un artefacto." -#: sugar_network_webui/app.py:367 +#: sugar_network_webui/app.py:369 #, python-format msgid "" "Success!\n" @@ -38,16 +38,16 @@ msgstr "" "El archivo %s ha sido copiado a tu carpeta de Documentos.\n" "Puedes acceder a él desde el Diario." -#: sugar_network_webui/app.py:509 +#: sugar_network_webui/app.py:511 msgid "zero results" msgstr "cero resultados" -#: sugar_network_webui/app.py:511 +#: sugar_network_webui/app.py:513 #, python-format msgid "page %(page)s of %(total)s" msgstr "página %(page)s de %(total)s" -#: sugar_network_webui/app.py:550 sugar_network_webui/app.py:839 +#: sugar_network_webui/app.py:552 sugar_network_webui/app.py:844 #: sugar_network_webui/templates/_browser-grid.html:5 #: sugar_network_webui/templates/context-view.html:5 #: sugar_network_webui/templates/context-view.html:25 @@ -55,7 +55,7 @@ msgstr "página %(page)s de %(total)s" msgid "questions" msgstr "preguntas" -#: sugar_network_webui/app.py:553 sugar_network_webui/app.py:842 +#: sugar_network_webui/app.py:555 sugar_network_webui/app.py:847 #: sugar_network_webui/templates/_browser-grid.html:11 #: sugar_network_webui/templates/context-view.html:11 #: sugar_network_webui/templates/context-view.html:31 @@ -63,7 +63,7 @@ msgstr "preguntas" msgid "problems" msgstr "problemas" -#: sugar_network_webui/app.py:556 sugar_network_webui/app.py:845 +#: sugar_network_webui/app.py:558 sugar_network_webui/app.py:850 #: sugar_network_webui/templates/_browser-grid.html:8 #: sugar_network_webui/templates/context-view.html:8 #: sugar_network_webui/templates/context-view.html:28 @@ -71,7 +71,7 @@ msgstr "problemas" msgid "ideas" msgstr "ideas" -#: sugar_network_webui/app.py:559 sugar_network_webui/app.py:777 +#: sugar_network_webui/app.py:561 sugar_network_webui/app.py:779 #: sugar_network_webui/templates/_browser-grid.html:14 #: sugar_network_webui/templates/context-view.html:14 #: sugar_network_webui/templates/context-view.html:34 @@ -79,44 +79,44 @@ msgstr "ideas" msgid "reviews" msgstr "reseñas" -#: sugar_network_webui/app.py:562 sugar_network_webui/app.py:849 +#: sugar_network_webui/app.py:564 sugar_network_webui/app.py:854 msgid "artifacts" msgstr "artefactos" -#: sugar_network_webui/app.py:565 sugar_network_webui/app.py:852 +#: sugar_network_webui/app.py:567 sugar_network_webui/app.py:857 msgid "resources" msgstr "recursos" -#: sugar_network_webui/app.py:579 sugar_network_webui/app.py:861 +#: sugar_network_webui/app.py:581 sugar_network_webui/app.py:866 #, python-format msgid "browsing %(total)s %(resource_label)s" msgstr "navegando por %(total)s %(resource_label)s" -#: sugar_network_webui/app.py:604 sugar_network_webui/app.py:613 +#: sugar_network_webui/app.py:606 sugar_network_webui/app.py:615 msgid "Error" msgstr "Error" -#: sugar_network_webui/app.py:607 +#: sugar_network_webui/app.py:609 msgid "Object not found." msgstr "Objeto no encontrado." -#: sugar_network_webui/app.py:616 +#: sugar_network_webui/app.py:618 msgid "Server error." msgstr "Error de servidor." -#: sugar_network_webui/app.py:649 +#: sugar_network_webui/app.py:651 msgid "activities" msgstr "actividades" -#: sugar_network_webui/app.py:652 +#: sugar_network_webui/app.py:654 msgid "projects" msgstr "proyectos" -#: sugar_network_webui/app.py:656 +#: sugar_network_webui/app.py:658 msgid "contexts" msgstr "contextos" -#: sugar_network_webui/app.py:671 +#: sugar_network_webui/app.py:673 #, python-format msgid "browsing %(total)s %(label)s" msgstr "navegando por %(total)s %(label)s" @@ -249,6 +249,12 @@ msgstr "aún no se puede comentar sin conexión" msgid "collapse" msgstr "colapsar" +#: sugar_network_webui/templates/_context-resource-list.html:79 +#: sugar_network_webui/templates/_context-review-list.html:18 +#: sugar_network_webui/templates/_context-solution-list.html:112 +msgid "New question, idea or problem" +msgstr "" + #: sugar_network_webui/templates/_context-review-list.html:6 msgid "contribute a review" msgstr "aportar una reseña" @@ -387,6 +393,24 @@ msgstr "Licencia" msgid "Work in progress." msgstr "En construcción." +#: sugar_network_webui/templates/dialog_about.html:5 +msgid "About" +msgstr "" + +#: sugar_network_webui/templates/dialog_about.html:13 +msgid "" +"Except where otherwise noted, content on this service is licensed under " +"the\n" +"<b>Creative Commons Attribution Share-Alike License v3.0 or any later " +"version</b>." +msgstr "" + +#: sugar_network_webui/templates/dialog_about.html:16 +msgid "" +"Likewise, Sugar Network software modules are licensed under the\n" +"<b>General Public License v3.0 or any later version</b>." +msgstr "" + #: sugar_network_webui/templates/dialog_project.html:6 #, fuzzy msgid "Creating new project" @@ -473,25 +497,22 @@ msgstr "" msgid "Report to developers: Activity failed to start!" msgstr "Reporte a desarrolladores: ¡La Actividad falló al iniciar!" -#: sugar_network_webui/templates/report-form.html:13 +#: sugar_network_webui/templates/report-form.html:12 msgid "You may also add a comment regarding failure conditions." msgstr "Si lo deseas, deja un comentario sobre las condiciones del fallo." -#: sugar_network_webui/templates/report-form.html:20 +#: sugar_network_webui/templates/report-form.html:19 msgid "Report" msgstr "Reportar" -#: sugar_network_webui/templates/report-form.html:27 -#: sugar_network_webui/templates/upload-form.html:40 -msgid "Alpha Version" -msgstr "Versión Alfa" +#: sugar_network_webui/templates/report-form.html:24 +#, fuzzy +msgid "Offline mode" +msgstr "aún no se puede aportar sin conexión" -#: sugar_network_webui/templates/report-form.html:29 -#: sugar_network_webui/templates/upload-form.html:42 -msgid "" -"For the time being you need to be connected to the Internet in order to " -"contribute!" -msgstr "¡Por ahora es necesario tener conexión para aportar!" +#: sugar_network_webui/templates/report-form.html:26 +msgid "Your report will be queued for upload." +msgstr "" #: sugar_network_webui/templates/resource-form.html:5 msgid "Improve the system" @@ -621,13 +642,13 @@ msgid "" "work without permission!</b>" msgstr "" -#~ msgid "" -#~ "You must use free licenses on " -#~ "everything you publish (conforming to " -#~ "Sugar Labs Licensing Policy)." -#~ msgstr "" -#~ "Debes usar licencias libres para todo" -#~ " lo que publiques (en conformidad con" -#~ " las políticas de licenciamiento de " -#~ "Sugar Labs)." +#: sugar_network_webui/templates/upload-form.html:40 +msgid "Alpha Version" +msgstr "Versión Alfa" + +#: sugar_network_webui/templates/upload-form.html:42 +msgid "" +"For the time being you need to be connected to the Internet in order to " +"contribute!" +msgstr "¡Por ahora es necesario tener conexión para aportar!" diff --git a/sweets.recipe b/sweets.recipe index dbab401..e70a98e 100644 --- a/sweets.recipe +++ b/sweets.recipe @@ -8,7 +8,7 @@ summary = Web UI client for Sugar Network server license = GPLv3+ homepage = http://wiki.sugarlabs.org/go/Platform_Team/Sugar_Network/Browser -version = 0.6 +version = 0.7 stability = developer requires = flask; flask-babel @@ -16,8 +16,8 @@ replaces = mejorar-sistema [Build] install = install -m 0755 -d %(DESTDIR)s/%(PYTHONSITEDIR)s && - cp -r app %(DESTDIR)s/%(PYTHONSITEDIR)s/sugar_network_webui && + cp -r sugar_network_webui %(DESTDIR)s/%(PYTHONSITEDIR)s/sugar_network_webui && true [Source] -include = /*; /app/** +include = /*; /sugar_network_webui/** |