Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #749

Merged
merged 12 commits into from
Feb 5, 2025
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