Commit Graph

367 Commits

Author SHA1 Message Date
Karina Kwiatek 65309edd8f Add block checks into `User#answer` 2022-06-13 11:56:34 +02:00
Karina Kwiatek e9fa3b83b2 Fix mixed up block handling in follow method 2022-06-13 11:56:34 +02:00
Karina Kwiatek c173c4a17d Add the ability to block/unblock users from profile pages 2022-06-13 11:56:34 +02:00
Karina Kwiatek b38ae50ba7 Disallow reacting to an answer when blocked by its author 2022-06-13 11:56:34 +02:00
Karina Kwiatek b4e5037469 Disallow commenting when blocked by the answer's author 2022-06-13 11:56:34 +02:00
Karina Kwiatek bd0a4532a5 Disallow answering questions when blocked by its author 2022-06-13 11:56:34 +02:00
Karina Kwiatek 0038272417 Add Block relationship type 2022-06-13 11:56:34 +02:00
Karina Kwiatek b4e0699e82 Fix lint errors 2022-01-23 16:48:53 +01:00
Karina Kwiatek 3962671135 Implement relationship logic as use case 2022-01-23 16:48:53 +01:00
Karina Kwiatek d20e07ee19 Remove relationship counters in `users` table 2022-01-23 16:48:53 +01:00
Karina Kwiatek ce951453a2 Make relationships polymorphic 2022-01-23 16:48:53 +01:00
Karina Kwiatek 45854894dc Upgrade to Rails 6.0 2022-01-13 21:42:06 +01:00
Georg Gadinger 29923fac84 add validator for typoed emails
It happens quite often that people typo their email address (I blame
phone keyboards for that).  Catch common cases in a validator and
tell the user that they have a typo in their email.

Why yes, I did write the tests for this first, thanks for asking!
2022-01-11 19:18:23 +01:00
Karina Kwiatek d3aaaeb12d
Double question character limit (#292) 2022-01-10 22:01:47 +01:00
Karina Kwiatek 136e2fa016
Merge pull request #272 from Retrospring/feature/social-post-tagging
Add the ability to post to services with a tag
2022-01-07 19:40:52 +01:00
Karina Kwiatek 96e48a833b
Merge pull request #194 from Retrospring/refactor/user-bans
Implement ban history
2022-01-06 14:05:33 +01:00
Karina Kwiatek 75d24db1b9
Merge pull request #269 from Retrospring/feature/mod-pagination
Pagination in moderation panel
2022-01-06 14:05:12 +01:00
Karina Kwiatek b398265a98 Address review comments from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-01-06 13:59:04 +01:00
Karina Kwiatek 683fffd734 Add the ability to post to services with a tag 2022-01-05 19:49:59 +01:00
Georg Gadinger 3c58257d21 remove tumblr
Resolves #274
2022-01-05 19:32:52 +01:00
Karina Kwiatek 2cab96b9af Implement cursored pagination in Moderation Panel 2022-01-03 22:43:37 +01:00
Karina Kwiatek 7677ed21a4 Update tests for unbanning users 2022-01-02 19:50:44 +01:00
Karina Kwiatek a9392dad53 Use use case for `User#unban` 2022-01-02 19:50:44 +01:00
Karina Kwiatek 6500d7ac71 Update usages of bans 2022-01-02 19:50:44 +01:00
Karina Kwiatek ea62d91014 Make ban UI more intuitive when a user is already banned 2022-01-02 19:50:02 +01:00
Karina Kwiatek 9a35584284 Refactor ban-related functionality into use cases 2022-01-02 19:50:01 +01:00
Karina Kwiatek be0cf69368 Refactor existing ban-related methods 2022-01-02 19:50:01 +01:00
Karina Kwiatek e4241d2001 Create user ban model
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-01-02 19:50:01 +01:00
Karina Kwiatek 249438e5a8 Escape muted strings 2022-01-01 00:38:38 +01:00
Karina Kwiatek 18de468198 Add inverse relationship for mute rules <-> users 2022-01-01 00:38:38 +01:00
Karina Kwiatek f85769eb55 Add mute rules 2022-01-01 00:38:36 +01:00
Karina Kwiatek 0da070c5ff Move includes into `cursored_friends`/`cursored_followers` 2021-12-31 15:35:02 +01:00
Karina Kwiatek 32e6975c28 Include smiles when eager loading answers 2021-12-30 23:21:46 +01:00
Karina Kwiatek 7357e92865 Eager load relationships for questions, answers and users 2021-12-30 22:15:59 +01:00
Andreas Nedbal 4529fa0d18 Fix `Services::Tumblr` not being able to post 2021-12-27 14:28:11 +01:00
Andreas Nedbal 7be52bb7f2 Include Rails URL helpers in `Services::Twitter` 2021-12-26 22:17:53 +01:00
Andreas Nedbal ed64a0990e Move tumblr post formatting into a separate helper class 2021-12-26 22:04:46 +01:00
Andreas Nedbal b64b039d21 Move tweet formatting into a separate helper class 2021-12-26 22:04:16 +01:00
Karina Kwiatek 053ebafbc5
Merge pull request #213 from Retrospring/refactor/profile
Move profile fields to seperate table
2021-12-25 22:44:10 +01:00
Karina Kwiatek 7f26c1fef3 Ensure elipsis character always gets added for long questions/answers 2021-12-25 22:08:06 +01:00
Karina Kwiatek 61c8208e26 Ensure tweets fit twitter's length limit 2021-12-25 13:39:35 +01:00
Karina Kwiatek 842f51d745 Replace remaining usages of `user.display_name` 2021-12-23 22:01:56 +01:00
Karina Kwiatek 00496a1596 Update remaining references to profile fields 2021-12-22 00:03:19 +01:00
Karina Kwiatek ff410773dd Create Profile model 2021-12-22 00:03:18 +01:00
Karina Kwiatek d27ae910c2 Adjust theme-color for mobile layout 2021-08-12 00:37:47 +02:00
Karina Kwiatek 6b32bddc76 Order relationships by their creation date
Closes #115
2021-08-11 17:09:04 +02:00
Karina Kwiatek 7249e45989 Add tests for user_twitter_card and answer_opengraph 2021-08-06 21:38:51 +02:00
Dominik Kwiatek 277799ff4b Remove `TotpRecoveryCode.remove_all_for(user)` method 2020-11-15 22:09:27 +01:00
Dominik Kwiatek aeb1396422 Add tests for recovery codes 2020-11-15 10:21:06 +01:00
Dominik Kwiatek b4f479a00f Generate recovery keys on TOTP setup 2020-11-01 17:55:31 +01:00
Dominik Kwiatek 25410e111d Fix OTP auth triggering for users who haven't set it up
I thought I could be clever by using a null secret key as an indicator of it being disabled
2020-10-18 11:39:28 +02:00
Dominik Kwiatek 141ff59f63 Implement Two Factor Authentication 2020-10-18 10:39:46 +02:00
Georg Gadinger ea0685136e Rename Groups to Lists
haha regexp go brrr

special thanks to @seatsea for helping me out with the French locales
2020-05-25 18:04:54 +02:00
Dominik M. Kwiatek d4f8e03d28 Cropping in the background
With database fields, sadly.
2020-05-17 20:39:10 +01:00
Dominik M. Kwiatek d185c54f03 Add CarrierWave Backgrounder 2020-05-17 20:38:40 +01:00
Karina Kwiatek ff9741589d Implement cropping; make uploaders DRY 2020-05-17 20:38:40 +01:00
Karina Kwiatek 783e47fc2b Replace paperclip with CarrierWave 2020-05-17 20:38:40 +01:00
Andreas Nedbal 880429f5f9 Add new fields for themes
- In the settings view
- In the model validation
- In the controller parameter permissions
- In the CoffeeScript/Ruby helpers
2020-05-05 02:02:16 +02:00
Andreas Nedbal 53979580d8 Merge branch 'master' into feature/bootstrap 2020-05-04 23:19:54 +02:00
Andreas Nedbal 02cc1c418d WIP: Initial implementation of CSS variable based theming 2020-05-03 17:28:41 +02:00
Georg Gadinger dd5f718f31 Question: user association is optional 2020-05-01 10:17:05 +02:00
Georg Gadinger aeef50ad78
Merge pull request #86 from Retrospring/cleanup
Minor Cleanup
2020-04-26 20:03:46 +02:00
Georg Gadinger 445d9ebe2a Fix user questions page 2020-04-23 03:31:07 +02:00
Karina Kwiatek 3aa2e5899c Remove JoJoke 2020-04-22 15:51:45 +01:00
Georg Gadinger 101b3b68d3 Use cursored pagination, remove WillPaginate 2020-04-20 23:13:24 +02:00
Dominik M. Kwiatek 516bc48aa0
Merge pull request #70 from Retrospring/feature/announcements
Implement Announcements
2020-04-19 23:10:47 +01:00
Georg Gadinger 477ec3e9c9 Do not allow creation of groups with empty names 2020-04-19 23:28:50 +02:00
Karina Kwiatek 391f4a28ed Merge branch 'master' into feature/announcements
# Conflicts:
#	db/schema.rb
2020-04-19 21:52:58 +01:00
Karina Kwiatek b6d6c1fded Add announcements to the top of the application template 2020-04-19 21:38:21 +01:00
Georg Gadinger 946bb3ae9d Use Rolify for admin and moderator roles 2020-04-19 22:35:58 +02:00
Karina Kwiatek 2ecc746e23 Implement validation for announcements 2020-04-19 21:11:22 +01:00
Karina Kwiatek e3b89f7346 Implement creation of announcements 2020-04-19 20:34:48 +01:00
Karina Kwiatek 8a632a09cd Create Announcement model & controller 2020-04-19 20:12:22 +01:00
Georg Gadinger 3e7497a144 Upgrade to Rails 5 2020-04-19 00:59:22 +02:00
Andreas N 7a16113295 adjust tweet length to new twitter limit 2018-04-11 21:26:58 +02:00
Georg G 39c79287e2 ing hell 2016-01-05 21:50:21 +01:00
Georg G 78b34ef6f9 c and k 2016-01-05 21:48:30 +01:00
Georg G 2ad1c4294d u 2016-01-05 21:38:36 +01:00
Georg G 2d20aa8dae f 2016-01-05 21:35:10 +01:00
Georg G 615d7152d2 fuck logic 2016-01-05 21:06:52 +01:00
Georg G bf64a59649 added User#can_export? 2016-01-05 20:54:13 +01:00
Yuki 71caf3cce5 Several changes to theming, solving a bunch of bugs 2015-08-27 05:30:26 +05:30
Yuki 010d0a327e i'm about to give up 2015-08-26 02:26:47 +05:30
Yuki cc8e2448eb probably shouldn't do this 2015-08-26 01:44:17 +05:30
Yuki 9daa8a7ab3 T -> t 2015-08-26 01:43:08 +05:30
Yuki cd6c746e4d paperclip is dead to me 2015-08-26 01:41:30 +05:30
Yuki ad8506ee5f fix css content type 2015-08-26 01:24:07 +05:30
Yuki 370d66105f wildcard content 2015-08-26 01:14:36 +05:30
Yuki 1ad2a60c5d => death 2015-08-26 01:06:51 +05:30
Yuki 741bee22a0 text/css 2015-08-26 01:05:56 +05:30
Yuki 18d4cf116f -- 2015-08-26 01:04:40 +05:30
Yuki c5ad288da4 S3 headers 2015-08-26 01:04:29 +05:30
Yuki d6610829f8 Badumdum 2015-08-26 01:03:57 +05:30
Yuki 906692e78f Theming is finished
Previews, settings pane and presets!
2015-08-25 23:57:06 +05:30
Yuki 1912fc3766 Model goop
also made the theme selection logic for user profiles and current user, and the saving logic
2015-08-25 13:56:36 +05:30
pixeldesu 5366c3c748 add fake mail validation 2015-07-21 22:44:14 +02:00
pixeldesu aabbd9fb8c add :confirmable to users + migration / letter_opener for local email confirmations 2015-07-21 17:55:28 +02:00
Yuki 94e2dbc5ad Only allow JPG, PNG and GIF for profile pictures, and only allow JPG and PNG for profile headers 2015-05-10 10:08:06 +05:30
Yuki 2e6ffdaab7 basic implementation 2015-05-08 21:14:16 +05:30
Georg G. 9b39491d88 Merge pull request #18 from skiprope/temp-bans
Support for ban reasons and ban times.
2015-05-05 16:54:23 +02:00
Yuki 8b88827a00 Fix retrospring/bugs#43 2015-05-05 02:36:57 +05:30
Yuki 2204227273 Feature-comment-smiles complete (fix Retrospring/bugs#42) 2015-05-04 07:09:47 +05:30
Yuki 1c80c70dd9 Derp x2 (Retrospring/bugs#41) 2015-04-30 05:52:24 +05:30
Yuki 832dc1c1e4 Report.user_id is dependent on :destroy-- no need to iterate over it again 2015-04-30 05:42:17 +05:30
Yuki 563293be44 Derp (Caused Retrospring/bugs#41) 2015-04-30 05:34:43 +05:30
Yuki 1233e108e4 Further fix retrospring/bugs#41 2015-04-28 14:16:02 +05:30
Yuki 9688b7ee48 Merge stable 2015-04-28 10:22:54 +05:30
Yuki 5764c36b32 DateTime.now -> DateTime.current 2015-04-23 06:48:17 +05:30
Yuki be04d3528c Support for ban reasons and ban times. Fixes Retrospring/bugs#26 and Retrospring/bugs#25 2015-04-23 06:26:29 +05:30
Yuki cc16afe49b Users get notified by anonymous questions they asked. Fixes Retrospring/bugs#21 2015-04-23 02:07:50 +05:30
Yuki b9bf0b04b6 Add support for report reasons 2015-04-22 08:29:10 +05:30
Georg G ef4fd30cd9 closes Retrospring/bugs#17 2015-04-22 00:33:55 +02:00
Georg G 6be70374c8 fixes Retrospring/bugs#5 2015-04-21 16:53:59 +02:00
Yuki 33800c9d2a BUGFIX Fixes inability to manually subscribe to new questions because there is no subscription record BUGFIX 2015-04-21 18:32:27 +05:30
Yuki 8eeae22c43 Don't resubscribe if a user unsubscribes and comments again 2015-04-21 17:52:32 +05:30
Yuki 1c485b20e9 Subscribe asker to the answer 2015-04-21 06:58:35 +05:30
Yuki ecffd07344 Support for post subscriptions 2015-04-21 06:42:11 +05:30
Yuki 87a68768c3 Don't tag people in questions with twitter 2015-04-19 02:45:47 +05:30
nilsding e51b525fd5 use :created_at for order 2015-02-10 07:04:49 +01:00
nilsding 0bf46a888f added a new Markdown renderer (TwitteredMarkdown) which will be used for sharing to Twitter 2015-01-29 16:45:58 +01:00
nilsding b26ec1dd0b fixed question generator not working if privacy_allow_anonymous_questions is false (GitHub issue #71) 2015-01-27 17:51:39 +01:00
nilsding dd6af3f651 adding and removing users to/from groups works now 2015-01-17 17:50:25 +01:00
nilsding 3ba2b785d4 added maximum length for group name 2015-01-14 17:48:21 +01:00
nilsding e5b753681c Merge branch 'master' into groups 2015-01-14 17:38:47 +01:00
nilsding 0c97ae60d4 finally got rid of that .each 2015-01-14 07:50:27 +01:00
nilsding c99fe89235 added group memberships modal 2015-01-14 07:07:40 +01:00
nilsding a05d763b75 selecting the group from the ask followers modal works now. 2015-01-13 15:45:32 +01:00
nilsding a8ed21942e added group_timelines 2015-01-13 13:23:12 +01:00
nilsding eaa4096af5 Merge branch 'master' into groups
Conflicts:
	db/schema.rb
2015-01-13 07:05:11 +01:00
nilsding 65e514c55d added sharing to Tumblr 2015-01-13 00:12:48 +01:00
nilsding 9de917fb23 closes GitHub issue #57 2015-01-12 13:00:00 +01:00
nilsding d1a6c512c4 finally corrected that model thing. 2015-01-12 06:41:44 +01:00
nilsding 5e26d72d91 finally commited the stuff I wrote 4 hours ago 2015-01-10 23:29:04 +01:00
nilsding 6fcbee55c4 added forbidden user names (including case insensitivity!) 2015-01-09 14:12:52 +01:00
nilsding ce7f896e0c added Group model 2015-01-08 13:16:13 +01:00
nilsding 3567ba6190 numbers 2015-01-05 10:16:00 +01:00
nilsding 09b6a6bc10 made that stuff work 2015-01-03 22:27:14 +01:00
nilsding 175e113af1 an error is now raised if the user does not want to receive anonymous questions 2015-01-03 22:06:23 +01:00
nilsding aec3e1c800 if a question was answered, all occurrences of it in the inbox are now gone 2015-01-03 19:02:56 +01:00
nilsding 496ff61a65 added User#answered? 2015-01-03 18:40:56 +01:00
nilsding 8aee9bd69e added User#answer, moved some code from inbox.rb to answer.rb 2015-01-03 18:09:56 +01:00
nilsding e9ab8deb85 :async 2015-01-01 18:17:34 +01:00
nilsding 149868c097 this should do. 2015-01-01 18:08:16 +01:00
nilsding 5df705cdaa argh 2015-01-01 17:59:24 +01:00
nilsding dee2ba253e fix this shit 2015-01-01 17:54:16 +01:00
nilsding 7aa954e212 added cropper processor 2014-12-29 14:51:52 +01:00
nilsding b378a03afa added delayed_paperclip 2014-12-29 11:58:01 +01:00
nilsding cf3933271a added profile_picture to users 2014-12-29 10:18:12 +01:00
nilsding a0c0d68e43 posting moderation comments works now 2014-12-29 00:50:14 +01:00
nilsding 486d5d18f2 this fucker finally works how I want it to 2014-12-28 23:57:07 +01:00
nilsding 7a0b3f4af7 added votes for reports 2014-12-28 23:26:16 +01:00
nilsding 49c371302c unique smiles only! 2014-12-28 22:15:25 +01:00
nilsding 40f54fd19a more before_destroy and after_create 2014-12-28 21:58:35 +01:00
nilsding bb3e431393 added associations for this 2014-12-28 21:47:51 +01:00
nilsding 2c29dd9a18 even more after_create and before_destroy 2014-12-28 21:46:57 +01:00
nilsding 7d157cde8f dependent: :destroy 2014-12-28 21:42:21 +01:00
nilsding 9c9c4fdc5d after_create and before_destroy 2014-12-28 21:40:33 +01:00
nilsding fec91eeb5b before_destroy 2014-12-28 21:34:42 +01:00
nilsding b6c0b1864a moved some code 2014-12-28 21:20:07 +01:00
nilsding 774cf8df99 h 2014-12-28 19:32:08 +01:00
nilsding 90fe42e643 Merge remote-tracking branch 'origin/master' into moderation
Conflicts:
	app/models/user.rb
2014-12-28 19:29:01 +01:00
nilsding d79394640e fixed GitHub issue #25 2014-12-28 00:34:56 +01:00
nilsding 3046a5e4b3 fixed tweet not tweeting 2014-12-27 21:03:18 +01:00
nilsding a487ed7f69 update! raises an exception while update does not. 2014-12-27 17:37:54 +01:00
nilsding b625144993 added moderation models 2014-12-27 14:35:09 +01:00
Andreas N 92af469aa4 Merge branch 'master' into moderation 2014-12-27 02:12:32 +01:00
nilsding e570f40a36 WRYYYYYYYYYYYYYYYYYY 2014-12-27 01:45:24 +01:00
nilsding 88e9d7599d dragons 2014-12-27 01:22:13 +01:00
nilsding cb003ce36d added link to moderation panel in navbar 2014-12-26 14:09:07 +01:00
nilsding 2251f21664 bio has now validation 2014-12-16 12:48:40 +01:00
nilsding c0c279e6d8 closes GitHub issue #16 2014-12-14 21:35:24 +01:00
nilsding a961764a56 closes github issue #15 2014-12-14 17:32:31 +01:00
nilsding 519931ee4f fixed denotify 2014-12-14 15:48:10 +01:00
nilsding 622af3490c added denotify method 2014-12-14 15:42:37 +01:00
nilsding 3eec44f422 Merge remote-tracking branches 'remotes/origin/master' and 'remotes/origin/users-smiled' into notifications 2014-12-14 15:29:32 +01:00
nilsding 43474a6c92 "commented on your answer" 2014-12-14 15:10:23 +01:00
nilsding 154c360e15 "smiled your answer" 2014-12-14 15:06:10 +01:00
nilsding c9b5947e6b "followed you" 2014-12-14 14:58:29 +01:00
nilsding c56177cd10 we don't need this 2014-12-14 14:49:14 +01:00
nilsding 6a914d4394 added this thing 2014-12-14 14:44:25 +01:00
nilsding ab9347f053 notifications work now! 2014-12-14 14:34:51 +01:00
nilsding ec8e813546 bugfix 2014-12-14 13:31:26 +01:00
nilsding ba31db68fe Merge branch 'master' into notifications 2014-12-14 12:26:04 +01:00
nilsding 0ebf918d83 fixed this thing. 2014-12-14 12:19:52 +01:00
nilsding 82444b8787 bugfox! 2014-12-14 12:03:57 +01:00
nilsding 61a7b582e4 created notification model 2014-12-13 19:30:10 +01:00
nilsding 633e133713 sharing now works for real. 2014-12-13 15:38:16 +01:00
nilsding b25c419e52 aw yeah 2014-12-12 23:53:23 +01:00
nilsding 5aab94207a answer is now returned in Inbox#answer 2014-12-12 23:14:32 +01:00
nilsding 23fc3009fe bugFuchs 2014-12-12 22:35:23 +01:00
nilsding 6d23ed5dcd added service model 2014-12-12 21:42:34 +01:00
nilsding 130cbb27ce Set a validation on :display_name 2014-12-12 18:52:56 +01:00
nilsding e305a67d1e 255 2014-12-08 23:02:31 +01:00
nilsding 72c259bd0d question#content now has a validation. 2014-12-08 15:34:37 +01:00
nilsding 7b5454a1bd ! (again) 2014-12-08 12:34:48 +01:00
nilsding 7de522a82f added question#show thing and more... 2014-12-07 20:51:44 +01:00
nilsding 58d0efc219 implemented "ask your followers" 2014-12-07 20:13:45 +01:00
nilsding 2d44eeef60 added validation to comment 2014-12-07 14:29:47 +01:00
nilsding 8479f308ac ! 2014-12-07 14:29:35 +01:00
nilsding d6111d6835 added User#comment 2014-12-05 14:11:08 +01:00