Skip to content
Merged
14 changes: 7 additions & 7 deletions backend/apps/account/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,20 +332,20 @@ class RoleAdmin(admin.ModelAdmin):
class CareerAdmin(admin.ModelAdmin):
list_display = (
"account",
"team",
"team_old",
"team_new",
"role",
"role_old",
"role_new",
"level",
"start_at",
"end_at",
)
search_fields = (
"account",
"team",
"team_new",
"role",
"role_new",
"account__email",
"team_old",
"team_new__name",
"role_old",
"role_new__name",
)
readonly_fields = ("created_at", "updated_at")
ordering = ["account", "start_at"]
Expand Down
4 changes: 3 additions & 1 deletion backend/apps/account/migrations/0001_initial.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,9 @@ class Migration(migrations.Migration):
),
(
"twitter",
models.CharField(blank=True, max_length=255, null=True, verbose_name="Twitter"),
models.CharField(
blank=True, max_length=255, null=True, verbose_name="Twitter"
),
),
(
"linkedin",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,67 +5,88 @@


class Migration(migrations.Migration):

dependencies = [
('account', '0018_account_gcp_email'),
("account", "0018_account_gcp_email"),
]

operations = [
migrations.CreateModel(
name='Role',
name="Role",
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('slug', models.SlugField(unique=True)),
('name', models.CharField(max_length=100, unique=True, verbose_name='Name')),
('description', models.TextField(blank=True, null=True, verbose_name='Description')),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
(
"id",
models.BigAutoField(
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
),
),
("slug", models.SlugField(unique=True)),
("name", models.CharField(max_length=100, unique=True, verbose_name="Name")),
(
"description",
models.TextField(blank=True, null=True, verbose_name="Description"),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
],
options={
'verbose_name': 'Role',
'verbose_name_plural': 'Roles',
'ordering': ['name'],
"verbose_name": "Role",
"verbose_name_plural": "Roles",
"ordering": ["name"],
},
),
migrations.CreateModel(
name='Team',
name="Team",
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('slug', models.SlugField(unique=True)),
('name', models.CharField(max_length=100, unique=True, verbose_name='Name')),
('description', models.TextField(blank=True, null=True, verbose_name='Description')),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
(
"id",
models.BigAutoField(
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
),
),
("slug", models.SlugField(unique=True)),
("name", models.CharField(max_length=100, unique=True, verbose_name="Name")),
(
"description",
models.TextField(blank=True, null=True, verbose_name="Description"),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
],
options={
'verbose_name': 'Team',
'verbose_name_plural': 'Teams',
'ordering': ['name'],
"verbose_name": "Team",
"verbose_name_plural": "Teams",
"ordering": ["name"],
},
),
migrations.AlterField(
model_name='career',
name='end_at',
field=models.DateField(blank=True, null=True, verbose_name='End at'),
model_name="career",
name="end_at",
field=models.DateField(blank=True, null=True, verbose_name="End at"),
),
migrations.AlterField(
model_name='career',
name='level',
field=models.CharField(blank=True, max_length=40, verbose_name='Level'),
model_name="career",
name="level",
field=models.CharField(blank=True, max_length=40, verbose_name="Level"),
),
migrations.AlterField(
model_name='career',
name='role',
field=models.CharField(blank=True, max_length=40, verbose_name='Role'),
model_name="career",
name="role",
field=models.CharField(blank=True, max_length=40, verbose_name="Role"),
),
migrations.AlterField(
model_name='career',
name='start_at',
field=models.DateField(blank=True, null=True, verbose_name='Start at'),
model_name="career",
name="start_at",
field=models.DateField(blank=True, null=True, verbose_name="Start at"),
),
migrations.AddField(
model_name='career',
name='team_new',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='careers', to='account.team'),
model_name="career",
name="team_new",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.DO_NOTHING,
related_name="careers",
to="account.team",
),
),
]
15 changes: 10 additions & 5 deletions backend/apps/account/migrations/0020_career_role_new.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,20 @@


class Migration(migrations.Migration):

dependencies = [
('account', '0019_role_team_alter_career_end_at_alter_career_level_and_more'),
("account", "0019_role_team_alter_career_end_at_alter_career_level_and_more"),
]

operations = [
migrations.AddField(
model_name='career',
name='role_new',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='careers', to='account.role'),
model_name="career",
name="role_new",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.DO_NOTHING,
related_name="careers",
to="account.role",
),
),
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Generated by Django 4.2.18 on 2025-02-05 00:43

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('account', '0020_career_role_new'),
]

operations = [
migrations.RenameField(
model_name='career',
old_name='role',
new_name='role_old',
),
migrations.RenameField(
model_name='career',
old_name='team',
new_name='team_old',
),
]
21 changes: 14 additions & 7 deletions backend/apps/account/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,9 @@ class Account(BaseModel, AbstractBaseUser, PermissionsMixin):
uuid = models.UUIDField(primary_key=False, default=uuid4)

email = models.EmailField("Email", unique=True)
gcp_email = models.EmailField("GCP email", null=True, blank=True) # Google Cloud Platform email
gcp_email = models.EmailField(
"GCP email", null=True, blank=True
) # Google Cloud Platform email
username = models.CharField("Username", max_length=40, blank=True, null=True, unique=True)

first_name = models.CharField("Nome", max_length=40, blank=True)
Expand Down Expand Up @@ -466,6 +468,7 @@ class Meta:
def __str__(self):
return self.name


class Role(BaseModel):
slug = models.SlugField(unique=True)
name = models.CharField("Name", max_length=100, unique=True)
Expand All @@ -485,10 +488,14 @@ def __str__(self):
class Career(BaseModel):
id = models.UUIDField(primary_key=True, default=uuid4)
account = models.ForeignKey(Account, on_delete=models.DO_NOTHING, related_name="careers")
team = models.CharField("Equipe", max_length=40, blank=True)
team_new = models.ForeignKey(Team, on_delete=models.DO_NOTHING, related_name="careers", null=True, blank=True)
role = models.CharField("Role", max_length=40, blank=True)
role_new = models.ForeignKey(Role, on_delete=models.DO_NOTHING, related_name="careers", null=True, blank=True)
team_old = models.CharField("Equipe", max_length=40, blank=True)
team_new = models.ForeignKey(
Team, on_delete=models.DO_NOTHING, related_name="careers", null=True, blank=True
)
role_old = models.CharField("Role", max_length=40, blank=True)
role_new = models.ForeignKey(
Role, on_delete=models.DO_NOTHING, related_name="careers", null=True, blank=True
)
level = models.CharField("Level", max_length=40, blank=True)
start_at = models.DateField("Start at", null=True, blank=True)
end_at = models.DateField("End at", null=True, blank=True)
Expand All @@ -500,10 +507,10 @@ class Meta:
verbose_name_plural = "Careers"

def __str__(self):
return f"{self.account.email} @{self.role}"
return f"{self.account.email} @{self.role_new.name}" if self.role_new else ""

def get_team(self):
return self.team
return self.team_new.name if self.team_new else ""

get_team.short_description = "Team"

Expand Down
3 changes: 3 additions & 0 deletions backend/apps/account/translation.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@

from .models import Account, Team, Role


class TeamTranslationOptions(TranslationOptions):
fields = ("name", "description")


class RoleTranslationOptions(TranslationOptions):
fields = ("name", "description")


class AccountTranslationOptions(TranslationOptions):
fields = ("description",)

Expand Down
3 changes: 2 additions & 1 deletion backend/apps/account_payment/webhooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,8 @@ def setup_intent_succeeded(event: Event, **kwargs):
return logger.info(f"Ignore setup intent from {backend_url}")

StripeCustomer.modify(
customer.id, invoice_settings={"default_payment_method": setup_intent.get("payment_method")}
customer.id,
invoice_settings={"default_payment_method": setup_intent.get("payment_method")},
)

subscriptions = StripeSubscription.list(customer=customer.id)
Expand Down
Loading
Loading