2018-09-10 09:55:26 -07:00
|
|
|
import click
|
2019-02-05 12:34:19 -08:00
|
|
|
import datetime
|
2018-09-10 09:55:26 -07:00
|
|
|
from flask.cli import with_appcontext
|
|
|
|
|
|
|
|
from .models import Proposal, db
|
2019-02-05 12:34:19 -08:00
|
|
|
from grant.utils.enums import ProposalStatus, Category
|
|
|
|
from grant.user.models import User
|
2018-09-10 09:55:26 -07:00
|
|
|
|
|
|
|
|
|
|
|
@click.command()
|
|
|
|
@click.argument('stage')
|
2018-09-25 13:09:25 -07:00
|
|
|
@click.argument('user_id')
|
2018-09-10 09:55:26 -07:00
|
|
|
@click.argument('proposal_id')
|
|
|
|
@click.argument('title')
|
|
|
|
@click.argument('content')
|
|
|
|
@with_appcontext
|
2018-09-25 13:09:25 -07:00
|
|
|
def create_proposal(stage, user_id, proposal_id, title, content):
|
2018-09-10 09:55:26 -07:00
|
|
|
proposal = Proposal.create(stage=stage,
|
2018-09-25 13:09:25 -07:00
|
|
|
user_id=user_id,
|
2018-09-10 09:55:26 -07:00
|
|
|
proposal_id=proposal_id,
|
|
|
|
title=title,
|
|
|
|
content=content)
|
|
|
|
db.session.add(proposal)
|
|
|
|
db.session.commit()
|
2019-02-05 12:34:19 -08:00
|
|
|
|
|
|
|
|
|
|
|
@click.command()
|
|
|
|
@click.argument('count', type=int)
|
|
|
|
@with_appcontext
|
|
|
|
def create_proposals(count):
|
|
|
|
user = User.query.filter_by().first()
|
|
|
|
for i in range(count):
|
|
|
|
p = Proposal.create(
|
|
|
|
status=ProposalStatus.LIVE,
|
|
|
|
title=f'Fake Proposal #{i}',
|
|
|
|
content=f'My fake proposal content, numero {i}',
|
|
|
|
brief=f'This is proposal {i} generated by "flask create-proposals"',
|
|
|
|
category=Category.ACCESSIBILITY,
|
|
|
|
target="123.456",
|
|
|
|
payout_address="fake123",
|
|
|
|
deadline_duration=100
|
|
|
|
)
|
|
|
|
p.date_published = datetime.datetime.now()
|
|
|
|
p.team.append(user)
|
|
|
|
db.session.add(p)
|
|
|
|
|
|
|
|
db.session.commit()
|
|
|
|
print(f'Added {count} LIVE fake proposals')
|