From 8b1f7f1e8ccb2f588e4477c24ed87855faf810d7 Mon Sep 17 00:00:00 2001 From: Victoria Wang Date: Fri, 6 Feb 2015 14:00:19 -0600 Subject: [PATCH 1/7] Fixes to browse page/site suggestions screenshot galleries on mobile --- sass/_project-sass/_project-Main.scss | 1 + .../_project-Website-Gallery.scss | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/sass/_project-sass/_project-Main.scss b/sass/_project-sass/_project-Main.scss index d9c584ba..4824fc86 100644 --- a/sass/_project-sass/_project-Main.scss +++ b/sass/_project-sass/_project-Main.scss @@ -1497,6 +1497,7 @@ a.tag:hover { color: #e93250; vertical-align: .45em; margin-left: -.15em; + display: inline; } .fa-user { margin-right: 0.25em; diff --git a/sass/_project-sass/_project-Website-Gallery.scss b/sass/_project-sass/_project-Website-Gallery.scss index af76366b..d943be08 100644 --- a/sass/_project-sass/_project-Website-Gallery.scss +++ b/sass/_project-sass/_project-Website-Gallery.scss @@ -29,7 +29,10 @@ .username { float: left; overflow: hidden; + text-overflow: ellipsis; width: 63%; + height: 1.3em; + white-space: nowrap; } .site-stats { float: right; @@ -42,6 +45,9 @@ height: 1.4em; float: left; margin-top: -4px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } .site-tags .fa-tag { vertical-align: -2px; @@ -54,6 +60,12 @@ margin-top: 8px; margin-bottom: 2px; white-space: nowrap; + a { + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + float: left; + } } &.int-Gall{ @@ -70,7 +82,8 @@ width:32% } @media (max-device-width:480px), screen and (max-width:800px){ - width:49% + width:48%; + margin:0 1% 12px; } } &.suggestions { @@ -86,6 +99,10 @@ } } } + + @media (max-device-width:480px), screen and (max-width:800px){ + padding: 4% 2%; + } } } From e9bbb20c48651b05023ba16b72ee54dfd40ebae1 Mon Sep 17 00:00:00 2001 From: Victoria Wang Date: Wed, 11 Feb 2015 14:15:01 -0600 Subject: [PATCH 2/7] Small fix to heart in header nav --- sass/_project-sass/_project-Header.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/sass/_project-sass/_project-Header.scss b/sass/_project-sass/_project-Header.scss index 7cdb3f13..a2ea1497 100644 --- a/sass/_project-sass/_project-Header.scss +++ b/sass/_project-sass/_project-Header.scss @@ -253,6 +253,7 @@ font-size: 9px; position: relative; color: rgba(255, 255, 255, 0.4); + display: inline-block; >.fa-heart { display:none; From 0d73682ba1f83187af2a44e500801fd108f4bb75 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Thu, 12 Feb 2015 15:34:02 -0800 Subject: [PATCH 3/7] remove events when site is deleted --- models/site.rb | 2 ++ tests/site_tests.rb | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/models/site.rb b/models/site.rb index cd832674..a63788df 100644 --- a/models/site.rb +++ b/models/site.rb @@ -385,6 +385,8 @@ class Site < Sequel::Model FileUtils.mv files_path, File.join(DELETED_SITES_ROOT, username) remove_all_tags + remove_all_events + Event.where(actioning_site_id: id).destroy } end diff --git a/tests/site_tests.rb b/tests/site_tests.rb index c42d1d49..3ad10e0a 100644 --- a/tests/site_tests.rb +++ b/tests/site_tests.rb @@ -5,6 +5,17 @@ def app end describe Site do + describe 'destroy' do + it 'should delete events properly' do + site_commented_on = Fabricate :site + site_commenting = Fabricate :site + site_commented_on.add_profile_comment actioning_site_id: site_commenting.id, message: 'hi' + site_commented_on.events_dataset.count.must_equal 1 + site_commenting.destroy + site_commented_on.events_dataset.count.must_equal 0 + end + end + describe 'can_email' do it 'should fail if send_emails is false' do site = Fabricate :site From af2b7a3f869111bbc2e94907cf7bd5d25b80ffe5 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Thu, 12 Feb 2015 15:55:38 -0800 Subject: [PATCH 4/7] switch to manual is_delete checking to prevent derpie errors from sites deleting --- app/browse.rb | 2 +- app/site.rb | 3 ++- ext/sequel/plugins/paranoid_delete.rb | 3 ++- models/site.rb | 5 +++-- tests/site_tests.rb | 11 ----------- 5 files changed, 8 insertions(+), 16 deletions(-) diff --git a/app/browse.rb b/app/browse.rb index b380e2f2..f909e1b8 100644 --- a/app/browse.rb +++ b/app/browse.rb @@ -12,7 +12,7 @@ def browse_sites_dataset @current_page = @current_page.to_i @current_page = 1 if @current_page == 0 - site_dataset = Site.filter(is_banned: false, is_crashing: false).filter(site_changed: true) + site_dataset = Site.filter(is_deleted: false, is_banned: false, is_crashing: false).filter(site_changed: true) if current_site if !current_site.blocking_site_ids.empty? diff --git a/app/site.rb b/app/site.rb index a6fd104e..5607a6c5 100644 --- a/app/site.rb +++ b/app/site.rb @@ -6,7 +6,8 @@ end get '/site/:username/?' do |username| site = Site[username: username] - not_found if site.nil? || site.is_banned + # TODO: There should probably be a "this site was deleted" page. + not_found if site.nil? || site.is_banned || site.is_deleted @title = site.title diff --git a/ext/sequel/plugins/paranoid_delete.rb b/ext/sequel/plugins/paranoid_delete.rb index 03b89fc6..0a92ab25 100644 --- a/ext/sequel/plugins/paranoid_delete.rb +++ b/ext/sequel/plugins/paranoid_delete.rb @@ -19,7 +19,8 @@ module Sequel # so this adds the filter for the first time the class' dataset is accessed for the new model. def dataset if @_is_deleted_filter_set.nil? - @dataset.filter! is_deleted: false + #KD: I turned this off because I think it's easier to do this manually. + #@dataset.filter! is_deleted: false @_is_deleted_filter_set = true end super diff --git a/models/site.rb b/models/site.rb index a63788df..b66e8e81 100644 --- a/models/site.rb +++ b/models/site.rb @@ -220,6 +220,7 @@ class Site < Sequel::Model site = get_with_identifier username_or_email return false if site.nil? + return false if site.is_deleted site.valid_password? plaintext end @@ -385,8 +386,8 @@ class Site < Sequel::Model FileUtils.mv files_path, File.join(DELETED_SITES_ROOT, username) remove_all_tags - remove_all_events - Event.where(actioning_site_id: id).destroy + #remove_all_events + #Event.where(actioning_site_id: id).destroy } end diff --git a/tests/site_tests.rb b/tests/site_tests.rb index 3ad10e0a..c42d1d49 100644 --- a/tests/site_tests.rb +++ b/tests/site_tests.rb @@ -5,17 +5,6 @@ def app end describe Site do - describe 'destroy' do - it 'should delete events properly' do - site_commented_on = Fabricate :site - site_commenting = Fabricate :site - site_commented_on.add_profile_comment actioning_site_id: site_commenting.id, message: 'hi' - site_commented_on.events_dataset.count.must_equal 1 - site_commenting.destroy - site_commented_on.events_dataset.count.must_equal 0 - end - end - describe 'can_email' do it 'should fail if send_emails is false' do site = Fabricate :site From e6aaba74fb616efd94a54f923ffe89fc34f0e1d5 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Thu, 12 Feb 2015 16:02:48 -0800 Subject: [PATCH 5/7] link to site within following text --- views/_news.erb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/views/_news.erb b/views/_news.erb index f0080ec1..1e950c52 100644 --- a/views/_news.erb +++ b/views/_news.erb @@ -27,11 +27,12 @@ <% if actioning_site.supporter? %><% end %><%= actioning_site.username %> <% end %> - followed + started following <% if current_site && event_site.id == current_site.id %> you <% else %> + the site of <% if event_site.supporter? %><% end %><%= event_site.username %> <% end %> From fbe00f6f9c0fe2075a59a441e399bed7975e4473 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Fri, 13 Feb 2015 11:54:18 -0800 Subject: [PATCH 6/7] delete nested site_files when directory is deleted --- models/site.rb | 5 +++++ tests/acceptance/index_tests.rb | 6 +++--- tests/site_file_tests.rb | 16 +++++++++++++++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/models/site.rb b/models/site.rb index b66e8e81..964c7f23 100644 --- a/models/site.rb +++ b/models/site.rb @@ -659,6 +659,11 @@ class Site < Sequel::Model begin FileUtils.rm files_path(path) rescue Errno::EISDIR + site_files.each do |site_file| + if site_file.path.match /^#{path}\// + site_file.destroy + end + end FileUtils.remove_dir files_path(path), true rescue Errno::ENOENT end diff --git a/tests/acceptance/index_tests.rb b/tests/acceptance/index_tests.rb index 756c71b9..19c01800 100644 --- a/tests/acceptance/index_tests.rb +++ b/tests/acceptance/index_tests.rb @@ -21,7 +21,7 @@ describe '/' do @another_site = Fabricate :site @followed_site.toggle_follow @another_site visit '/' - find('.news-item', match: :first).text.must_match /#{@followed_site.username} followed #{@another_site.username}/i + find('.news-item', match: :first).text.must_match /#{@followed_site.username} started following the site of #{@another_site.username}/i end it 'loads my activities only' do @@ -37,7 +37,7 @@ describe '/' do @followed_site = Fabricate :site @site.toggle_follow @followed_site visit "/?event_id=#{@followed_site.events.first.id}" - find('.news-item').text.must_match /you followed #{@followed_site.username}/i + find('.news-item').text.must_match /you started following the site of #{@followed_site.username}/i end end @@ -63,4 +63,4 @@ describe '/' do end end end -end \ No newline at end of file +end diff --git a/tests/site_file_tests.rb b/tests/site_file_tests.rb index a1fba1c3..d0e8d8da 100644 --- a/tests/site_file_tests.rb +++ b/tests/site_file_tests.rb @@ -31,6 +31,20 @@ describe 'site_files' do File.exists?(file_path).must_equal false SiteFile[site_id: @site.id, path: 'test.jpg'].must_be_nil end + + it 'deletes all files in a directory' do + upload( + 'dir' => 'test', + 'files[]' => Rack::Test::UploadedFile.new('./tests/files/test.jpg', 'image/jpeg') + ) + upload( + 'dir' => '', + 'files[]' => Rack::Test::UploadedFile.new('./tests/files/test.jpg', 'image/jpeg') + ) + delete_file filename: 'test' + @site.site_files.select {|f| f.path =~ /^test\//}.length.must_equal 0 + @site.site_files.select {|f| f.path =~ /^test/}.length.must_equal 1 + end end describe 'upload' do @@ -161,4 +175,4 @@ describe 'site_files' do @site.reload.changed_count.must_equal 2 end end -end \ No newline at end of file +end From a8edcc8ab6ae5c43af4313c8466372932d1da4af Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Fri, 13 Feb 2015 12:06:22 -0800 Subject: [PATCH 7/7] disable email spam notifications for now --- models/site.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/models/site.rb b/models/site.rb index 964c7f23..08d8d9eb 100644 --- a/models/site.rb +++ b/models/site.rb @@ -545,6 +545,7 @@ class Site < Sequel::Model matches = f.grep SPAM_MATCH_REGEX if !matches.empty? +=begin EmailWorker.perform_async({ from: 'web@neocities.org', reply_to: email, @@ -555,6 +556,7 @@ class Site < Sequel::Model https://#{self.host}/#{relative_path} } }) +=end end } end