Merge pull request #6086 from Flaburgan/add-services-mobile
Add Services and Privacy settings page to mobile
This commit is contained in:
commit
5ab09f0659
16 changed files with 373 additions and 300 deletions
|
|
@ -40,6 +40,7 @@ bind to an UNIX socket at `unix:tmp/diaspora.sock`. Please change your local
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
* Support color themes [#6033](https://github.com/diaspora/diaspora/pull/6033)
|
* Support color themes [#6033](https://github.com/diaspora/diaspora/pull/6033)
|
||||||
|
* Add mobile services and privacy settings pages [#6086](https://github.com/diaspora/diaspora/pull/6086)
|
||||||
|
|
||||||
# 0.5.2.0
|
# 0.5.2.0
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
@import "header";
|
@import "header";
|
||||||
@import "mobile/tags";
|
@import "mobile/tags";
|
||||||
@import "mobile/conversations";
|
@import "mobile/conversations";
|
||||||
|
@import "mobile/settings";
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: #2489ce;
|
color: #2489ce;
|
||||||
|
|
@ -137,6 +138,7 @@ h3 { margin-top: 0; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.settings_container,
|
||||||
.stream_element,
|
.stream_element,
|
||||||
#login_form {
|
#login_form {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
|
@ -149,15 +151,37 @@ h3 { margin-top: 0; }
|
||||||
border-bottom-color: #aaa;
|
border-bottom-color: #aaa;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stream_element div.img img.avatar {
|
.stream_element {
|
||||||
|
padding: 0px;
|
||||||
|
|
||||||
|
div.img img.avatar {
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stream_element .bd {
|
.bd {
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stream_element .media { padding: 0; }
|
.media {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.photo_attachments {
|
||||||
|
border-radius: 3px 3px 0 0;
|
||||||
|
|
||||||
|
border: {
|
||||||
|
bottom: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.big-stream-photo {
|
||||||
|
border-radius: 3px 3px 0 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
padding: 0; }
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.photo_attachments {
|
.photo_attachments {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -430,22 +454,7 @@ h3 { margin-top: 0; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.floater {
|
.floater {
|
||||||
float: right; }
|
float: right;
|
||||||
|
|
||||||
.stream_element .photo_attachments {
|
|
||||||
border-radius: 3px 3px 0 0;
|
|
||||||
|
|
||||||
border: {
|
|
||||||
bottom: 1px solid #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
img.big-stream-photo {
|
|
||||||
border-radius: 3px 3px 0 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
padding: 0; }
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.photo_area {
|
.photo_area {
|
||||||
|
|
@ -602,7 +611,6 @@ select {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stream_element { padding: 0; }
|
|
||||||
|
|
||||||
.notifications {
|
.notifications {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
|
|
@ -882,20 +890,6 @@ form p.checkbox_select {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#settings_nav {
|
|
||||||
font-size: 1em;
|
|
||||||
|
|
||||||
ul {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
li {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
form#update_profile_form {
|
form#update_profile_form {
|
||||||
select {
|
select {
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
|
|
|
||||||
31
app/assets/stylesheets/mobile/settings.scss
Normal file
31
app/assets/stylesheets/mobile/settings.scss
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
#settings_nav {
|
||||||
|
border-bottom: 1px solid $border-grey;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
|
||||||
|
ul {
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: inline;
|
||||||
|
font-size: 1.7rem;
|
||||||
|
padding: 0px 0.3rem;
|
||||||
|
|
||||||
|
&:first-child { padding-left: 0px; }
|
||||||
|
&:last-child { padding-right: 0px; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.services_page {
|
||||||
|
h3 {
|
||||||
|
margin: 1rem 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.services_explanation {
|
||||||
|
border-top: 1px solid $border-grey;
|
||||||
|
margin-top: 1rem;
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
= render "shared/settings_nav"
|
= render "shared/settings_nav"
|
||||||
|
|
||||||
.container-fluid
|
.container-fluid
|
||||||
|
.row
|
||||||
.col-lg-8.col-lg-offset-2
|
.col-lg-8.col-lg-offset-2
|
||||||
- content_for :submit_block do
|
- content_for :submit_block do
|
||||||
= link_to t("cancel"), local_or_remote_person_path(current_user.person), class: "btn btn-default"
|
= link_to t("cancel"), local_or_remote_person_path(current_user.person), class: "btn btn-default"
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,14 @@
|
||||||
-# licensed under the Affero General Public License version 3 or later. See
|
-# licensed under the Affero General Public License version 3 or later. See
|
||||||
-# the COPYRIGHT file.
|
-# the COPYRIGHT file.
|
||||||
|
|
||||||
|
.settings_container
|
||||||
= render "shared/settings_nav"
|
= render "shared/settings_nav"
|
||||||
|
|
||||||
|
.container-fluid
|
||||||
|
.row
|
||||||
.col-lg-8.col-lg-offset-2
|
.col-lg-8.col-lg-offset-2
|
||||||
- content_for :submit_block do
|
- content_for :submit_block do
|
||||||
= link_to t("cancel"), local_or_remote_person_path(current_user.person), class: "btn btn-default button"
|
= link_to t("cancel"), local_or_remote_person_path(current_user.person), class: "btn btn-default"
|
||||||
= submit_tag t(".update_profile"), class: "btn btn-primary pull-right", id: "update_profile"
|
= submit_tag t(".update_profile"), class: "btn btn-primary pull-right", id: "update_profile"
|
||||||
|
|
||||||
= form_tag profile_path, method: :put, multipart: true, id: "update_profile_form" do
|
= form_tag profile_path, method: :put, multipart: true, id: "update_profile_form" do
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,9 @@
|
||||||
= render 'shared/settings_nav'
|
= render 'shared/settings_nav'
|
||||||
|
|
||||||
.container-fluid
|
.container-fluid
|
||||||
.small-horizontal-spacer
|
.row
|
||||||
.col-lg-8.col-lg-offset-2
|
.col-lg-8.col-lg-offset-2
|
||||||
|
%h3= t('.title')
|
||||||
.col-md-7
|
.col-md-7
|
||||||
= render 'add_remove_services'
|
= render 'add_remove_services'
|
||||||
|
|
||||||
|
|
|
||||||
18
app/views/services/index.mobile.haml
Normal file
18
app/views/services/index.mobile.haml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
-# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
||||||
|
-# licensed under the Affero General Public License version 3 or later. See
|
||||||
|
-# the COPYRIGHT file.
|
||||||
|
|
||||||
|
.settings_container.services_page
|
||||||
|
- content_for :page_title do
|
||||||
|
= t('.edit_services')
|
||||||
|
|
||||||
|
= render 'shared/settings_nav'
|
||||||
|
|
||||||
|
.container-fluid
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= render 'add_remove_services'
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12.services_explanation
|
||||||
|
= t('.services_explanation')
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
%h2.container-fluid.col-md-offset-2= t('settings')
|
#settings_nav.container-fluid
|
||||||
#span-24
|
%h2= t('settings')
|
||||||
%h3
|
%nav
|
||||||
#settings_nav
|
|
||||||
%ul
|
%ul
|
||||||
%li= link_to_unless_current t('profile'), edit_profile_path
|
%li= link_to_unless_current t('profile'), edit_profile_path
|
||||||
|
|
|
||||||
%li= link_to_unless_current t('account'), edit_user_path
|
%li= link_to_unless_current t('account'), edit_user_path
|
||||||
|
%li= link_to_unless_current t('privacy'), privacy_settings_path
|
||||||
|
%li= link_to_unless_current t('_services'), services_path
|
||||||
|
|
|
||||||
204
app/views/users/_edit.haml
Normal file
204
app/views/users/_edit.haml
Normal file
|
|
@ -0,0 +1,204 @@
|
||||||
|
-# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
||||||
|
-# licensed under the Affero General Public License version 3 or later. See
|
||||||
|
-# the COPYRIGHT file.
|
||||||
|
|
||||||
|
- content_for :page_title do
|
||||||
|
= t('.edit_account')
|
||||||
|
|
||||||
|
= render 'shared/settings_nav'
|
||||||
|
|
||||||
|
.container-fluid
|
||||||
|
.row
|
||||||
|
.col-lg-8.col-lg-offset-2
|
||||||
|
.row
|
||||||
|
.col-md-6
|
||||||
|
%h3= t('.your_handle')
|
||||||
|
|
||||||
|
%p
|
||||||
|
%b= current_user.diaspora_handle
|
||||||
|
.col-md-6
|
||||||
|
%h3
|
||||||
|
= t(".your_email")
|
||||||
|
%i.entypo.lock.gray.settings_visibility{title: t("users.edit.your_email_private")}
|
||||||
|
|
||||||
|
|
||||||
|
= form_for 'user', url: user_path, html: { method: :put, class: "form-horizontal col-md-12" , id: "email-form"} do |f|
|
||||||
|
= f.error_messages
|
||||||
|
.form-group
|
||||||
|
= f.text_field :email, value: @user.unconfirmed_email || @user.email, class: "col-md-7 form-control"
|
||||||
|
.clearfix= f.submit t('.change_email'), class: "btn btn-primary pull-right"
|
||||||
|
- if @user.unconfirmed_email.present?
|
||||||
|
%div= t('.email_awaiting_confirmation', email: @user.email, :unconfirmed_email => @user.unconfirmed_email)
|
||||||
|
%hr
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%h3= t('.change_password')
|
||||||
|
= form_for @user, url: user_path, html: { method: :put, class: "form-horizontal" } do |f|
|
||||||
|
- if (@user.errors.keys & [:password, :password_confirmation, :current_password]).present?
|
||||||
|
= f.error_messages
|
||||||
|
.form-group
|
||||||
|
= f.label :current_password, t('.current_password'), class: "col-sm-6 control-label"
|
||||||
|
.col-sm-6
|
||||||
|
= f.password_field :current_password, placeholder: t('.current_password_expl'), class: "form-control"
|
||||||
|
.form-group
|
||||||
|
= f.label :password, t('.new_password'), class: "col-sm-6 control-label"
|
||||||
|
%div.col-sm-6
|
||||||
|
= f.password_field :password, placeholder: t('.character_minimum_expl'), class: "form-control"
|
||||||
|
.form-group
|
||||||
|
= f.label :password_confirmation, t('password_confirmation'), class: "col-sm-6 control-label"
|
||||||
|
.col-sm-6
|
||||||
|
= f.password_field :password_confirmation, placeholder: t('.character_minimum_expl'), class: "form-control"
|
||||||
|
|
||||||
|
.clearfix
|
||||||
|
= f.submit t('.change_password'), class: "btn btn-primary pull-right", name: 'change_password'
|
||||||
|
%hr
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%h3= t('.change_language')
|
||||||
|
= form_for 'user', url: user_path, html: { method: :put} do |f|
|
||||||
|
.form-inline.clearfix
|
||||||
|
= f.select :language, available_language_options, {}, { class: 'form-control form-group' }
|
||||||
|
= f.submit t('.change_language'), class: "btn btn-primary pull-right"
|
||||||
|
%hr
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%h3= t(".change_color_theme")
|
||||||
|
= form_for "user", url: user_path, html: {method: :put} do |f|
|
||||||
|
.form-inline.clearfix
|
||||||
|
= f.select :color_theme, available_color_themes, {}, {class: "form-control form-group"}
|
||||||
|
= f.submit t(".change_color_theme"), class: "btn btn-primary pull-right"
|
||||||
|
%hr
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%h3#stream-preferences
|
||||||
|
= t('.stream_preferences')
|
||||||
|
= form_for current_user, url: user_path, html: { method: :put } do |f|
|
||||||
|
|
||||||
|
= f.fields_for :stream_preferences do |type|
|
||||||
|
#stream_prefs
|
||||||
|
- if AppConfig.settings.community_spotlight.enable?
|
||||||
|
= f.label :show_community_spotlight_in_stream, class: "checkbox-inline" do
|
||||||
|
= f.check_box :show_community_spotlight_in_stream
|
||||||
|
= t('.show_community_spotlight')
|
||||||
|
|
||||||
|
= f.label :getting_started, class: "checkbox-inline" do
|
||||||
|
= f.check_box :getting_started
|
||||||
|
= t('.show_getting_started')
|
||||||
|
|
||||||
|
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right'
|
||||||
|
%hr
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%h3#auto-follow-back-preferences
|
||||||
|
= t('.following')
|
||||||
|
= form_for current_user, url: user_path, html: { method: :put, class: "form-horizontal"} do |f|
|
||||||
|
= f.label :auto_follow_back, class: "checkbox-inline" do
|
||||||
|
= f.check_box :auto_follow_back
|
||||||
|
= t('.auto_follow_back')
|
||||||
|
.small-horizontal-spacer
|
||||||
|
.form-group.row
|
||||||
|
%label.col-sm-6.control-label= t('.auto_follow_aspect')
|
||||||
|
.col-sm-6
|
||||||
|
= f.select :auto_follow_back_aspect_id, aspect_options_for_select(current_user.aspects), {}, { class: 'form-control' }
|
||||||
|
|
||||||
|
.small-horizontal-spacer
|
||||||
|
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right'
|
||||||
|
%hr
|
||||||
|
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%h3
|
||||||
|
= t('.receive_email_notifications')
|
||||||
|
= form_for 'user', url: user_path, html: { method: :put } do |f|
|
||||||
|
= f.fields_for :email_preferences do |type|
|
||||||
|
#email_prefs
|
||||||
|
- if current_user.admin?
|
||||||
|
= type.label :someone_reported, class: "checkbox-inline" do
|
||||||
|
= type.check_box :someone_reported, {checked: @email_prefs['someone_reported']}, false, true
|
||||||
|
= t('.someone_reported')
|
||||||
|
|
||||||
|
.small-horizontal-spacer
|
||||||
|
|
||||||
|
= type.label :started_sharing, class: "checkbox-inline" do
|
||||||
|
= type.check_box :started_sharing, {checked: @email_prefs['started_sharing']}, false, true
|
||||||
|
= t('.started_sharing')
|
||||||
|
.small-horizontal-spacer
|
||||||
|
|
||||||
|
= type.label :mentioned, class: "checkbox-inline" do
|
||||||
|
= type.check_box :mentioned, {checked: @email_prefs['mentioned']}, false, true
|
||||||
|
= t('.mentioned')
|
||||||
|
.small-horizontal-spacer
|
||||||
|
|
||||||
|
= type.label :liked, class: "checkbox-inline" do
|
||||||
|
= type.check_box :liked, {checked: @email_prefs['liked']}, false, true
|
||||||
|
= t('.liked')
|
||||||
|
.small-horizontal-spacer
|
||||||
|
|
||||||
|
= type.label :reshared, class: "checkbox-inline" do
|
||||||
|
= type.check_box :reshared, {checked: @email_prefs['reshared']}, false, true
|
||||||
|
= t('.reshared')
|
||||||
|
.small-horizontal-spacer
|
||||||
|
|
||||||
|
= type.label :comment_on_post, class: "checkbox-inline" do
|
||||||
|
= type.check_box :comment_on_post, {checked: @email_prefs['comment_on_post']}, false, true
|
||||||
|
= t('.comment_on_post')
|
||||||
|
.small-horizontal-spacer
|
||||||
|
|
||||||
|
= type.label :also_commented, class: "checkbox-inline" do
|
||||||
|
= type.check_box :also_commented, {checked: @email_prefs['also_commented']}, false, true
|
||||||
|
= t('.also_commented')
|
||||||
|
.small-horizontal-spacer
|
||||||
|
|
||||||
|
= type.label :private_message, class: "checkbox-inline" do
|
||||||
|
= type.check_box :private_message, {checked: @email_prefs['private_message']}, false, true
|
||||||
|
= t('.private_message')
|
||||||
|
|
||||||
|
.small-horizontal-spacer
|
||||||
|
|
||||||
|
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right', id: "change_email_preferences"
|
||||||
|
%hr
|
||||||
|
|
||||||
|
.row
|
||||||
|
#account_data.col-lg-7
|
||||||
|
.row
|
||||||
|
.col-md-6
|
||||||
|
%h3= t('.export_data')
|
||||||
|
.form-group
|
||||||
|
- if current_user.exporting
|
||||||
|
.export-in-progress= t('.export_in_progress')
|
||||||
|
- elsif current_user.export.present?
|
||||||
|
= link_to t('.request_export_update'), export_profile_user_path, method: :post, class: "btn btn-default btn-block"
|
||||||
|
.small-horizontal-spacer
|
||||||
|
= link_to t('.download_export'), download_profile_user_path, class: "btn btn-success btn-block"
|
||||||
|
.small-horizontal-spacer
|
||||||
|
%h6
|
||||||
|
= t('.last_exported_at', timestamp: current_user.exported_at)
|
||||||
|
- else
|
||||||
|
= link_to t('.request_export'), export_profile_user_path, method: :post, class: "btn btn-default btn-block"
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
- if current_user.exporting_photos
|
||||||
|
.export-in-progress= t('.export_photos_in_progress')
|
||||||
|
- elsif current_user.exported_photos_file.present?
|
||||||
|
= link_to t('.request_export_photos_update'), export_photos_user_path, class: "btn btn-default btn-block"
|
||||||
|
.small-horizontal-spacer
|
||||||
|
= link_to t('.download_export_photos'), download_photos_user_path, method: :post, class: "btn btn-success btn-block"
|
||||||
|
.small-horizontal-spacer
|
||||||
|
%h6
|
||||||
|
= t('.last_exported_at', timestamp: current_user.exported_photos_at)
|
||||||
|
- else
|
||||||
|
= link_to t('.request_export_photos'), export_photos_user_path, method: :post, class: "btn btn-default btn-block"
|
||||||
|
|
||||||
|
.col-lg-5
|
||||||
|
%h3
|
||||||
|
= t('.close_account_text')
|
||||||
|
.form-group
|
||||||
|
.btn.btn-danger{ id: "close_account", data: {toggle: "modal", target: "#closeAccountModal"}}
|
||||||
|
= t(".close_account_text")
|
||||||
|
= render "close_account_modal"
|
||||||
35
app/views/users/_privacy_settings.haml
Normal file
35
app/views/users/_privacy_settings.haml
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
= render 'shared/settings_nav'
|
||||||
|
|
||||||
|
.container-fluid
|
||||||
|
.row
|
||||||
|
.col-lg-8.col-lg-offset-2
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%h3
|
||||||
|
= t('.title')
|
||||||
|
|
||||||
|
= form_for current_user, url: user_path, html: { method: :put } do |f|
|
||||||
|
= f.error_messages
|
||||||
|
|
||||||
|
= f.fields_for :stream_preferences do |type|
|
||||||
|
#stream_prefs.checkbox
|
||||||
|
= f.label :strip_exif do
|
||||||
|
= f.check_box :strip_exif
|
||||||
|
= t('.strip_exif')
|
||||||
|
= f.submit t('users.edit.change'), class: 'btn btn-primary pull-right'
|
||||||
|
%hr
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%h3
|
||||||
|
= t('.ignored_users')
|
||||||
|
|
||||||
|
- if @blocks.length.zero?
|
||||||
|
%p
|
||||||
|
= t('.no_user_ignored_message')
|
||||||
|
|
||||||
|
- @blocks.each do |block|
|
||||||
|
= block.person_name
|
||||||
|
\-
|
||||||
|
= link_to t('.stop_ignoring'), block_path(block),
|
||||||
|
method: :delete
|
||||||
|
|
@ -1,196 +0,0 @@
|
||||||
-# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
|
||||||
-# licensed under the Affero General Public License version 3 or later. See
|
|
||||||
-# the COPYRIGHT file.
|
|
||||||
|
|
||||||
- content_for :page_title do
|
|
||||||
= t('.edit_account')
|
|
||||||
|
|
||||||
.container-fluid
|
|
||||||
= render 'shared/settings_nav'
|
|
||||||
|
|
||||||
.container-fluid
|
|
||||||
.col-lg-8.col-lg-offset-2
|
|
||||||
.row
|
|
||||||
.col-md-6
|
|
||||||
%h3= t('.your_handle')
|
|
||||||
|
|
||||||
%p
|
|
||||||
%b= current_user.diaspora_handle
|
|
||||||
.col-md-6
|
|
||||||
%h3
|
|
||||||
= t(".your_email")
|
|
||||||
%i.entypo.lock.gray.settings_visibility{title: t("users.edit.your_email_private")}
|
|
||||||
|
|
||||||
|
|
||||||
= form_for 'user', url: user_path, html: { method: :put, class: "form-horizontal col-md-12" , id: "email-form"} do |f|
|
|
||||||
= f.error_messages
|
|
||||||
.form-group
|
|
||||||
= f.text_field :email, value: @user.unconfirmed_email || @user.email, class: "col-md-7 form-control"
|
|
||||||
.form-group
|
|
||||||
.clearfix= f.submit t('.change_email'), class: "btn btn-primary pull-right"
|
|
||||||
- if @user.unconfirmed_email.present?
|
|
||||||
%div= t('.email_awaiting_confirmation', email: @user.email, :unconfirmed_email => @user.unconfirmed_email)
|
|
||||||
|
|
||||||
%hr
|
|
||||||
|
|
||||||
%h3= t('.change_password')
|
|
||||||
= form_for @user, url: user_path, html: { method: :put, class: "form-horizontal" } do |f|
|
|
||||||
- if (@user.errors.keys & [:password, :password_confirmation, :current_password]).present?
|
|
||||||
= f.error_messages
|
|
||||||
%div.form-group
|
|
||||||
= f.label :current_password, t('.current_password'), class: "col-sm-6 control-label"
|
|
||||||
%div.col-sm-6
|
|
||||||
= f.password_field :current_password, placeholder: t('.current_password_expl'), class: "form-control"
|
|
||||||
%div.form-group
|
|
||||||
= f.label :password, t('.new_password'), class: "col-sm-6 control-label"
|
|
||||||
%div.col-sm-6
|
|
||||||
= f.password_field :password, placeholder: t('.character_minimum_expl'), class: "form-control"
|
|
||||||
%div.form-group
|
|
||||||
= f.label :password_confirmation, t('password_confirmation'), class: "col-sm-6 control-label"
|
|
||||||
%div.col-sm-6
|
|
||||||
= f.password_field :password_confirmation, placeholder: t('.character_minimum_expl'), class: "form-control"
|
|
||||||
|
|
||||||
.clearfix
|
|
||||||
= f.submit t('.change_password'), class: "btn btn-primary pull-right", name: 'change_password'
|
|
||||||
|
|
||||||
%hr
|
|
||||||
|
|
||||||
%h3= t('.change_language')
|
|
||||||
= form_for 'user', url: user_path, html: { method: :put} do |f|
|
|
||||||
.form-inline.clearfix
|
|
||||||
= f.select :language, available_language_options, {}, { class: 'form-control form-group' }
|
|
||||||
= f.submit t('.change_language'), class: "btn btn-primary pull-right"
|
|
||||||
|
|
||||||
%hr
|
|
||||||
|
|
||||||
%h3= t(".change_color_theme")
|
|
||||||
= form_for "user", url: user_path, html: {method: :put} do |f|
|
|
||||||
.form-inline.clearfix
|
|
||||||
= f.select :color_theme, available_color_themes, {}, {class: "form-control form-group"}
|
|
||||||
= f.submit t(".change_color_theme"), class: "btn btn-primary pull-right"
|
|
||||||
|
|
||||||
%hr
|
|
||||||
|
|
||||||
%h3#stream-preferences
|
|
||||||
= t('.stream_preferences')
|
|
||||||
= form_for current_user, url: user_path, html: { method: :put } do |f|
|
|
||||||
|
|
||||||
= f.fields_for :stream_preferences do |type|
|
|
||||||
#stream_prefs
|
|
||||||
- if AppConfig.settings.community_spotlight.enable?
|
|
||||||
= f.label :show_community_spotlight_in_stream, class: "checkbox-inline" do
|
|
||||||
= f.check_box :show_community_spotlight_in_stream
|
|
||||||
= t('.show_community_spotlight')
|
|
||||||
|
|
||||||
= f.label :getting_started, class: "checkbox-inline" do
|
|
||||||
= f.check_box :getting_started
|
|
||||||
= t('.show_getting_started')
|
|
||||||
|
|
||||||
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right'
|
|
||||||
|
|
||||||
%hr
|
|
||||||
|
|
||||||
%h3#auto-follow-back-preferences
|
|
||||||
= t('.following')
|
|
||||||
= form_for current_user, url: user_path, html: { method: :put, class: "form-horizontal"} do |f|
|
|
||||||
= f.label :auto_follow_back, class: "checkbox-inline" do
|
|
||||||
= f.check_box :auto_follow_back
|
|
||||||
= t('.auto_follow_back')
|
|
||||||
.small-horizontal-spacer
|
|
||||||
%div.form-group.row
|
|
||||||
%label.col-sm-6.control-label= t('.auto_follow_aspect')
|
|
||||||
%div.col-sm-6
|
|
||||||
= f.select :auto_follow_back_aspect_id, aspect_options_for_select(current_user.aspects), {}, { class: 'form-control' }
|
|
||||||
|
|
||||||
.small-horizontal-spacer
|
|
||||||
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right'
|
|
||||||
|
|
||||||
%hr
|
|
||||||
|
|
||||||
%h3
|
|
||||||
= t('.receive_email_notifications')
|
|
||||||
= form_for 'user', url: user_path, html: { method: :put } do |f|
|
|
||||||
= f.fields_for :email_preferences do |type|
|
|
||||||
#email_prefs
|
|
||||||
- if current_user.admin?
|
|
||||||
= type.label :someone_reported, class: "checkbox-inline" do
|
|
||||||
= type.check_box :someone_reported, {checked: @email_prefs['someone_reported']}, false, true
|
|
||||||
= t('.someone_reported')
|
|
||||||
|
|
||||||
.small-horizontal-spacer
|
|
||||||
|
|
||||||
= type.label :started_sharing, class: "checkbox-inline" do
|
|
||||||
= type.check_box :started_sharing, {checked: @email_prefs['started_sharing']}, false, true
|
|
||||||
= t('.started_sharing')
|
|
||||||
.small-horizontal-spacer
|
|
||||||
|
|
||||||
= type.label :mentioned, class: "checkbox-inline" do
|
|
||||||
= type.check_box :mentioned, {checked: @email_prefs['mentioned']}, false, true
|
|
||||||
= t('.mentioned')
|
|
||||||
.small-horizontal-spacer
|
|
||||||
|
|
||||||
= type.label :liked, class: "checkbox-inline" do
|
|
||||||
= type.check_box :liked, {checked: @email_prefs['liked']}, false, true
|
|
||||||
= t('.liked')
|
|
||||||
.small-horizontal-spacer
|
|
||||||
|
|
||||||
= type.label :reshared, class: "checkbox-inline" do
|
|
||||||
= type.check_box :reshared, {checked: @email_prefs['reshared']}, false, true
|
|
||||||
= t('.reshared')
|
|
||||||
.small-horizontal-spacer
|
|
||||||
|
|
||||||
= type.label :comment_on_post, class: "checkbox-inline" do
|
|
||||||
= type.check_box :comment_on_post, {checked: @email_prefs['comment_on_post']}, false, true
|
|
||||||
= t('.comment_on_post')
|
|
||||||
.small-horizontal-spacer
|
|
||||||
|
|
||||||
= type.label :also_commented, class: "checkbox-inline" do
|
|
||||||
= type.check_box :also_commented, {checked: @email_prefs['also_commented']}, false, true
|
|
||||||
= t('.also_commented')
|
|
||||||
.small-horizontal-spacer
|
|
||||||
|
|
||||||
= type.label :private_message, class: "checkbox-inline" do
|
|
||||||
= type.check_box :private_message, {checked: @email_prefs['private_message']}, false, true
|
|
||||||
= t('.private_message')
|
|
||||||
|
|
||||||
.small-horizontal-spacer
|
|
||||||
|
|
||||||
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right', id: "change_email_preferences"
|
|
||||||
|
|
||||||
%hr
|
|
||||||
.row
|
|
||||||
#account_data.col-lg-7
|
|
||||||
.row
|
|
||||||
%h3.col-md-12= t('.export_data')
|
|
||||||
.col-md-6.form-group
|
|
||||||
- if current_user.exporting
|
|
||||||
.export-in-progress= t('.export_in_progress')
|
|
||||||
- elsif current_user.export.present?
|
|
||||||
= link_to t('.request_export_update'), export_profile_user_path, method: :post, class: "btn btn-default btn-block"
|
|
||||||
.small-horizontal-spacer
|
|
||||||
= link_to t('.download_export'), download_profile_user_path, class: "btn btn-success btn-block"
|
|
||||||
.small-horizontal-spacer
|
|
||||||
%h6
|
|
||||||
= t('.last_exported_at', timestamp: current_user.exported_at)
|
|
||||||
- else
|
|
||||||
= link_to t('.request_export'), export_profile_user_path, method: :post, class: "btn btn-default btn-block"
|
|
||||||
|
|
||||||
.col-md-6.form-group
|
|
||||||
- if current_user.exporting_photos
|
|
||||||
.export-in-progress= t('.export_photos_in_progress')
|
|
||||||
- elsif current_user.exported_photos_file.present?
|
|
||||||
= link_to t('.request_export_photos_update'), export_photos_user_path, class: "btn btn-default btn-block"
|
|
||||||
.small-horizontal-spacer
|
|
||||||
= link_to t('.download_export_photos'), download_photos_user_path, method: :post, class: "btn btn-success btn-block"
|
|
||||||
.small-horizontal-spacer
|
|
||||||
%h6
|
|
||||||
= t('.last_exported_at', timestamp: current_user.exported_photos_at)
|
|
||||||
- else
|
|
||||||
= link_to t('.request_export_photos'), export_photos_user_path, method: :post, class: "btn btn-default btn-block"
|
|
||||||
|
|
||||||
.col-lg-5
|
|
||||||
%h3.text-right
|
|
||||||
= t('.close_account_text')
|
|
||||||
.btn.btn-danger.pull-right{ id: "close_account", data: {toggle: "modal", target: "#closeAccountModal"}}
|
|
||||||
= t(".close_account_text")
|
|
||||||
= render "close_account_modal"
|
|
||||||
2
app/views/users/edit.html.haml
Normal file
2
app/views/users/edit.html.haml
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
.container-fluid
|
||||||
|
= render "edit"
|
||||||
2
app/views/users/edit.mobile.haml
Normal file
2
app/views/users/edit.mobile.haml
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
.settings_container
|
||||||
|
= render "edit"
|
||||||
|
|
@ -6,37 +6,4 @@
|
||||||
= t('.title')
|
= t('.title')
|
||||||
|
|
||||||
.container-fluid
|
.container-fluid
|
||||||
= render 'shared/settings_nav'
|
= render "privacy_settings"
|
||||||
|
|
||||||
.container-fluid
|
|
||||||
.col-lg-8.col-lg-offset-2
|
|
||||||
%h3
|
|
||||||
= t('.title')
|
|
||||||
|
|
||||||
= form_for current_user, url: user_path, html: { method: :put } do |f|
|
|
||||||
= f.error_messages
|
|
||||||
|
|
||||||
= f.fields_for :stream_preferences do |type|
|
|
||||||
#stream_prefs
|
|
||||||
= f.label :strip_exif, class: "checkbox" do
|
|
||||||
= f.check_box :strip_exif
|
|
||||||
= t('.strip_exif')
|
|
||||||
|
|
||||||
.small-horizontal-spacer
|
|
||||||
.clearfix
|
|
||||||
= f.submit t('users.edit.change'), class: 'btn btn-primary pull-right'
|
|
||||||
|
|
||||||
%hr
|
|
||||||
.small-horizontal-spacer
|
|
||||||
%h3
|
|
||||||
= t('.ignored_users')
|
|
||||||
|
|
||||||
- if @blocks.length.zero?
|
|
||||||
= t('.no_user_ignored_message')
|
|
||||||
|
|
||||||
- @blocks.each do |block|
|
|
||||||
= block.person_name
|
|
||||||
\-
|
|
||||||
= link_to t('.stop_ignoring'), block_path(block),
|
|
||||||
method: :delete
|
|
||||||
%br
|
|
||||||
|
|
|
||||||
9
app/views/users/privacy_settings.mobile.haml
Normal file
9
app/views/users/privacy_settings.mobile.haml
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
-# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
||||||
|
-# licensed under the Affero General Public License version 3 or later. See
|
||||||
|
-# the COPYRIGHT file.
|
||||||
|
|
||||||
|
.settings_container
|
||||||
|
- content_for :page_title do
|
||||||
|
= t('.title')
|
||||||
|
|
||||||
|
= render "privacy_settings"
|
||||||
|
|
@ -1100,14 +1100,15 @@ en:
|
||||||
twitter: "Twitter"
|
twitter: "Twitter"
|
||||||
wordpress: "WordPress"
|
wordpress: "WordPress"
|
||||||
index:
|
index:
|
||||||
|
title: "Manage connected services"
|
||||||
connect: "Connect"
|
connect: "Connect"
|
||||||
disconnect: "Disconnect"
|
disconnect: "Disconnect"
|
||||||
logged_in_as: "Logged in as %{nickname}."
|
logged_in_as: "Logged in as %{nickname}."
|
||||||
no_services_available: "There are no services on this pod available."
|
no_services_available: "There are no services available on this pod."
|
||||||
not_logged_in: "Currently not logged in."
|
not_logged_in: "Currently not logged in."
|
||||||
really_disconnect: "Disconnect %{service}?"
|
really_disconnect: "Disconnect %{service}?"
|
||||||
edit_services: "Edit services"
|
edit_services: "Edit services"
|
||||||
services_explanation: "Connecting to services gives you the ability to publish your posts to them as you write them in diaspora*."
|
services_explanation: "Connecting to third-party sharing services gives you the ability to publish your posts to them as you write them in diaspora*."
|
||||||
create:
|
create:
|
||||||
success: "Authentication successful."
|
success: "Authentication successful."
|
||||||
failure: "Authentication failed."
|
failure: "Authentication failed."
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue