summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-07-07 10:04:59 +0200
committerJules Laplace <julescarbon@gmail.com>2020-07-07 10:04:59 +0200
commit88294f4a34029a1a8c40fc2a28e2963f62f72c66 (patch)
tree06785fa3bf441b859751d4a37db241e2e749a9f7
parente8a15ee5abe78764eddeeab1984fe9324a9cf833 (diff)
upload lister should work again..
-rw-r--r--animism-align/cli/app/sql/common.py1
-rw-r--r--animism-align/cli/app/sql/env.py1
-rw-r--r--animism-align/cli/app/sql/models/media.py30
-rw-r--r--animism-align/frontend/views/upload/components/upload.index.js12
-rw-r--r--animism-align/frontend/views/upload/components/upload.indexOptions.js7
-rw-r--r--animism-align/frontend/views/upload/upload.actions.js2
-rw-r--r--animism-align/frontend/views/upload/upload.container.js1
-rw-r--r--animism-align/frontend/views/upload/upload.reducer.js1
8 files changed, 40 insertions, 15 deletions
diff --git a/animism-align/cli/app/sql/common.py b/animism-align/cli/app/sql/common.py
index f291daa..851c333 100644
--- a/animism-align/cli/app/sql/common.py
+++ b/animism-align/cli/app/sql/common.py
@@ -34,3 +34,4 @@ db = SQLAlchemy()
from app.sql.models.annotation import Annotation
from app.sql.models.paragraph import Paragraph
from app.sql.models.upload import Upload
+from app.sql.models.media import Media
diff --git a/animism-align/cli/app/sql/env.py b/animism-align/cli/app/sql/env.py
index 0defa88..6871a27 100644
--- a/animism-align/cli/app/sql/env.py
+++ b/animism-align/cli/app/sql/env.py
@@ -17,6 +17,7 @@ target_metadata = Base.metadata
from app.sql.models.annotation import Annotation
from app.sql.models.paragraph import Paragraph
from app.sql.models.upload import Upload
+from app.sql.models.media import Media
def run_migrations_offline():
"""Run migrations in 'offline' mode.
diff --git a/animism-align/cli/app/sql/models/media.py b/animism-align/cli/app/sql/models/media.py
new file mode 100644
index 0000000..6b615c9
--- /dev/null
+++ b/animism-align/cli/app/sql/models/media.py
@@ -0,0 +1,30 @@
+from sqlalchemy import create_engine, Table, Column, Text, String, Integer, Float, DateTime, JSON, ForeignKey
+from sqlalchemy.orm import relationship
+import sqlalchemy.sql.functions as func
+from sqlalchemy_utc import UtcDateTime, utcnow
+from wtforms_alchemy import ModelForm
+
+from app.sql.common import db, Base, Session
+
+from app.settings import app_cfg
+
+class Media(Base):
+ """Table for storing references to media"""
+ __tablename__ = 'media'
+ id = Column(Integer, primary_key=True)
+ type = Column(String(16, convert_unicode=True), nullable=False)
+ settings = Column(JSON, default={}, nullable=True)
+
+ def toJSON(self):
+ return {
+ 'id': self.id,
+ 'type': self.type,
+ 'settings': self.settings,
+ }
+
+class MediaForm(ModelForm):
+ class Meta:
+ model = Media
+ exclude = ['settings']
+ def get_session():
+ return Session()
diff --git a/animism-align/frontend/views/upload/components/upload.index.js b/animism-align/frontend/views/upload/components/upload.index.js
index 6123001..d17c4ca 100644
--- a/animism-align/frontend/views/upload/components/upload.index.js
+++ b/animism-align/frontend/views/upload/components/upload.index.js
@@ -31,7 +31,7 @@ export default class UploadIndex extends Component {
}
render() {
- const { searchOptions, uploadActions } = this.props
+ const { uploadActions } = this.props
const { options } = this.props.upload
const { loading, lookup, order } = this.props.upload.index
if (loading) {
@@ -40,7 +40,7 @@ export default class UploadIndex extends Component {
<UploadIndexOptions />
<div className="row">
{order && !!order.length &&
- <div className={'results ' + searchOptions.thumbnailSize}>
+ <div className={'results ' + options.thumbnailSize}>
{order.map(id => <UploadItem key={id} data={lookup[id]} />)}
</div>
}
@@ -67,7 +67,7 @@ export default class UploadIndex extends Component {
<UploadIndexOptions />
<div className="row">
<UploadMenu uploadActions={uploadActions} />
- <div className={'results ' + searchOptions.thumbnailSize}>
+ <div className={'results ' + options.thumbnailSize}>
{order.map(id => <UploadItem key={id} data={lookup[id]} />)}
</div>
</div>
@@ -88,12 +88,6 @@ const UploadItem = ({ data }) => {
</Link>
</div>
<div className='meta center'>
- <div className='row'>
- <SmallMenuButton name="search" href={"/search/upload/" + data.id + "/"} />
- </div>
- <div>
- {data.username}
- </div>
<div>
{formatDateTime(data.created_at)}
</div>
diff --git a/animism-align/frontend/views/upload/components/upload.indexOptions.js b/animism-align/frontend/views/upload/components/upload.indexOptions.js
index 22d3fdc..774bf22 100644
--- a/animism-align/frontend/views/upload/components/upload.indexOptions.js
+++ b/animism-align/frontend/views/upload/components/upload.indexOptions.js
@@ -30,7 +30,7 @@ const sortOptions = [
class IndexOptions extends Component {
render() {
- const { options, searchOptions } = this.props
+ const { options } = this.props
return (
<div className='row menubar'>
<div />
@@ -43,8 +43,8 @@ class IndexOptions extends Component {
<Select
name={'thumbnailSize'}
options={thumbnailOptions}
- selected={searchOptions.thumbnailSize}
- onChange={actions.search.updateOption}
+ selected={options.thumbnailSize}
+ onChange={actions.upload.updateOption}
/>
</div>
)
@@ -53,7 +53,6 @@ class IndexOptions extends Component {
const mapStateToProps = state => ({
options: state.upload.options,
- searchOptions: state.search.options,
})
const mapDispatchToProps = dispatch => ({
diff --git a/animism-align/frontend/views/upload/upload.actions.js b/animism-align/frontend/views/upload/upload.actions.js
index ba2b14b..488e030 100644
--- a/animism-align/frontend/views/upload/upload.actions.js
+++ b/animism-align/frontend/views/upload/upload.actions.js
@@ -7,7 +7,7 @@ import { session } from '../../session'
export const upload = file => dispatch => {
const formData = {
'image': file,
- 'username': session('username'),
+ // 'username': session('username'),
}
// console.log(formData)
return actions.upload.upload(formData).then(data => {
diff --git a/animism-align/frontend/views/upload/upload.container.js b/animism-align/frontend/views/upload/upload.container.js
index ea9df5a..0ad76c9 100644
--- a/animism-align/frontend/views/upload/upload.container.js
+++ b/animism-align/frontend/views/upload/upload.container.js
@@ -27,7 +27,6 @@ class Container extends Component {
const mapStateToProps = state => ({
upload: state.upload,
- searchOptions: state.search.options,
})
const mapDispatchToProps = dispatch => ({
diff --git a/animism-align/frontend/views/upload/upload.reducer.js b/animism-align/frontend/views/upload/upload.reducer.js
index 98dc0a1..db12819 100644
--- a/animism-align/frontend/views/upload/upload.reducer.js
+++ b/animism-align/frontend/views/upload/upload.reducer.js
@@ -6,6 +6,7 @@ import { crudState, crudReducer } from '../../api/crud.reducer'
const initialState = crudState('upload', {
options: {
sort: getDefault('upload.sort', 'id-desc'),
+ thumbnailSize: getDefault('upload.thumbnailSize', 'small'),
}
})