diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..f06f5b703 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,38 @@ +## Miembros del equipo + +* Raimond Garcia [github](https://github.com/voodoorai2000) | [twitter](https://twitter.com/voodoorai2000) +* Juanjo Bazán [github](https://github.com/xuanxu) | [twitter](https://twitter.com/xuanxu) +* Enrique García Cota [github](https://github.com/kikito) | [twitter](https://twitter.com/otikik) +* Alberto Garcia Cabeza [github](https://github.com/decabeza) | [twitter](https://twitter.com/decabeza) + +## Comunicación general y de incidencias + +El método preferido para informar sobre una incidencia en el proyecto es [creando una incidencia en la cuenta de Github del proyecto](https://github.com/AyuntamientoMadrid/participacion/issues/new). + +Para comunicación más puntual e informal, contacta con los miembros del equipo por twitter. + +## Resolver una incidencia + +Cuando quieras resolver una incidencia mediante código: + +* Avisa de que vas a trabajar en esta incidencia añadiendo un comentario +* Haz un fork del proyecto +* Crea una rama para resolver la incidencia desde la rama `master` +* Añade el código necesario para resolver la incidencia en tantos commits como sea preciso +* Asegúrate de que los tests pasan (y escribe más tests para probar la nueva funcionalidad si fuera preciso) +* Envía una *pull request* al repositorio principal indicando la incidencia que se está arreglando + +## Otras formas de contribuir sin código + +* Si crees que hay una funcionalidad que hace falta, o descubres un problema, abre una incidencia (asegúrate de que + no haya una incidencia para lo mismo ya abierta antes) +* También puedes ayudar dando este proyecto a conocer + +## Cómo escribir una incidencia + +* Trata de darle un título descriptivo (algo más que "xxx no funciona"). +* Es buena idea incluir las siguientes secciones: + * Pasos que se han realizado para producir la incidencia + * Lo que se esperaba que pasara + * Lo que ha pasado +* También es buena idea que incluyas tu sistema operativo, navegador, versión de navegador y plugins instalados. diff --git a/MIT-LICENSE.md b/MIT-LICENSE.md new file mode 100644 index 000000000..8bdbc6043 --- /dev/null +++ b/MIT-LICENSE.md @@ -0,0 +1,21 @@ +# The MIT License (MIT) + +## Copyright (c) 2015 Ayuntamiento de Madrid + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 000000000..648cefd8d --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# Aplicación de Participación Ciudadana del Ayuntamiento de Madrid + +Este es el repositorio de código abierto de la Aplicación de Participación Ciudadana del Ayuntamiento de Madrid. + +## Estado del proyecto + +El desarrollo de esta aplicación comenzó el [15 de Julio de 2015](https://github.com/AyuntamientoMadrid/participacion/commit/8db36308379accd44b5de4f680a54c41a0cc6fc6) + +Este proyecto está en las primeras fases de su desarrollo. Las funcionalidades actualmente presentes en el código, así como sus nombres, deben considerarse como provisionales. + +## Tecnología + +El backend de esta aplicación se desarrolla con el lenguaje de programación [Ruby](https://www.ruby-lang.org/) sobre el *framework* [Ruby on Rails](http://rubyonrails.org/). +Las herramientas utilizadas para el frontend no están cerradas aún. Los estilos de la página usan [SCSS](http://sass-lang.com/) sobre [Foundation](http://foundation.zurb.com/) + +## Configuración para desarrollo y tests + +Prerequisitos: tener instalado git, Ruby 2.2.2, la gema `bundler`, y una librería moderna de PostgreSQL. + +``` +cd participacion +bundle install +cp config/database.yml.example config/database.yml +cp config/secrets.yml.example config/secrets.yml +bundle exec bin/rake db:create db:schema_load +RAILS_ENV=test bundle exec rake db:create db:schema_load +``` + +Para ejecutar la aplicación en local: +``` +bundle exec bin/rails s +``` + +Para ejecutar los tests: +``` +bundle exec bin/rspec +``` + +## Licencia + +El código de este proyecto está publicado bajo la licencia MIT (ver MIT-license.md) + +## Contribuciones + +Ver fichero CONTRIBUTING.md diff --git a/README.rdoc b/README.rdoc deleted file mode 100644 index dd4e97e22..000000000 --- a/README.rdoc +++ /dev/null @@ -1,28 +0,0 @@ -== README - -This README would normally document whatever steps are necessary to get the -application up and running. - -Things you may want to cover: - -* Ruby version - -* System dependencies - -* Configuration - -* Database creation - -* Database initialization - -* How to run the test suite - -* Services (job queues, cache servers, search engines, etc.) - -* Deployment instructions - -* ... - - -Please feel free to use a different markup language if you do not plan to run -rake doc:app. diff --git a/app/assets/images/comments_divider.png b/app/assets/images/comments_divider.png new file mode 100644 index 000000000..1d2bffd9b Binary files /dev/null and b/app/assets/images/comments_divider.png differ diff --git a/app/assets/images/user_default_2.jpg b/app/assets/images/user_default_2.jpg new file mode 100644 index 000000000..ed164ab57 Binary files /dev/null and b/app/assets/images/user_default_2.jpg differ diff --git a/app/assets/stylesheets/debates.scss b/app/assets/stylesheets/debates.scss index d99c589f8..d25beb53f 100644 --- a/app/assets/stylesheets/debates.scss +++ b/app/assets/stylesheets/debates.scss @@ -8,7 +8,7 @@ // 05.1. Debates Index // 05.2. Debates Show // 06. Comments -// 06. Tags +// 07. Tags // // 01. Variables @@ -24,6 +24,9 @@ $brand: #0077B9; $debates: #008CCF; $comments-bg: #FAF9F8; +$comments-info: #A5B2B9; +$comments-text: #3F4549; + $header-color: #292B33; $link: #0077B9; @@ -33,7 +36,7 @@ $tags-border: #F0F0F0; $tags-color: #8F8F8F; $text-color: #919399; -$text-medium: #999999; +$text-medium: #999999; $text-light: #a3a6ad; $votes-background: #EDEDED; @@ -92,7 +95,7 @@ header { } h1 { - color: white; + color: white; font-size: rem-calc(45); font-weight: bolder; line-height: $line-height*3; @@ -231,7 +234,7 @@ header { margin-bottom: $line-height; } } - + .votes { background: $votes-background; margin: -5px -20px -20px -20px; @@ -291,15 +294,16 @@ header { .debate-show { color: $text-medium; margin-top: $line-height; - padding: 0 $line-height/2; + margin-bottom: $line-height*2; + padding: 0 $line-height/2; .back { color: $text-light; font-size: rem-calc(13); line-height: $line-height; - } + } - h1 { + h1 { clear: both; font-size: rem-calc(24); font-weight: bold; @@ -323,7 +327,7 @@ header { font-size: rem-calc(14); line-height: $line-height; margin-bottom: 0; - } + } } .author-photo { @@ -335,13 +339,13 @@ header { vertical-align: middle; width: 32px; } - + .votes { border: 1px solid $votes-border; box-shadow: 0 2px 0 rgba(0,0,0,.1); border-radius: 3px; padding: $line-height/2; - + .fi-like { background: $votes-like; border: 1px solid $votes-like-b; @@ -398,6 +402,10 @@ header { width: 1px; } } + + .publish-comment { + margin-top: $line-height; + } } // 06. Comments @@ -405,19 +413,71 @@ header { .comments { background: $comments-bg; - margin-top: $line-height*2; + background-image: url('comments_divider.png'); + background-repeat: repeat-x; padding-top: $line-height; + padding-bottom: $line-height*4; h2 { margin: 0; font-weight: bold; } + + .comment { + margin: $line-height/4 0; + + p { + color: $comments-text; + font-size: rem-calc(15); + margin-bottom: 0; + } + + a { + color: $comments-info; + } + + .user-photo { + border-radius: 2px; + display: inline-block; + height: 32px; + line-height: $line-height*2; + margin-right: $line-height/4; + vertical-align: top; + width: 32px; + } + + .comment-body { + margin-left: $line-height*1.6; + + .reply { + font-size: rem-calc(12); + font-weight: lighter; + } + } + + .comment-children { + border-left: 1px dotted $border; + margin-left: $line-height*1.6; + padding-left: $line-height/4; + + @media only screen and (max-width: 40em) { + margin-left: $line-height/1.5; + } + } + + .comment-info { + color: $comments-info; + font-size: rem-calc(13); + font-weight: lighter; + vertical-align: middle; + } + } } // 07. Tags // - - - - - - - - - - - - - - - - - - - - - - - - - -.tags a { +.tags a { background: $tags-bg; border: 1px solid $tags-border; border-radius: 3px; diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb new file mode 100644 index 000000000..fa626ece9 --- /dev/null +++ b/app/controllers/account_controller.rb @@ -0,0 +1,23 @@ +class AccountController < ApplicationController + + before_action :authenticate_user! + before_action :set_account + + def show + end + + def update + flash[:notice] = t("flash.actions.save_changes.notice") if @account.update(account_params) + redirect_to account_path + end + + private + def set_account + @account = current_user + end + + def account_params + params.require(:account).permit(:first_name, :last_name) + end + +end diff --git a/app/views/account/show.html.erb b/app/views/account/show.html.erb new file mode 100644 index 000000000..b3d45d967 --- /dev/null +++ b/app/views/account/show.html.erb @@ -0,0 +1,13 @@ +
<%= pluralize(@debate.total_votes, t("debates.debate.vote"), t("debates.debate.votes")) %>
+ + ++ <%= pluralize(@debate.total_votes, t("debates.debate.vote"), t("debates.debate.votes")) %> +
+
<%= comment.user.name %>
-hace <%= time_ago_in_words(comment.created_at) %>
-<%= comment.body %>
+<%= comment.body %>
+<%= render 'comments/form', parent: comment %>
+