remove unused domain methods and arguments

This commit is contained in:
dandds
2019-03-20 13:22:27 -04:00
parent de7c69bde7
commit 4a0dd2d432
33 changed files with 170 additions and 234 deletions

View File

@@ -8,7 +8,7 @@ from atst.models.environment_role import EnvironmentRole
class Applications(object):
@classmethod
def create(cls, user, portfolio, name, description, environment_names):
def create(cls, portfolio, name, description, environment_names):
application = Application(
portfolio=portfolio, name=name, description=description
)
@@ -20,7 +20,7 @@ class Applications(object):
return application
@classmethod
def get(cls, user, portfolio, application_id):
def get(cls, application_id):
try:
application = (
db.session.query(Application).filter_by(id=application_id).one()
@@ -42,7 +42,7 @@ class Applications(object):
)
@classmethod
def get_all(cls, user, portfolio_role, portfolio):
def get_all(cls, portfolio):
try:
applications = (
db.session.query(Application).filter_by(portfolio_id=portfolio.id).all()
@@ -53,7 +53,7 @@ class Applications(object):
return applications
@classmethod
def update(cls, user, portfolio, application, new_data):
def update(cls, application, new_data):
if "name" in new_data:
application.name = new_data["name"]
if "description" in new_data:

View File

@@ -34,11 +34,11 @@ class AuditLog(object):
return cls._log(resource=resource, action=action, portfolio=portfolio)
@classmethod
def get_all_events(cls, user, pagination_opts=None):
def get_all_events(cls, pagination_opts=None):
return AuditEventQuery.get_all(pagination_opts)
@classmethod
def get_portfolio_events(cls, user, portfolio, pagination_opts=None):
def get_portfolio_events(cls, portfolio, pagination_opts=None):
return AuditEventQuery.get_ws_events(portfolio.id, pagination_opts)
@classmethod

View File

@@ -10,7 +10,7 @@ from atst.domain.task_orders import TaskOrders
def evaluate_exceptions(user, permission, exceptions, **kwargs):
return (
True
if True in [exc(g.current_user, permission, **kwargs) for exc in exceptions]
if True in [exc(user, permission, **kwargs) for exc in exceptions]
else False
)
@@ -26,7 +26,7 @@ def user_can_access_decorator(permission, message=None, exceptions=None):
g.current_user, kwargs["portfolio_id"]
)
elif "task_order_id" in kwargs:
task_order = TaskOrders.get(g.current_user, kwargs["task_order_id"])
task_order = TaskOrders.get(kwargs["task_order_id"])
access_args["portfolio"] = task_order.portfolio
if exceptions and evaluate_exceptions(

View File

@@ -58,7 +58,7 @@ class Environments(object):
return env
@classmethod
def update_environment_roles(cls, user, portfolio, portfolio_role, ids_and_roles):
def update_environment_roles(cls, portfolio_role, ids_and_roles):
updated = False
for id_and_role in ids_and_roles:
@@ -92,5 +92,5 @@ class Environments(object):
return updated
@classmethod
def revoke_access(cls, user, environment, target_user):
def revoke_access(cls, environment, target_user):
EnvironmentRoles.delete(environment.id, target_user.id)

View File

@@ -116,7 +116,7 @@ class Invitations(object):
return portfolio_role.latest_invitation
@classmethod
def resend(cls, user, portfolio_id, token):
def resend(cls, user, token):
previous_invitation = Invitations._get(token)
Invitations._update_status(previous_invitation, InvitationStatus.REVOKED)

View File

@@ -36,25 +36,7 @@ class Portfolios(object):
return ScopedPortfolio(user, portfolio)
@classmethod
def get_for_update_applications(cls, user, portfolio_id):
portfolio = PortfoliosQuery.get(portfolio_id)
return portfolio
@classmethod
def get_for_update_information(cls, user, portfolio_id):
portfolio = PortfoliosQuery.get(portfolio_id)
return portfolio
@classmethod
def get_for_update_member(cls, user, portfolio_id):
portfolio = PortfoliosQuery.get(portfolio_id)
return portfolio
@classmethod
def get_with_members(cls, user, portfolio_id):
def get_for_update(cls, portfolio_id):
portfolio = PortfoliosQuery.get(portfolio_id)
return portfolio
@@ -68,7 +50,7 @@ class Portfolios(object):
return portfolios
@classmethod
def create_member(cls, user, portfolio, data):
def create_member(cls, portfolio, data):
new_user = Users.get_or_create_by_dod_id(
data["dod_id"],
first_name=data["first_name"],
@@ -87,7 +69,7 @@ class Portfolios(object):
return portfolio_role
@classmethod
def update_member(cls, user, portfolio, member, permission_sets):
def update_member(cls, member, permission_sets):
return PortfolioRoles.update(member, permission_sets)
@classmethod
@@ -118,7 +100,7 @@ class Portfolios(object):
)
@classmethod
def revoke_access(cls, user, portfolio_id, portfolio_role_id):
def revoke_access(cls, portfolio_id, portfolio_role_id):
portfolio = PortfoliosQuery.get(portfolio_id)
portfolio_role = PortfolioRoles.get_by_id(portfolio_role_id)
@@ -127,7 +109,7 @@ class Portfolios(object):
portfolio_role.status = PortfolioRoleStatus.DISABLED
for environment in portfolio.all_environments:
Environments.revoke_access(user, environment, portfolio_role.user)
Environments.revoke_access(environment, portfolio_role.user)
PortfoliosQuery.add_and_commit(portfolio_role)
return portfolio_role

View File

@@ -52,7 +52,7 @@ class TaskOrders(object):
UNCLASSIFIED_FUNDING = ["performance_length", "csp_estimate", "clin_01", "clin_03"]
@classmethod
def get(cls, user, task_order_id):
def get(cls, task_order_id):
try:
task_order = db.session.query(TaskOrder).filter_by(id=task_order_id).one()
@@ -70,7 +70,7 @@ class TaskOrders(object):
return task_order
@classmethod
def update(cls, user, task_order, **kwargs):
def update(cls, task_order, **kwargs):
for key, value in kwargs.items():
setattr(task_order, key, value)
@@ -135,7 +135,7 @@ class TaskOrders(object):
]
@classmethod
def add_officer(cls, user, task_order, officer_type, officer_data):
def add_officer(cls, task_order, officer_type, officer_data):
if officer_type in TaskOrders.OFFICERS:
portfolio = task_order.portfolio
@@ -152,7 +152,6 @@ class TaskOrders(object):
portfolio_user = existing_member.user
else:
member = Portfolios.create_member(
user,
portfolio,
{
**officer_data,

View File

@@ -148,7 +148,7 @@ def logout():
@user_can(Permissions.VIEW_AUDIT_LOG, message="view activity log")
def activity_history():
pagination_opts = Paginator.get_pagination_opts(request)
audit_events = AuditLog.get_all_events(g.current_user, pagination_opts)
audit_events = AuditLog.get_all_events(pagination_opts)
return render_template("audit_log/audit_log.html", audit_events=audit_events)

View File

@@ -27,7 +27,7 @@ def portfolio_applications(portfolio_id):
@portfolios_bp.route("/portfolios/<portfolio_id>/applications/new")
@user_can(Permissions.CREATE_APPLICATION)
def new_application(portfolio_id):
portfolio = Portfolios.get_for_update_applications(g.current_user, portfolio_id)
portfolio = Portfolios.get_for_update(portfolio_id)
form = NewApplicationForm()
return render_template(
"portfolios/applications/new.html", portfolio=portfolio, form=form
@@ -37,13 +37,12 @@ def new_application(portfolio_id):
@portfolios_bp.route("/portfolios/<portfolio_id>/applications/new", methods=["POST"])
@user_can(Permissions.CREATE_APPLICATION)
def create_application(portfolio_id):
portfolio = Portfolios.get_for_update_applications(g.current_user, portfolio_id)
portfolio = Portfolios.get_for_update(portfolio_id)
form = NewApplicationForm(http_request.form)
if form.validate():
application_data = form.data
Applications.create(
g.current_user,
portfolio,
application_data["name"],
application_data["description"],
@@ -61,8 +60,8 @@ def create_application(portfolio_id):
@portfolios_bp.route("/portfolios/<portfolio_id>/applications/<application_id>/edit")
@user_can(Permissions.EDIT_APPLICATION)
def edit_application(portfolio_id, application_id):
portfolio = Portfolios.get_for_update_applications(g.current_user, portfolio_id)
application = Applications.get(g.current_user, portfolio, application_id)
portfolio = Portfolios.get_for_update(portfolio_id)
application = Applications.get(application_id)
form = ApplicationForm(name=application.name, description=application.description)
return render_template(
@@ -78,12 +77,12 @@ def edit_application(portfolio_id, application_id):
)
@user_can(Permissions.EDIT_APPLICATION)
def update_application(portfolio_id, application_id):
portfolio = Portfolios.get_for_update_applications(g.current_user, portfolio_id)
application = Applications.get(g.current_user, portfolio, application_id)
portfolio = Portfolios.get_for_update(portfolio_id)
application = Applications.get(application_id)
form = ApplicationForm(http_request.form)
if form.validate():
application_data = form.data
Applications.update(g.current_user, portfolio, application, application_data)
Applications.update(application, application_data)
return redirect(
url_for("portfolios.portfolio_applications", portfolio_id=portfolio.id)

View File

@@ -40,12 +40,10 @@ def serialize_member(member):
@portfolios_bp.route("/portfolios/<portfolio_id>/admin")
@user_can(Permissions.VIEW_PORTFOLIO_ADMIN)
def portfolio_admin(portfolio_id):
portfolio = Portfolios.get_for_update_information(g.current_user, portfolio_id)
portfolio = Portfolios.get_for_update(portfolio_id)
form = PortfolioForm(data={"name": portfolio.name})
pagination_opts = Paginator.get_pagination_opts(http_request)
audit_events = AuditLog.get_portfolio_events(
g.current_user, portfolio, pagination_opts
)
audit_events = AuditLog.get_portfolio_events(portfolio, pagination_opts)
members_data = [serialize_member(member) for member in portfolio.members]
return render_template(
"portfolios/admin.html",
@@ -60,7 +58,7 @@ def portfolio_admin(portfolio_id):
@portfolios_bp.route("/portfolios/<portfolio_id>/edit", methods=["POST"])
@user_can(Permissions.EDIT_PORTFOLIO_NAME)
def edit_portfolio(portfolio_id):
portfolio = Portfolios.get_for_update_information(g.current_user, portfolio_id)
portfolio = Portfolios.get_for_update(portfolio_id)
form = PortfolioForm(http_request.form)
if form.validate():
Portfolios.update(portfolio, form.data)

View File

@@ -47,7 +47,7 @@ def accept_invitation(token):
)
@user_can(Permissions.EDIT_PORTFOLIO_USERS)
def revoke_invitation(portfolio_id, token):
portfolio = Portfolios.get_for_update_member(g.current_user, portfolio_id)
portfolio = Portfolios.get_for_update(portfolio_id)
Invitations.revoke(token)
return redirect(url_for("portfolios.portfolio_members", portfolio_id=portfolio.id))
@@ -58,7 +58,7 @@ def revoke_invitation(portfolio_id, token):
)
@user_can(Permissions.EDIT_PORTFOLIO_USERS)
def resend_invitation(portfolio_id, token):
invite = Invitations.resend(g.current_user, portfolio_id, token)
invite = Invitations.resend(g.current_user, token)
send_invite_email(g.current_user.full_name, invite.token, invite.email)
flash("resend_portfolio_invitation", user_name=invite.user_name)
return redirect(url_for("portfolios.portfolio_members", portfolio_id=portfolio_id))

View File

@@ -36,7 +36,7 @@ def serialize_portfolio_role(portfolio_role):
@portfolios_bp.route("/portfolios/<portfolio_id>/members")
@user_can(Permissions.VIEW_PORTFOLIO_USERS)
def portfolio_members(portfolio_id):
portfolio = Portfolios.get_with_members(g.current_user, portfolio_id)
portfolio = Portfolios.get_for_update(portfolio_id)
members_list = [serialize_portfolio_role(k) for k in portfolio.members]
return render_template(
@@ -50,8 +50,8 @@ def portfolio_members(portfolio_id):
@portfolios_bp.route("/portfolios/<portfolio_id>/applications/<application_id>/members")
@user_can(Permissions.VIEW_APPLICATION_MEMBER)
def application_members(portfolio_id, application_id):
portfolio = Portfolios.get_with_members(g.current_user, portfolio_id)
application = Applications.get(g.current_user, portfolio, application_id)
portfolio = Portfolios.get_for_update(portfolio_id)
application = Applications.get(application_id)
# TODO: this should show only members that have env roles in this application
members_list = [serialize_portfolio_role(k) for k in portfolio.members]
@@ -81,7 +81,7 @@ def create_member(portfolio_id):
if form.validate():
try:
member = Portfolios.create_member(g.current_user, portfolio, form.data)
member = Portfolios.create_member(portfolio, form.data)
invite_service = InvitationService(
g.current_user, member, form.data.get("email")
)
@@ -107,7 +107,7 @@ def create_member(portfolio_id):
def view_member(portfolio_id, member_id):
portfolio = Portfolios.get(g.current_user, portfolio_id)
member = PortfolioRoles.get(portfolio_id, member_id)
applications = Applications.get_all(g.current_user, member, portfolio)
applications = Applications.get_all(portfolio)
form = member_forms.EditForm(portfolio_role="admin")
editable = g.current_user == member.user
can_revoke_access = Portfolios.can_revoke_access_for(portfolio, member)
@@ -147,12 +147,8 @@ def update_member(portfolio_id, member_id):
form = member_forms.EditForm(http_request.form)
if form.validate():
member = Portfolios.update_member(
g.current_user, portfolio, member, form.data["permission_sets"]
)
updated_roles = Environments.update_environment_roles(
g.current_user, portfolio, member, ids_and_roles
)
member = Portfolios.update_member(member, form.data["permission_sets"])
updated_roles = Environments.update_environment_roles(member, ids_and_roles)
if updated_roles:
flash("environment_access_changed")
@@ -173,6 +169,6 @@ def update_member(portfolio_id, member_id):
)
@user_can(Permissions.EDIT_PORTFOLIO_USERS)
def revoke_access(portfolio_id, member_id):
revoked_role = Portfolios.revoke_access(g.current_user, portfolio_id, member_id)
revoked_role = Portfolios.revoke_access(portfolio_id, member_id)
flash("revoked_portfolio_access", member_name=revoked_role.user.full_name)
return redirect(url_for("portfolios.portfolio_members", portfolio_id=portfolio_id))

View File

@@ -72,7 +72,7 @@ def portfolio_funding(portfolio_id):
@user_can(Permissions.VIEW_TASK_ORDER_DETAILS)
def view_task_order(portfolio_id, task_order_id):
portfolio = Portfolios.get(g.current_user, portfolio_id)
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
to_form_complete = TaskOrders.all_sections_complete(task_order)
dd_254_complete = DD254s.is_complete(task_order.dd_254)
return render_template(
@@ -90,7 +90,7 @@ def view_task_order(portfolio_id, task_order_id):
def wrap_check_is_ko_or_cor(user, _perm, task_order_id=None, **_kwargs):
task_order = TaskOrders.get(user, task_order_id)
task_order = TaskOrders.get(task_order_id)
Authorization.check_is_ko_or_cor(user, task_order)
return True
@@ -99,7 +99,7 @@ def wrap_check_is_ko_or_cor(user, _perm, task_order_id=None, **_kwargs):
@portfolios_bp.route("/portfolios/<portfolio_id>/task_order/<task_order_id>/review")
@user_can(None, exceptions=[wrap_check_is_ko_or_cor])
def ko_review(portfolio_id, task_order_id):
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
portfolio = Portfolios.get(g.current_user, portfolio_id)
if TaskOrders.all_sections_complete(task_order):
@@ -118,7 +118,7 @@ def ko_review(portfolio_id, task_order_id):
methods=["POST"],
)
@user_can(Permissions.EDIT_TASK_ORDER_DETAILS)
def resend_invite(portfolio_id, task_order_id, form=None):
def resend_invite(portfolio_id, task_order_id):
invite_type = http_request.args.get("invite_type")
if invite_type not in OFFICER_INVITATIONS:
@@ -126,7 +126,7 @@ def resend_invite(portfolio_id, task_order_id, form=None):
invite_type_info = OFFICER_INVITATIONS[invite_type]
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
portfolio = Portfolios.get(g.current_user, portfolio_id)
officer = getattr(task_order, invite_type_info["role"])
@@ -177,12 +177,12 @@ def resend_invite(portfolio_id, task_order_id, form=None):
)
@user_can(None, exceptions=[wrap_check_is_ko_or_cor])
def submit_ko_review(portfolio_id, task_order_id, form=None):
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
form_data = {**http_request.form, **http_request.files}
form = KOReviewForm(form_data)
if form.validate():
TaskOrders.update(user=g.current_user, task_order=task_order, **form.data)
TaskOrders.update(task_order=task_order, **form.data)
if Authorization.is_ko(g.current_user, task_order) and TaskOrders.can_ko_sign(
task_order
):
@@ -212,7 +212,7 @@ def submit_ko_review(portfolio_id, task_order_id, form=None):
@user_can(Permissions.EDIT_TASK_ORDER_DETAILS)
def task_order_invitations(portfolio_id, task_order_id):
portfolio = Portfolios.get(g.current_user, portfolio_id)
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
form = EditTaskOrderOfficersForm(obj=task_order)
if TaskOrders.all_sections_complete(task_order):
@@ -233,7 +233,7 @@ def task_order_invitations(portfolio_id, task_order_id):
@user_can(Permissions.EDIT_TASK_ORDER_DETAILS)
def edit_task_order_invitations(portfolio_id, task_order_id):
portfolio = Portfolios.get(g.current_user, portfolio_id)
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
form = EditTaskOrderOfficersForm(formdata=http_request.form, obj=task_order)
if form.validate():
@@ -279,7 +279,7 @@ def so_review_form(task_order):
def wrap_check_is_so(user, _perm, task_order_id=None, **_kwargs):
task_order = TaskOrders.get(user, task_order_id)
task_order = TaskOrders.get(task_order_id)
Authorization.check_is_so(user, task_order)
return True
@@ -288,7 +288,7 @@ def wrap_check_is_so(user, _perm, task_order_id=None, **_kwargs):
@portfolios_bp.route("/portfolios/<portfolio_id>/task_order/<task_order_id>/dd254")
@user_can(None, exceptions=[wrap_check_is_so])
def so_review(portfolio_id, task_order_id):
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
form = so_review_form(task_order)
return render_template(
@@ -304,7 +304,7 @@ def so_review(portfolio_id, task_order_id):
)
@user_can(None, exceptions=[wrap_check_is_so])
def submit_so_review(portfolio_id, task_order_id):
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
form = DD254Form(http_request.form)
if form.validate():

View File

@@ -1,5 +1,5 @@
from io import BytesIO
from flask import g, Response, current_app as app
from flask import Response, current_app as app
from . import task_orders_bp
from atst.domain.task_orders import TaskOrders
@@ -12,7 +12,7 @@ from atst.models.permissions import Permissions
@task_orders_bp.route("/task_orders/download_summary/<task_order_id>")
@user_can(Permissions.VIEW_TASK_ORDER_DETAILS)
def download_summary(task_order_id):
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
byte_str = BytesIO()
Docx.render(byte_str, data=task_order.to_dictionary())
filename = "{}.docx".format(task_order.portfolio_name)
@@ -36,7 +36,7 @@ def send_file(attachment):
@task_orders_bp.route("/task_orders/csp_estimate/<task_order_id>")
@user_can(Permissions.VIEW_TASK_ORDER_DETAILS)
def download_csp_estimate(task_order_id):
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
if task_order.csp_estimate:
return send_file(task_order.csp_estimate)
else:
@@ -46,7 +46,7 @@ def download_csp_estimate(task_order_id):
@task_orders_bp.route("/task_orders/pdf/<task_order_id>")
@user_can(Permissions.VIEW_TASK_ORDER_DETAILS)
def download_task_order_pdf(task_order_id):
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
if task_order.pdf:
return send_file(task_order.pdf)
else:

View File

@@ -11,7 +11,7 @@ from atst.models.permissions import Permissions
@task_orders_bp.route("/task_orders/invite/<task_order_id>", methods=["POST"])
@user_can(Permissions.EDIT_TASK_ORDER_DETAILS)
def invite(task_order_id):
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
if TaskOrders.all_sections_complete(task_order):
update_officer_invitations(g.current_user, task_order)

View File

@@ -61,7 +61,7 @@ class ShowTaskOrderWorkflow:
@property
def task_order(self):
if not self._task_order and self.task_order_id:
self._task_order = TaskOrders.get(self.user, self.task_order_id)
self._task_order = TaskOrders.get(self.task_order_id)
return self._task_order
@@ -230,7 +230,7 @@ class UpdateTaskOrderWorkflow(ShowTaskOrderWorkflow):
old_name = self.task_order.portfolio_name
if not new_name == old_name:
Portfolios.update(self.task_order.portfolio, {"name": new_name})
TaskOrders.update(self.user, self.task_order, **self.task_order_form_data)
TaskOrders.update(self.task_order, **self.task_order_form_data)
else:
if self.portfolio_id:
pf = Portfolios.get(self.user, self.portfolio_id)
@@ -241,7 +241,7 @@ class UpdateTaskOrderWorkflow(ShowTaskOrderWorkflow):
self.form.defense_component.data,
)
self._task_order = TaskOrders.create(portfolio=pf, creator=self.user)
TaskOrders.update(self.user, self.task_order, **self.task_order_form_data)
TaskOrders.update(self.task_order, **self.task_order_form_data)
return self.task_order
@@ -251,7 +251,7 @@ def get_started():
return render_template("task_orders/new/get_started.html") # pragma: no cover
def is_new_task_order(*args, **kwargs):
def is_new_task_order(*_args, **kwargs):
return (
"screen" in kwargs
and kwargs["screen"] == 1

View File

@@ -12,7 +12,7 @@ from atst.domain.authz.decorator import user_can_access_decorator as user_can
def find_unsigned_ko_to(task_order_id):
task_order = TaskOrders.get(g.current_user, task_order_id)
task_order = TaskOrders.get(task_order_id)
if not TaskOrders.can_ko_sign(task_order):
raise NoAccessError("task_order")
@@ -21,7 +21,7 @@ def find_unsigned_ko_to(task_order_id):
def wrap_check_is_ko(user, _perm, task_order_id=None, **_kwargs):
task_order = TaskOrders.get(user, task_order_id)
task_order = TaskOrders.get(task_order_id)
Authorization.check_is_ko(user, task_order)
return True
@@ -58,7 +58,6 @@ def record_signature(task_order_id):
if form.validate():
TaskOrders.update(
user=g.current_user,
task_order=task_order,
signer_dod_id=g.current_user.dod_id,
signed_at=datetime.datetime.now(),

View File

@@ -33,7 +33,7 @@ def update_officer_invitations(user, task_order):
):
officer_data = task_order.officer_dictionary(invite_opts["role"])
officer = TaskOrders.add_officer(
user, task_order, invite_opts["role"], officer_data
task_order, invite_opts["role"], officer_data
)
pf_officer_member = PortfolioRoles.get(task_order.portfolio.id, officer.id)
invite_service = Invitation(