Skip to content

Commit ab16b41

Browse files
refactor(template): simplify code and fix teams view bug (#41)
1 parent 0bd1be5 commit ab16b41

7 files changed

+14
-20
lines changed

template/apps/api/{% if api_style in ['drf', 'both'] %}views.py{% endif %}.jinja

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
"""API views."""
2-
from rest_framework import viewsets, permissions
32
from rest_framework.decorators import api_view
43
from rest_framework.response import Response
54

template/apps/billing/{% if use_stripe %}decorators.py{% endif %}.jinja

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
"""Feature gating decorators for subscription-based access control."""
22
from functools import wraps
3-
from django.shortcuts import redirect
3+
44
from django.contrib import messages
5-
from django.http import JsonResponse, HttpResponseForbidden
5+
from django.http import JsonResponse
6+
from django.shortcuts import redirect
67
from django.utils.translation import gettext_lazy as _
78

89
from .utils import (

template/apps/billing/{% if use_stripe %}utils.py{% endif %}.jinja

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,9 @@ def get_customer_portal_url(customer_id, return_url):
9191
def get_or_create_customer(user):
9292
"""Get or create a Stripe customer for a user."""
9393
try:
94-
customer = Customer.objects.get(subscriber=user)
95-
return customer
94+
return Customer.objects.get(subscriber=user)
9695
except Customer.DoesNotExist:
97-
customer = Customer.create(subscriber=user)
98-
return customer
96+
return Customer.create(subscriber=user)
9997

10098

10199
def create_checkout_session(user, price_id, success_url, cancel_url, metadata=None):

template/apps/core/feature_flags.py.jinja

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,17 @@ def is_feature_enabled(feature_name, request=None, user=None):
2727
"""
2828
if request:
2929
return flag_is_active(request, feature_name)
30-
elif user:
30+
31+
if user:
3132
# Create a minimal request-like object for waffle
3233
class MinimalRequest:
3334
def __init__(self, user):
3435
self.user = user
3536

3637
return flag_is_active(MinimalRequest(user), feature_name)
37-
else:
38-
# No user context, check if it's a switch
39-
return switch_is_active(feature_name)
38+
39+
# No user context, check if it's a switch
40+
return switch_is_active(feature_name)
4041

4142

4243
def is_switch_enabled(switch_name):

template/apps/teams/{% if use_teams %}views.py{% endif %}.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ class TeamMemberUpdateView(TeamAdminRequiredMixin, UpdateView):
235235
def form_valid(self, form):
236236
"""Show success message."""
237237
response = super().form_valid(form)
238-
messages.success(request, _("Member updated successfully!"))
238+
messages.success(self.request, _("Member updated successfully!"))
239239
return response
240240

241241
def get_success_url(self):

template/apps/users/impersonation.py.jinja

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""User impersonation for admin support."""
22
import logging
3-
from django.conf import settings
3+
from functools import wraps
4+
45
from django.contrib import messages
56
from django.contrib.auth import get_user_model
67
from django.shortcuts import redirect, get_object_or_404
@@ -186,8 +187,6 @@ def prevent_while_impersonating(view_func):
186187
def sensitive_view(request):
187188
...
188189
"""
189-
from functools import wraps
190-
191190
@wraps(view_func)
192191
def wrapper(request, *args, **kwargs):
193192
if getattr(request, "is_impersonating", False):

tests/conftest.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,7 @@ def _generate(answers: dict[str, Any] | None = None, **kwargs) -> Path:
107107
Returns:
108108
Path to generated project
109109
"""
110-
final_answers = copier_answers.copy()
111-
if answers:
112-
final_answers.update(answers)
113-
final_answers.update(kwargs)
114-
110+
final_answers = {**copier_answers, **(answers or {}), **kwargs}
115111
return generate_project(template_dir, temp_dir, final_answers)
116112

117113
return _generate

0 commit comments

Comments
 (0)