Skip to content

Commit

Permalink
Many to Many view between Snowpits and Photos
Browse files Browse the repository at this point in the history
  • Loading branch information
abkfenris committed Jan 6, 2015
1 parent 3884a4e commit 8685a82
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 7 deletions.
16 changes: 9 additions & 7 deletions baxter/admin/__init__.py
Expand Up @@ -105,13 +105,6 @@ def inaccessible_callback(self, name, **kwargs):
return redirect(url_for('security.login'))


class FileView(ModelView):
form_overrides = {'path': FileUploadField}
form_args = {'path': {'label': 'File',
'base_path': pit_path}}
column_formatters = {'path': lambda v, c, m, p: pit_static_path + m.path}
column_list = ('name', 'path', 'location', 'description')

class InlineAvalancheInProb(InlineFormAdmin):
pass

Expand Down Expand Up @@ -161,6 +154,15 @@ class InlineInvolvedView(InlineFormAdmin):
#] # Trying to format the inline form smaller


class FileView(ModelView):
form_overrides = {'path': FileUploadField}
form_args = {'path': {'label': 'File',
'base_path': pit_path}}
column_formatters = {'path': lambda v, c, m, p: pit_static_path + m.path}
column_list = ('name', 'path', 'location', 'description')
inline_models = ( InlineImageView(Photo),)


class UserView(ModelView):
def is_accessible(self):
return current_user.has_role('admin')
Expand Down
8 changes: 8 additions & 0 deletions baxter/models/photo.py
Expand Up @@ -7,6 +7,11 @@
db.Column('photo_id', db.Integer, db.ForeignKey('photoss.id')),
)

snowpit_photo = db.Table('snowpits_photo',
db.Column('snowpit_id', db.Integer, db.ForeignKey('snowpits.id')),
db.Column('photo_id', db.Integer, db.ForeignKey('photoss.id')),
)


class Photo(db.Model):
"""
Expand All @@ -30,5 +35,8 @@ class Photo(db.Model):
incident = db.relationship('AvalancheIn', secondary=avalanche_ins_photo,
backref=db.backref('photos', lazy='dynamic'))

snowpits = db.relationship('SnowPit', secondary=snowpit_photo,
backref=db.backref('photos', lazy='dynamic'))

def __unicode__(self):
return self.name
47 changes: 47 additions & 0 deletions migrations/versions/563ca8edf640_snowpit_photo_m_2_m.py
@@ -0,0 +1,47 @@
"""snowpit-photo m-2-m
Revision ID: 563ca8edf640
Revises: 5a19ad254747
Create Date: 2015-01-05 20:43:00.819840
"""

# revision identifiers, used by Alembic.
revision = '563ca8edf640'
down_revision = '5a19ad254747'

from alembic import op
import sqlalchemy as sa


def upgrade():
### commands auto generated by Alembic - please adjust! ###
op.create_table('snowpits_photo',
sa.Column('snowpit_id', sa.Integer(), nullable=True),
sa.Column('photo_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['photo_id'], ['photoss.id'], ),
sa.ForeignKeyConstraint(['snowpit_id'], ['snowpits.id'], )
)
#op.drop_index('idx_avalanche_ins_bed_surface', table_name='avalanche_ins')
#op.drop_index('idx_avalanche_ins_crown', table_name='avalanche_ins')
#op.drop_index('idx_avalanche_ins_debris_field', table_name='avalanche_ins')
#op.drop_index('idx_avalanche_paths_path', table_name='avalanche_paths')
#op.drop_index('idx_photoss_location', table_name='photoss')
#op.drop_index('idx_points_of_interests_point', table_name='points_of_interests')
#op.drop_index('idx_snowpits_location', table_name='snowpits')
#op.drop_index('idx_trails_geom', table_name='trails')
### end Alembic commands ###


def downgrade():
### commands auto generated by Alembic - please adjust! ###
#op.create_index('idx_trails_geom', 'trails', ['geom'], unique=False)
#op.create_index('idx_snowpits_location', 'snowpits', ['location'], unique=False)
#op.create_index('idx_points_of_interests_point', 'points_of_interests', ['point'], unique=False)
#op.create_index('idx_photoss_location', 'photoss', ['location'], unique=False)
#op.create_index('idx_avalanche_paths_path', 'avalanche_paths', ['path'], unique=False)
#op.create_index('idx_avalanche_ins_debris_field', 'avalanche_ins', ['debris_field'], unique=False)
#op.create_index('idx_avalanche_ins_crown', 'avalanche_ins', ['crown'], unique=False)
#op.create_index('idx_avalanche_ins_bed_surface', 'avalanche_ins', ['bed_surface'], unique=False)
op.drop_table('snowpits_photo')
### end Alembic commands ###

0 comments on commit 8685a82

Please sign in to comment.