Merge branch 'master' into signup_helper

master
Tanner Collin 8 months ago
commit 3dc450437b
  1. 11
      apiserver/apiserver/api/utils.py
  2. 6
      apiserver/apiserver/api/views.py
  3. 5
      webclient/src/App.js
  4. 6
      webclient/src/Debug.js
  5. 8
      webclient/src/Members.js
  6. 15
      webclient/src/Storage.js

@ -157,7 +157,7 @@ def gen_search_strings():
start = time.time()
search_strings = {}
for m in models.Member.objects.order_by('-expire_date'):
for m in models.Member.objects.order_by('-expire_date').prefetch_related('user__storage'):
string = '{} {} | {} {}'.format(
m.preferred_name,
m.last_name,
@ -166,11 +166,18 @@ def gen_search_strings():
)
string += ' | ' + m.user.email
string += ' | ' + m.discourse_username
if m.discourse_username:
string += ' | ' + m.discourse_username
string += ' | ' + str(m.id)
for s in m.user.storage.all():
string += ' | ' + s.shelf_id
string = string.lower()
search_strings[string] = m.id
cache.set('search_strings', search_strings)
logger.info('Generated search strings in %s s.', time.time() - start)

@ -99,9 +99,9 @@ class SearchViewSet(Base, Retrieve):
queryset = queryset.order_by('-vetted_date', '-id')
elif sort == 'newest_active':
queryset = queryset.filter(paused_date__isnull=True)
queryset = queryset.order_by('-application_date', '-id')
queryset = queryset.order_by('-current_start_date', '-id')
elif sort == 'newest_overall':
queryset = queryset.order_by('-application_date', '-id')
queryset = queryset.order_by('-current_start_date', '-id')
elif sort == 'oldest_active':
queryset = queryset.filter(paused_date__isnull=True)
queryset = queryset.order_by('application_date', 'id')
@ -1605,7 +1605,7 @@ class ProtocoinViewSet(Base):
memo = 'Protocoin - Purchase spent ₱{} printing {}'.format(
total_cost,
request.data['job_name'],
request.data['job_name'][:100],
)
tx = models.Transaction.objects.create(

@ -198,6 +198,11 @@ function App() {
as={Link}
to='/classes'
/>
<Dropdown.Item
content='Storage'
as={Link}
to='/storage'
/>
<Dropdown.Item
content='Utilities'
as={Link}

@ -2,7 +2,6 @@ import React, { useState, useEffect } from 'react';
import { Link, useParams, useHistory } from 'react-router-dom';
import './light.css';
import { MembersDropdown } from './Members.js';
import { StorageList } from './Storage.js';
import { isAdmin, BasicTable, requester } from './utils.js';
import { Button, Container, Form, Grid, Header, Message, Segment, Table } from 'semantic-ui-react';
@ -35,11 +34,6 @@ export function Debug(props) {
<p><Link to='/display/lcars2'>LCARS2 Display</Link></p>
<Header size='medium'>Storage</Header>
<StorageList token={token} />
</Container>
);
};

@ -178,7 +178,7 @@ export function Members(props) {
<Container>
<Header size='large'>Member List</Header>
<p>Search by name, email, Spacebar username, or member ID:</p>
<p>Search by name, email, Spacebar username, member ID, or member shelf:</p>
<Input autoFocus focus icon='search'
placeholder='Search...'
@ -250,7 +250,11 @@ export function Members(props) {
'None'
}
</Item.Description>
<Item.Description>Joined: {x.member.application_date || 'Unknown'}</Item.Description>
{sort === 'newest_active' ?
<Item.Description>Started: {x.member.current_start_date || 'Unknown'}</Item.Description>
:
<Item.Description>Joined: {x.member.application_date || 'Unknown'}</Item.Description>
}
</>
}
</Item.Content>

@ -47,7 +47,6 @@ function EditStorage(props) {
const [loading, setLoading] = useState(false);
const [success, setSuccess] = useState(false);
const { id } = useParams();
const history = useHistory();
const handleSubmit = (e) => {
if (loading) return;
@ -69,25 +68,11 @@ function EditStorage(props) {
});
};
const saveAndNext = (e) => {
e.preventDefault();
handleSubmit(e)
.then(res => {
setStorage(false);
history.push('/storage/' + (parseInt(id) + 1));
});
};
return (
<div>
<Header size='medium'>Edit Storage {storage.shelf_id}</Header>
<Form onSubmit={handleSubmit}>
<Form.Button floated='right' onClick={saveAndNext} loading={loading} error={error.non_field_errors}>
Save and edit next
</Form.Button>
<StorageEditor token={token} input={input} setInput={setInput} error={error} />
<Form.Group widths='equal'>

Loading…
Cancel
Save