Commit Graph

51 Commits

Author SHA1 Message Date
Harvey Tindall
e104bd8362 small changes, new images and readme updated 2020-09-24 23:57:42 +01:00
Harvey Tindall
544f5674e8 rename routes to make more sense
for example, /getInvite and /generateInvite become GET(/invites) and
    POST(/invites) respectively.
2020-09-24 14:03:25 +01:00
Harvey Tindall
ce844e0574 add ts-debug option to makefile for including typescript and sourcemaps 2020-09-23 20:14:16 +01:00
Harvey Tindall
9bd7fca95e fix table sizing on bootstrap 4; fix profile application on single-use
invites

use table-sm and no form-check-input so profile menu looks normal on
bs4. Profile was being read after being marked as used on invites, so
single-use invites were deleted and no profile was applied.
2020-09-23 19:12:58 +01:00
Harvey Tindall
89e70f6f7a Add default profile functionality
Default profile can be selected in settings.
2020-09-23 18:48:00 +01:00
Harvey Tindall
6b25215768 apply settings even if section doesn't exist
in response to issue #7. Not sure why this wasn't the original
behaviour, nor how I hadn't noticed it earlier
2020-09-23 17:20:48 +01:00
Harvey Tindall
903a61d0f2 Profiles replace user templates
Profile functionality is essentially complete, and they can be created
in settings. Only thing currently missing is a way to set a default
profile.
2020-09-23 00:01:07 +01:00
Harvey Tindall
49ef3dfcf0 remove old settings button 2020-09-22 20:54:46 +01:00
Harvey Tindall
2ab9b48f4b Move settings menu to a tab
settings is now its own tab instead of a modal.
2020-09-22 20:46:48 +01:00
Harvey Tindall
b6ceee508c Fix bug with invites in webui, add profile selector
invite codes starting with a digit don't work with the webui, so
GenerateInvite regenerates uuids until theres one that doesn't.
2020-09-22 00:34:11 +01:00
Harvey Tindall
32b8ed4aa2 rewrite* most web ui code in typescript
i wanted to split up the web ui components into multiple files, and
figured it'd be a good chance to try out typescript. run make typescript
to compile everything in ts/ and put it in data/static/.

This is less of a rewrite and more of a refactoring, most of it still
works the same but bits have been cleaned up too.

Remaining javascript found in setup.js and form.html
2020-09-21 22:06:27 +01:00
Harvey Tindall
c4acb43cb8 Initial features for move to profiles
user templates will become profiles. You will be able to make multiple,
and assign them  to invites individually. This commit migrates the
separate template files into one profile entry called "Default", and
lets you select them on invites. No way to create profiles has been
added yet.
2020-09-20 11:21:04 +01:00
Harvey Tindall
4e8628844e fix decapitalized words
I have no idea how this happened.
2020-09-19 16:13:17 +01:00
Harvey Tindall
31aece5026 fix bs4 compatibility, small ui tweaks 2020-09-19 15:32:01 +01:00
Harvey Tindall
35a0be6a2c Remove view settings button
i doubt there's much use for it.
2020-09-18 22:06:28 +01:00
Harvey Tindall
6b81358cd2 improve tab appearance 2020-09-18 21:57:36 +01:00
Harvey Tindall
d4b94bc9d9 add user button
added create user button for the admin to use.
2020-09-18 00:59:59 +01:00
Harvey Tindall
9213f2a078 Add account deletion with email notification
Select users to delete, then optionally opt to notify the user in an
email with a provided reason.
2020-09-17 23:50:07 +01:00
Harvey Tindall
2b84e45b65 fix table wrapping 2020-09-17 21:34:25 +01:00
Harvey Tindall
7ac750879f Remove email addresses in settings, move to accounts tab
still a little rough, but it works.
2020-09-17 21:23:45 +01:00
Harvey Tindall
cd61989495 Initial features of accounts tab
It's rough right now, but the accounts tab shows a list of users and
info. Right now the only action available is to apply settings (from
template or another user) to a selection of users. More to come.
2020-09-17 16:51:19 +01:00
Harvey Tindall
a8b4842895 add more info to getUsers, move admin.html css to scss files
more deatils included in getUsers response in prep for feature request #5. bs4 and bs5 css are now compiled instead of being copied.
2020-09-16 21:42:22 +01:00
Harvey Tindall
802f957d22 fix scrolling on modals spawned by settings modal, fix getUsers cache
closing the settings modal to immediately open another caused the
'modal-open' class on the body to get deleted, which meant scrolling
stopped working inside them. Also fix mistake added to jfapi in last commit.
2020-09-16 17:36:14 +01:00
Harvey Tindall
831296a3e8 remove windows related messages
self restarts now work, so no need.
2020-09-08 23:13:44 +01:00
Harvey Tindall
f5f2a0f190 Add notice about no self-restarts on windows 2020-09-05 21:52:23 +01:00
Harvey Tindall
18458c2b0d fix versioning mistake 2020-09-05 17:52:28 +01:00
Harvey Tindall
862e85669e polish settings menu 2020-09-05 17:49:23 +01:00
Harvey Tindall
ba67fa7536 Initial Ombi integration
When enabled, an account for the user is created on both Jellyfin and
Ombi. Account defaults can be stored similarly to jf.
2020-09-05 17:32:49 +01:00
Harvey Tindall
e56a1388b5 add example systemd service 2020-09-03 21:32:59 +01:00
Harvey Tindall
8e8debd8a4 add about page to web ui 2020-08-31 15:29:35 +01:00
Harvey Tindall
072776c15f add public_server input to setup 2020-08-30 18:21:53 +01:00
Harvey Tindall
1c980cf7cd Use bs5-jf on setup, fix bugs
No longer quits if the program times out connecting to the given
jellyfin host.
2020-08-30 18:09:06 +01:00
Harvey Tindall
c6f845296a fix alignment on setup page, change invite generator column widths 2020-08-30 17:40:18 +01:00
Harvey Tindall
a5a721b07c Fix broken theme button after changing bootstrap version
Also fix the theme cookie if it's for the wrong version.
2020-08-27 21:10:56 +01:00
Harvey Tindall
086fd0ef2f fix display of blank emails and naming of fields
the input areas in the user email menu were incorrectly identified by
the email address, which caused duplicate ids on blank fields, and
probably stopped any changes from being applied.
2020-08-27 20:41:38 +01:00
Harvey Tindall
ee3b421566 Fixed flaw with jellyfin_login; store refresh token in cookies
with jellyfin_login enabled, the username and password vals in the User
struct would be "". If you disabled 'required' on the login form, blank
username and password would allow you in.
2020-08-20 20:20:31 +01:00
Harvey Tindall
d144077e62 Add refresh tokens for persistent login, logout button
the main JWT is stored temporarily, whereas the refresh token is stored
as a cookie and can only be used to obtain a new main token. Logout
button adds token to blocklist internally and deletes JWT and refresh
token from browser storage.
2020-08-19 22:30:54 +01:00
Harvey Tindall
cee5489da6 typo 2020-08-19 15:53:06 +01:00
Harvey Tindall
8fc9ed1c3c Improve mobile experience
the generate invite box now wraps into 1 column automatically.
the invite code is ellipsized on small displays.
the dropdown button has a large tappable area, and is aligned correctly.
2020-08-19 15:34:16 +01:00
Harvey Tindall
6781316474 provide error message on login and display it nicely
server now provides a reason for login fail to the web ui, and displays
it inside the login button, which looks a lot nicer than the previously
used error box.
2020-08-19 14:50:16 +01:00
Harvey Tindall
56478e96c9 create new css link to smoothly transition between themes
Previously, directly editing the <link> tag with the new file would
cause the page to have no stylesheet for a moment while the new file is
downloaded. A new element is now appended below the original instead,
which smoothens out the transition.
2020-08-19 14:31:41 +01:00
Harvey Tindall
ec7609ed8c Add debug flag; warning label for debug mode 2020-08-19 14:09:48 +01:00
Harvey Tindall
bd8af153a9 disable generate button if duration is zero 2020-08-16 14:05:16 +01:00
Harvey Tindall
94b8495f02 Fixed goreleaser config 2020-08-02 00:36:27 +01:00
Harvey Tindall
f508b65fa0 Added setup, self restarts 2020-08-02 00:05:35 +01:00
Harvey Tindall
62621dabb9 CLI flags, start setting up goreleaser, add build scripts
Copied and fixed the build scripts from jf-accounts, added them to the
.goreleaser.yml. Also:
data directory now stored in user's config folder
Handle timeouts in jfapi
Maybe more i forgot about.
2020-08-01 21:20:02 +01:00
Harvey Tindall
024c0b56aa Display settings with hacky solution to retain order
Python utility included to convert config-base.json into a new version
which includes lists that define the order settings should be displayed.
admin.js edited to recognize this.
2020-07-31 16:09:30 +01:00
Harvey Tindall
ef4f2503c9 DeleteInvite, user defaults, and email list modification 2020-07-31 13:59:25 +01:00
Harvey Tindall
e5ebcef684 Partial check for invite page, 404 handling
The invite route no longer calls checkInvite, instead just chekcing the
invite exists. This speeds up page loading. the 404 and invalidCode
pages are now loaded when necessary.
2020-07-31 13:03:36 +01:00
Harvey Tindall
961b9afa75 Functioning user creation, notifications,
Fixed password validation for new users, add invite route, couple other
fixes.
2020-07-31 12:48:37 +01:00