V0.2.1 (update) (#49)
Co-authored-by: Graham Steffaniak <graham.steffaniak@autodesk.com>
This commit is contained in:
parent
d53426b580
commit
4894230482
|
@ -16,7 +16,7 @@ ARG app="/app/filebrowser"
|
||||||
RUN apk --no-cache add \
|
RUN apk --no-cache add \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
mailcap
|
mailcap
|
||||||
WORKDIR /app
|
WORKDIR /
|
||||||
COPY --from=base $app* ./
|
COPY --from=base /app/filebrowser* ./
|
||||||
COPY --from=nbuild /app/dist/ ./frontend/dist/
|
COPY --from=nbuild /app/dist/ ./frontend/dist/
|
||||||
ENTRYPOINT [ "./filebrowser" ]
|
ENTRYPOINT [ "./filebrowser" ]
|
|
@ -131,16 +131,12 @@ func quickSetup(d pythonData) {
|
||||||
checkErr(err)
|
checkErr(err)
|
||||||
err = d.store.Settings.SaveServer(&settings.GlobalConfiguration.Server)
|
err = d.store.Settings.SaveServer(&settings.GlobalConfiguration.Server)
|
||||||
checkErr(err)
|
checkErr(err)
|
||||||
username := settings.GlobalConfiguration.Auth.AdminUsername
|
user := &users.User{}
|
||||||
password := settings.GlobalConfiguration.Auth.AdminPassword
|
settings.GlobalConfiguration.UserDefaults.Apply(user)
|
||||||
if username == "" || password == "" {
|
user.Username = settings.GlobalConfiguration.Auth.AdminUsername
|
||||||
log.Fatal("username and password cannot be empty during quick setup")
|
user.Password = settings.GlobalConfiguration.Auth.AdminPassword
|
||||||
}
|
|
||||||
user := &users.User{
|
|
||||||
Username: username,
|
|
||||||
Password: password,
|
|
||||||
}
|
|
||||||
user.Perm.Admin = true
|
user.Perm.Admin = true
|
||||||
|
user.Scope = "./"
|
||||||
user.DarkMode = true
|
user.DarkMode = true
|
||||||
user.ViewMode = "normal"
|
user.ViewMode = "normal"
|
||||||
user.LockPassword = false
|
user.LockPassword = false
|
||||||
|
|
|
@ -13,9 +13,9 @@ userDefaults:
|
||||||
singleClick: false
|
singleClick: false
|
||||||
permissions:
|
permissions:
|
||||||
admin: false
|
admin: false
|
||||||
create: true
|
create: false
|
||||||
rename: true
|
rename: false
|
||||||
modify: true
|
modify: false
|
||||||
delete: true
|
delete: false
|
||||||
share: true
|
share: false
|
||||||
download: true
|
download: false
|
||||||
|
|
|
@ -47,6 +47,7 @@ func setDefaults() Settings {
|
||||||
return Settings{
|
return Settings{
|
||||||
Server: Server{
|
Server: Server{
|
||||||
EnableThumbnails: true,
|
EnableThumbnails: true,
|
||||||
|
ResizePreview: false,
|
||||||
EnableExec: false,
|
EnableExec: false,
|
||||||
IndexingInterval: 5,
|
IndexingInterval: 5,
|
||||||
Port: 8080,
|
Port: 8080,
|
||||||
|
@ -60,7 +61,7 @@ func setDefaults() Settings {
|
||||||
AdminUsername: "admin",
|
AdminUsername: "admin",
|
||||||
AdminPassword: "admin",
|
AdminPassword: "admin",
|
||||||
Method: "password",
|
Method: "password",
|
||||||
Signup: true,
|
Signup: false,
|
||||||
Recaptcha: Recaptcha{
|
Recaptcha: Recaptcha{
|
||||||
Host: "",
|
Host: "",
|
||||||
},
|
},
|
||||||
|
@ -73,12 +74,12 @@ func setDefaults() Settings {
|
||||||
DisableSettings: false,
|
DisableSettings: false,
|
||||||
Locale: "en",
|
Locale: "en",
|
||||||
Permissions: users.Permissions{
|
Permissions: users.Permissions{
|
||||||
Create: true,
|
Create: false,
|
||||||
Rename: true,
|
Rename: false,
|
||||||
Modify: true,
|
Modify: false,
|
||||||
Delete: true,
|
Delete: false,
|
||||||
Share: true,
|
Share: false,
|
||||||
Download: true,
|
Download: false,
|
||||||
Admin: false,
|
Admin: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package users
|
package users
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"log"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -91,6 +92,7 @@ func (s *Storage) Update(user *User, fields ...string) error {
|
||||||
|
|
||||||
// Save saves the user in a storage.
|
// Save saves the user in a storage.
|
||||||
func (s *Storage) Save(user *User) error {
|
func (s *Storage) Save(user *User) error {
|
||||||
|
log.Println("Saving new user:", user.Username)
|
||||||
if err := user.Clean(""); err != nil {
|
if err := user.Clean(""); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,19 +25,6 @@
|
||||||
background: var(--background);
|
background: var(--background);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Header */
|
|
||||||
.dark-mode header {
|
|
||||||
background: var(--surfacePrimary);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Header with backdrop-filter support */
|
|
||||||
@supports (backdrop-filter: none) {
|
|
||||||
.dark-mode header {
|
|
||||||
background: transparent;
|
|
||||||
backdrop-filter: blur(16px) invert(0.1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#search.dark-mode input {
|
#search.dark-mode input {
|
||||||
color:white
|
color:white
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,6 @@ body.rtl #listing {
|
||||||
#listing.compact .item,
|
#listing.compact .item,
|
||||||
#listing.normal .item,
|
#listing.normal .item,
|
||||||
#listing.list .item {
|
#listing.list .item {
|
||||||
width: calc(33% - 1em);
|
|
||||||
max-width: 300px;
|
max-width: 300px;
|
||||||
margin: .5em;
|
margin: .5em;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
<div v-if="progress" class="progress">
|
<div v-if="progress" class="progress">
|
||||||
<div v-bind:style="{ width: this.progress + '%' }"></div>
|
<div v-bind:style="{ width: this.progress + '%' }"></div>
|
||||||
</div>
|
</div>
|
||||||
<listingBar v-if="currentView === 'listing'"></listingBar>
|
<listingBar :class="{ 'dark-mode-header': isDarkMode }" v-if="currentView === 'listing'"></listingBar>
|
||||||
<editorBar v-else-if="currentView === 'editor'"></editorBar>
|
<editorBar :class="{ 'dark-mode-header': isDarkMode }" v-else-if="currentView === 'editor'"></editorBar>
|
||||||
<defaultBar v-else></defaultBar>
|
<defaultBar :class="{ 'dark-mode-header': isDarkMode }" v-else></defaultBar>
|
||||||
<sidebar></sidebar>
|
<sidebar></sidebar>
|
||||||
<main :class="{ 'dark-mode': isDarkMode }">
|
<main :class="{ 'dark-mode': isDarkMode }">
|
||||||
<router-view></router-view>
|
<router-view></router-view>
|
||||||
|
@ -93,4 +93,19 @@ export default {
|
||||||
color: var(--textPrimary);
|
color: var(--textPrimary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
.dark-mode-header {
|
||||||
|
color:white;
|
||||||
|
background: var(--surfacePrimary);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header with backdrop-filter support */
|
||||||
|
@supports (backdrop-filter: none) {
|
||||||
|
.dark-mode-header {
|
||||||
|
background: transparent;
|
||||||
|
backdrop-filter: blur(16px) invert(0.1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
|
@ -22,7 +22,7 @@ Future releases (within 6 months):
|
||||||
- Add tools to sidebar
|
- Add tools to sidebar
|
||||||
- duplicate file detector.
|
- duplicate file detector.
|
||||||
- bulk rename https://github.com/filebrowser/filebrowser/issues/2473
|
- bulk rename https://github.com/filebrowser/filebrowser/issues/2473
|
||||||
- Add Job status to the sidebar - indexin status.
|
- Add Job status to the sidebar - index status.
|
||||||
- Use vite instead of webpack
|
- Use vite instead of webpack
|
||||||
- upgrade to vue3
|
- upgrade to vue3
|
||||||
- support minio/s3 https://github.com/filebrowser/filebrowser/issues/2544
|
- support minio/s3 https://github.com/filebrowser/filebrowser/issues/2544
|
||||||
|
|
Loading…
Reference in New Issue