Compare commits

..

No commits in common. "090f217f93dbc5a0af3c80cc2013484391f6f47b" and "2dc60acaa699f1d3bacd05f6db0c705c913c8797" have entirely different histories.

6 changed files with 16 additions and 40 deletions

View File

@ -38,7 +38,7 @@ class MassMoveCommand(DiscordCommandABC):
self,
ctx: Context,
channel_to: discord.VoiceChannel,
channel_from: Transform[discord.VoiceChannel, VoiceChannelTransformer] = None,
channel_from: Transform[str, VoiceChannelTransformer] = None,
):
self._logger.debug(__name__, f"Received command mass-move {ctx}")

View File

@ -58,22 +58,14 @@ class BaseOnVoiceStateUpdateEvent(OnVoiceStateUpdateABC):
return
try:
settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{server.discord_id}")
if joined:
active_joins = self._user_joins_vc.find_active_user_joined_voice_channels_by_user_id(user.id)
for join in active_joins:
join.leaved_on = datetime.now()
user.xp += round(join.time * settings.xp_per_ontime_hour)
self._user_joins_vc.update_user_joined_voice_channel(join)
self._users.update_user(user)
self._db.save_changes()
join = UserJoinedVoiceChannel(user, channel_id, datetime.now())
self._user_joins_vc.add_user_joined_voice_channel(join)
self._db.save_changes()
return
settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{server.discord_id}")
join = self._user_joins_vc.get_active_user_joined_voice_channel_by_user_id(user.id)
join.leaved_on = datetime.now()

View File

@ -25,7 +25,7 @@ class VoiceChannelTransformer(Transformer):
return [
app_commands.Choice(
name=f"{vc.name}" if vc.category is None else f"{vc.name}: {vc.category.name}",
value=str(vc.id),
value=vc.name,
)
for vc in get_client_utils().get_auto_complete_list(voice_channels, current, lambda x: x.name)
]

View File

@ -64,8 +64,6 @@ class ScheduledEventsWatcher(TaskABC):
elif interval == ScheduledEventIntervalEnum.yearly:
ts = ts + timedelta(days=365)
if ts < now:
return self._append_interval(interval, ts)
return ts
@tasks.loop(hours=24)

View File

@ -31,9 +31,7 @@
<div class="content-column">
<div class="content-data-name">{{'view.server.profile.xp' | translate}}:</div>
<div *ngIf="!isEditing" class="content-data-value">{{user.xp}}</div>
<div *ngIf="isModerator && isEditing" class="content-data-value"><input class="table-edit-input" pInputText
min="0" type="number"
[(ngModel)]="user.xp"></div>
<div *ngIf="isModerator && isEditing" class="content-data-value"><input class="table-edit-input" pInputText min="0" type="number" [(ngModel)]="user.xp"></div>
</div>
</div>
@ -73,8 +71,7 @@
<div class="content-data-name">{{'view.server.profile.level' | translate}}:</div>
<div *ngIf="!isEditing" class="content-data-value">{{user.level?.name}}</div>
<div *ngIf="isModerator && isEditing" class="content-data-value">
<p-dropdown [options]="levels" [(ngModel)]="user.level" dataKey="id"
placeholder="{{'common.level' | translate}}">
<p-dropdown [options]="levels" [(ngModel)]="user.level" dataKey="id" placeholder="{{'common.level' | translate}}">
</p-dropdown>
</div>
</div>
@ -103,8 +100,7 @@
<div>
<div class="content-divider"></div>
<p-table #dt [value]="(user.userWarnings ?? [])" [responsive]="true" responsiveLayout="stack"
[breakpoint]="'720px'" dataKey="id" editMode="row">
<p-table #dt [value]="(user.userWarnings ?? [])" [responsive]="true" responsiveLayout="stack" [breakpoint]="'720px'" dataKey="id" editMode="row">
<ng-template pTemplate="caption">
<div class="table-caption">
<div class="table-caption-table-info">
@ -182,13 +178,10 @@
</td>
<td>
<div class="btn-wrapper">
<button *ngIf="!editing" pButton type="button" class="btn danger-icon-btn" icon="pi pi-trash"
(click)="deleteUserWarning(ri)"></button>
<button *ngIf="!editing" pButton type="button" class="btn danger-icon-btn" icon="pi pi-trash" (click)="deleteUserWarning(ri)"></button>
<button *ngIf="editing" pButton type="button" pSaveEditableRow class="btn icon-btn" icon="pi pi-check"
(click)="editSaveUserWarning(value, ri)"></button>
<button *ngIf="editing" pButton type="button" pCancelEditableRow class="btn danger-icon-btn"
icon="pi pi-times"
<button *ngIf="editing" pButton type="button" pSaveEditableRow class="btn icon-btn" icon="pi pi-check" (click)="editSaveUserWarning(value, ri)"></button>
<button *ngIf="editing" pButton type="button" pCancelEditableRow class="btn danger-icon-btn" icon="pi pi-times"
(click)="editCancelUserWarning(ri)"></button>
</div>
</td>
@ -222,22 +215,16 @@
</div>
</p-panel>
<p-panel header="{{'view.server.profile.joined_voice_channel.header' | translate}}" [toggleable]="true"
[collapsed]="true"
<p-panel header="{{'view.server.profile.joined_voice_channel.header' | translate}}" [toggleable]="true" [collapsed]="true"
(onBeforeToggle)="onBeforeToggle($event.event, $event.collapsed)">
<div *ngFor="let join of user.joinedVoiceChannels;">
<div class="content-row">
<div class="content-column" style="flex: 0.3;">
<div class="content-data-name">{{'common.id' | translate}}:</div>
<div class="content-data-value">{{join.id}}</div>
</div>
<div class="content-column" style="flex: 0.75;">
<div class="content-column">
<div class="content-data-name">{{'view.server.profile.joined_voice_channel.time' | translate}}:</div>
<div class="content-data-value">{{join.time}} {{'general.hours' | translate}}</div>
</div>
<div class="content-column" style="flex: 2;">
<div class="content-column">
<div class="content-data-name">{{'view.server.profile.joined_voice_channel.channel' | translate}}:</div>
<div class="content-data-value">{{join.channelName}}</div>
</div>
@ -255,8 +242,7 @@
</div>
</p-panel>
<p-panel header="{{'view.server.profile.joined_game_server.header' | translate}}" [toggleable]="true"
[collapsed]="true"
<p-panel header="{{'view.server.profile.joined_game_server.header' | translate}}" [toggleable]="true" [collapsed]="true"
(onBeforeToggle)="onBeforeToggle($event.event, $event.collapsed)">
<div *ngFor="let join of user.userJoinedGameServers;">
<div class="content-row">

View File

@ -176,16 +176,15 @@ header {
flex-direction: row;
flex: 1;
margin: 5px 0;
gap: 5px;
.content-column {
display: flex;
flex: 1;
gap: 5px;
}
.content-data-name {
display: flex;
flex: 1;
align-items: center;
font-size: 18px;
@ -193,6 +192,7 @@ header {
.content-data-value {
display: flex;
flex: 1;
align-items: center;
font-size: 18px;