Commit Graph

846 Commits

Author SHA1 Message Date
Chocobozzz ea9f487b40 Client: fixed header and menu 2017-04-26 21:23:19 +02:00
Chocobozzz 6562f1f727 Client: add titles to menu blocks 2017-04-26 21:23:19 +02:00
Chocobozzz 09223546a4 Client Better design for video watch 2017-04-26 21:23:19 +02:00
Chocobozzz 383bfc8356 Client: responsive design 2017-04-26 21:23:19 +02:00
Chocobozzz c689fcdca2 Client: use builtin email validator 2017-04-26 21:22:51 +02:00
Green-Star 198b205c10 Add ability for an administrator to remove any video (#61)
* Add ability for an admin to remove every video on the pod.

* Server: add BlacklistedVideos relation.

* Server: Insert in BlacklistedVideos relation upon deletion of a video.

* Server: Modify BlacklistedVideos schema to add Pod id information.

* Server: Moving insertion of a blacklisted video from the `afterDestroy` hook into the process of deletion of a video.

To avoid inserting a video when it is removed on its origin pod.
When a video is removed on its origin pod, the `afterDestroy` hook is fire, but no request is made on the delete('/:videoId') interface.
Hence, we insert into `BlacklistedVideos` only on request on delete('/:videoId') (if requirements for insertion are met).

* Server: Add removeVideoFromBlacklist hook on deletion of a video.

We are going to proceed in another way :).
We will add a new route : /:videoId/blacklist to blacklist a video.
We do not blacklist a video upon its deletion now (to distinguish a video blacklist from a regular video delete)
When we blacklist a video, the video remains in the DB, so we don't have any concern about its update. It just doesn't appear in the video list.
When we remove a video, we then have to remove it from the blacklist too.
We could also remove a video from the blacklist to 'unremove' it and make it appear again in the video list (will be another feature).

* Server: Add handler for new route post(/:videoId/blacklist)

* Client: Add isBlacklistable method

* Client: Update isRemovableBy method.

* Client: Move 'Delete video' feature from the video-list to the video-watch module.

* Server: Exclude blacklisted videos from the video list

* Server: Use findAll() in BlacklistedVideos.list() method

* Server: Fix addVideoToBlacklist function.

* Client: Add blacklist feature.

* Server: Use JavaScript Standard Style.

* Server: In checkUserCanDeleteVideo, move the callback call inside the db callback function

* Server: Modify BlacklistVideo relation

* Server: Modifiy Videos methods.

* Server: Add checkVideoIsBlacklistable method

* Server: Rewrite addVideoToBlacklist method

* Server: Fix checkVideoIsBlacklistable method

* Server: Add return to addVideoToBlacklist method
2017-04-26 21:22:10 +02:00
Chocobozzz 3758da9489 Client: use ng2-tag-input for forms with video tags 2017-04-16 14:06:48 +02:00
Chocobozzz ad42bea3a5 Client: update to angular 4 2017-04-12 22:00:17 +02:00
Chocobozzz d8e689b864 Client: add basic support for updating a video 2017-04-10 21:16:36 +02:00
Chocobozzz a184c71b52 Client: support signup 2017-04-10 20:29:33 +02:00
Chocobozzz db216afd98 Client: support video language 2017-04-07 14:57:05 +02:00
Chocobozzz af5e743b01 Client: add ability for user to change nsfw settings 2017-04-06 21:21:03 +02:00
Chocobozzz 92fb909c9b Client: Handle NSFW video 2017-04-04 21:37:03 +02:00
Chocobozzz d07137b90b Client: add support for video licences 2017-03-27 21:11:37 +02:00
Chocobozzz e54163c2d5 Relax on tags (accept any characters and not required anymore) 2017-03-22 21:56:02 +01:00
Chocobozzz 6e07c3de88 Add video category support 2017-03-22 21:25:24 +01:00
Chocobozzz 55b3394641 Client: fix routes title 2017-03-12 18:40:05 +01:00
Chocobozzz a2457e9de4 Client: fix prod compilation 2017-03-10 10:42:02 +01:00
Chocobozzz 758b996dc6 Client: switch to @nglibs/meta 2017-03-10 10:33:36 +01:00
Chocobozzz 86e8393986 Allow to sort by likes 2017-03-08 21:52:25 +01:00
Chocobozzz d38b828106 Add like/dislike system for videos 2017-03-08 21:35:43 +01:00
Chocobozzz e2a2d6c86c Client: check token valitidy at startup 2017-03-04 11:45:47 +01:00
Chocobozzz 99fdec4648 Fix request schedulers stats 2017-02-27 21:56:55 +01:00
Chocobozzz 05a9feaa48 Client: add views information and sort 2017-02-26 20:01:26 +01:00
Chocobozzz ad4a8a1cca Add email to users 2017-02-18 09:29:59 +01:00
Chocobozzz 4793c343fd Add email to pods 2017-02-16 19:19:56 +01:00
Chocobozzz 7af75da41b Client: fix lint 2017-02-10 11:52:45 +01:00
Chocobozzz a17bc2c34e Client: use tslib instead of ts-helpers 2017-02-10 10:28:11 +01:00
Chocobozzz 99b727ec9c Client: fix angular2-notifications dep... 2017-02-05 10:27:29 +01:00
Chocobozzz 28798b5d94 Client: replace simple tables by ng2 smart table component 2017-01-30 22:41:14 +01:00
Chocobozzz 13fc89f4a4 Client: notify client if there are webtorrent errors 2017-01-29 18:35:19 +01:00
Chocobozzz 5769e1db8d Client: better confirm box for a beautiful world 2017-01-27 16:59:56 +01:00
Chocobozzz 7ddd02c9b8 Client: better notifications for a beautiful world 2017-01-27 16:14:11 +01:00
Chocobozzz 0d4fb7e6d4 Client: fix video timeout 2017-01-27 11:30:36 +01:00
Chocobozzz b99290b1d5 Client: lazy load admin area 2017-01-23 22:32:43 +01:00
Chocobozzz 11ac88de40 Client: add basic support to report video abuses 2017-01-23 22:18:53 +01:00
Chocobozzz 4f8c0eb0e9 Client: add ability to report a video 2017-01-20 19:22:15 +01:00
Chocobozzz 872a4c7cea Adapt requests controller/front to new informations 2017-01-19 22:38:34 +01:00
Chocobozzz c625a9560b Client: fix client error handling 2017-01-19 22:26:39 +01:00
Chocobozzz cdcbc81077 Client: update ng2-meta 2017-01-13 14:31:33 +01:00
Chocobozzz c16ce1de8e Client: add basic aot support 2017-01-13 12:16:00 +01:00
Chocobozzz 55fa55a9be Server: add video abuse support 2017-01-04 21:05:13 +01:00
Chocobozzz d396a937b6 Client: upgrade angular dep' 2016-12-29 17:34:29 +01:00
Chocobozzz feb4bdfd9b First version with PostgreSQL 2016-12-19 21:22:28 +01:00
Chocobozzz da19d94b63 Client: redirect /videos/:id to /videos/watch/:id 2016-11-29 21:57:19 +01:00
Chocobozzz ea070c93cc Client: fix PeerTube link in embed videos 2016-11-29 21:55:03 +01:00
Chocobozzz 50b0c262fd Client: move menu component in core module 2016-11-29 21:41:11 +01:00
Chocobozzz f81bb2853c Client: Get videos -> See videos 2016-11-29 21:30:27 +01:00
Chocobozzz bf57d5eebf Client: try to improve ux for the upload form 2016-11-27 18:10:26 +01:00
Chocobozzz 447fde2774 Client: improve host regex 2016-11-27 17:45:00 +01:00
Chocobozzz a86444089e Client: fix https warning in make friends 2016-11-21 22:09:45 +01:00
Chocobozzz 4dc5477227 Client: move vendor imports into the vendor file 2016-11-21 22:09:45 +01:00
Chocobozzz 693b1aba46 Client: split in angular modules 2016-11-21 22:09:45 +01:00
Chocobozzz 2c8d4697db Client: add warning if the user want to embed a video of a non https website 2016-11-21 22:09:45 +01:00
Chocobozzz cf02fbfb17 Client: move video watch modals in their own component 2016-11-21 22:09:45 +01:00
Chocobozzz 8735451aff Client: add message if the admin wants to make friends without https 2016-11-16 20:29:26 +01:00
Chocobozzz 9c89a45cb2 Client: add video not found message if the video... is not found 2016-11-16 20:29:26 +01:00
Chocobozzz 49abbbbedc Pod URL -> pod host. HTTPS is required to make friends.
Reason: in a network with mix http/https pods, https pods won't be able
to play videos from http pod (insecure requests).
2016-11-16 20:29:26 +01:00
Chocobozzz 830bcd0f82 Prerender opengraph tags in the server 2016-11-16 20:29:26 +01:00
Chocobozzz ad4013d5c3 Client: add button control in embed videojs to go to the watch page 2016-11-16 20:29:26 +01:00
Chocobozzz 4fab6acb45 Client: don't use thumbnail in embed video for now 2016-11-08 21:19:57 +01:00
Chocobozzz 067e3f84ce Client: remove videojs on destroy 2016-11-08 21:17:17 +01:00
Chocobozzz 99cc4f4948 Client: add share button 2016-11-08 21:11:57 +01:00
Chocobozzz e31f6ad637 Client: use videojs as player 2016-11-08 20:49:43 +01:00
Chocobozzz 3bb2c7f99d Prepare embed page 2016-11-07 22:35:37 +01:00
Chocobozzz 3ec343a41d Client: add opengraph tags 2016-11-04 17:37:44 +01:00
Chocobozzz b58c69a1ed Client: add titles to all pages 2016-11-04 17:25:26 +01:00
Chocobozzz 3154f38219 Client: allow to copy magnet uri 2016-11-04 16:23:18 +01:00
Chocobozzz d1992b93f0 Client: add more informations to watch video view 2016-11-04 16:04:50 +01:00
Chocobozzz 4d19d2f10b Update to webpack beta 25 2016-11-04 12:50:01 +01:00
Chocobozzz c0a89c46ef Client: fix handle refresh token 2016-11-04 11:54:36 +01:00
Chocobozzz dc00913261 Client: avoid "quit friends" to appear during the pending request 2016-10-21 13:13:49 +02:00
Chocobozzz 4648530318 Client: fix form upload validation on key enter 2016-10-17 21:14:13 +02:00
Chocobozzz 2ac6c52560 Client: fix search dropdown 2016-10-13 21:59:19 +02:00
Chocobozzz 1a00504203 Client: fix progress bar and tags validation issues 2016-10-07 14:52:18 +02:00
Chocobozzz a6375e6966 Merge branch 'master' into webseed-merged 2016-10-02 15:39:09 +02:00
Chocobozzz 32e574750a Add "max requests number" information for requests iterations 2016-10-01 15:45:15 +02:00
Chocobozzz d86099204c Client: add some explanations if we cannot retrieve client oauth
credentials
2016-10-01 12:19:48 +02:00
Chocobozzz 14ad0c276b Client: handle the case when the refreshing token step fails 2016-10-01 09:20:42 +02:00
Chocobozzz da4971c11f Client: fix error alert 2016-09-26 22:54:34 +02:00
Chocobozzz 44c5275e1b Client: fix compilation about the user created date 2016-09-23 17:34:18 +02:00
Chocobozzz c53d2a4e5e Client: Update ng2-file-upload to the module part 2016-09-23 17:31:41 +02:00
Chocobozzz bed3143eb9 Client: move some methods in the requestStats model 2016-09-23 17:25:09 +02:00
Chocobozzz b539c9b34c Client: display created user date 2016-09-23 17:20:15 +02:00
Chocobozzz ec1b7d9738 Client: created date in a better format 2016-09-23 17:15:03 +02:00
Chocobozzz eb4f957eca Client: add requests stats page 2016-09-23 17:09:38 +02:00
Chocobozzz ec8d8440a8 Client: use templateUrl/styleUrls instead of require 2016-09-19 22:49:31 +02:00
Chocobozzz 23bcf66685 Client: little app module cleanup 2016-09-09 22:23:41 +02:00
Chocobozzz 4b2f33f3c6 Client: reactive forms 2016-09-09 22:16:51 +02:00
Chocobozzz ab32b0fc80 Dirty update to Angular RC6 2016-09-06 22:40:57 +02:00
Chocobozzz 2149630437 Client: ID column smaller 2016-08-26 19:02:43 +02:00
Chocobozzz 8889736127 Client: add ID, score and created date to the friends list 2016-08-26 18:59:17 +02:00
Chocobozzz f84a89f0e7 Client: fix friend add input control when removing an input 2016-08-23 18:09:21 +02:00
Chocobozzz 93c462b771 Client: refresh friends list after quitting them 2016-08-23 17:47:58 +02:00
Chocobozzz bf68dd752d Client: fix error display for component 2016-08-23 17:42:56 +02:00
Chocobozzz de59c48f5f Client: centralize http res extraction in a service 2016-08-23 16:54:21 +02:00
Chocobozzz 9e8aa10d94 Client: change url validation for friend add 2016-08-23 15:49:16 +02:00
Chocobozzz b5d6b94c1e Client: make friends url button (+/-) -> same width 2016-08-23 15:28:03 +02:00
Chocobozzz 9ab1071c8d Do not wait the make friends process ends to send a response to the
request
2016-08-23 14:48:59 +02:00
Chocobozzz 6be622478a Client: display make/quit friends according to the situation 2016-08-23 14:43:20 +02:00
Chocobozzz 0f6da32b14 Client: update to new form api 2016-08-23 14:37:49 +02:00
Chocobozzz 5267260022 Client: fix malformed div 2016-08-23 11:45:28 +02:00
Chocobozzz 96b0c2bf70 Client: remove makeFriend from friend-list (in friend-add now) 2016-08-21 11:36:43 +02:00
Chocobozzz beacf6993c Client: simplify simple menu/admin menu displaying logic 2016-08-21 11:27:24 +02:00
Chocobozzz 9aa46b0c7b Client: navigate to /videos/list when do search on another page 2016-08-21 11:21:45 +02:00
Chocobozzz e105c19c8e Client: support the new make friends method 2016-08-21 10:41:21 +02:00
Chocobozzz 7eef95353f Client: reset pagination when we search something 2016-08-15 19:05:52 +02:00
Chocobozzz dfe3ec6bf6 Client: add users list/friends list titles 2016-08-12 18:24:24 +02:00
Chocobozzz e2f555cab7 Client: add friends page 2016-08-12 18:22:58 +02:00
Chocobozzz c323efb9cd Update webtorrent -> 0.96 2016-08-12 17:35:10 +02:00
Chocobozzz 602eb142be Client: make an admin menu and a classic menu component 2016-08-12 16:53:32 +02:00
Chocobozzz 7da18e4420 Client: add user management 2016-08-09 21:45:21 +02:00
Chocobozzz 66af9ee16d Client: Redirect user to home page after logout 2016-08-05 18:05:27 +02:00
Chocobozzz 629d8d6f70 Client: implement password change 2016-08-05 18:04:08 +02:00
Chocobozzz 6606150c49 Server: move clients in its own file 2016-08-05 16:09:39 +02:00
Chocobozzz e62f6ef741 Client: fix login state when logout 2016-07-27 21:38:09 +02:00
Chocobozzz 71d3476b82 Client: clear timeout error timer for video watch 2016-07-27 21:21:57 +02:00
Chocobozzz 724fed2931 Client: fix login state when logout 2016-07-27 21:16:19 +02:00
Chocobozzz 11975ce845 Client: increase min height for videos list 2016-07-22 11:43:09 +02:00
Chocobozzz 798442f665 Client: click on PeerTube title routes to videos list 2016-07-21 17:10:08 +02:00
Chocobozzz 1e128cdbb9 Client: video name in the link title for videos list template 2016-07-21 15:47:25 +02:00
Chocobozzz 0f3a78e7ea Client: Auth services cleanup 2016-07-20 16:40:28 +02:00
Chocobozzz bd5c83a8cb Client: Add authHttp service that authentificates the http request and
optionally refresh the access token if needed
2016-07-20 16:25:06 +02:00
Chocobozzz a64668c024 Client: try to make it work with Android Firefox 2016-07-19 16:45:07 +02:00
Chocobozzz bddab65ae5 Client: save page params as well 2016-07-18 15:39:10 +02:00
Chocobozzz 0629423ce3 Client: Update to Angular RC4 2016-07-18 14:26:56 +02:00
Chocobozzz efb9afc3e8 Client: fix pagination component 2016-07-06 19:56:23 +02:00
Chocobozzz 528a9efa82 Try to make a better communication (between pods) module 2016-06-18 16:13:54 +02:00
Chocobozzz 70af9a0d4f Fix router on / 2016-06-10 22:08:39 +02:00
Chocobozzz 641f98b2ee Don't make a search when the field is changed and the value is empty 2016-06-10 18:18:29 +02:00
Chocobozzz c6de16eb1d Fix redirection after the upload of a video 2016-06-10 18:14:01 +02:00
Chocobozzz 00a446454d Add tags support to the video list 2016-06-10 17:46:29 +02:00
Chocobozzz e822fdaeee Use ng2-file-upload instead of jquery and add tags support to the video
upload form
2016-06-07 22:34:02 +02:00
Chocobozzz 3ad109e449 Add an alert if the video load seems to be too long 2016-06-05 12:20:53 +02:00
Chocobozzz 5555f886c0 Do not import whole rxjs 2016-06-05 09:34:41 +02:00
Chocobozzz e56b20f587 Add loader indication when loading videos list 2016-06-05 08:48:44 +02:00
Chocobozzz 1cdb5c0f58 Handle error for the video upload 2016-06-04 20:37:38 +02:00
Chocobozzz fe3b20cdaf Fix favicon 2016-06-04 19:39:33 +02:00
Chocobozzz 443ecefe67 Reload videos after removing one to avoid issues with paging etc 2016-06-04 19:02:32 +02:00
Chocobozzz 7914607ecd Apply a fade instead of a loader when loading videos 2016-06-04 18:53:11 +02:00
Chocobozzz 192ea60b82 Improve the login form 2016-06-04 13:31:23 +02:00
Chocobozzz 7f82b8ae37 Use webtorrent as external dependency instead of building it with
webpack
2016-06-04 13:08:38 +02:00
Chocobozzz af14488f61 Fix styling when clicking on a thumbnail video 2016-06-04 11:29:27 +02:00
Chocobozzz c21f59d334 Add webtorrent and jquery to webpack 2016-06-04 10:05:17 +02:00
Chocobozzz b20b5fed40 Add production webpack, big thanks to @AngularClass 2016-06-03 22:47:55 +02:00
Chocobozzz 4a6995be18 First draft to use webpack instead of systemjs 2016-06-03 22:08:03 +02:00