49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
import click
|
|
import datetime
|
|
from flask.cli import with_appcontext
|
|
|
|
from .models import Proposal, db
|
|
from grant.utils.enums import ProposalStatus, Category
|
|
from grant.user.models import User
|
|
|
|
|
|
@click.command()
|
|
@click.argument('stage')
|
|
@click.argument('user_id')
|
|
@click.argument('proposal_id')
|
|
@click.argument('title')
|
|
@click.argument('content')
|
|
@with_appcontext
|
|
def create_proposal(stage, user_id, proposal_id, title, content):
|
|
proposal = Proposal.create(stage=stage,
|
|
user_id=user_id,
|
|
proposal_id=proposal_id,
|
|
title=title,
|
|
content=content)
|
|
db.session.add(proposal)
|
|
db.session.commit()
|
|
|
|
|
|
@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')
|