# Generated by Django 4.2.11 on 2025-01-19 22:13

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('employee', '0001_initial'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('base', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='MailAutomation',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Created At')),
                ('is_active', models.BooleanField(default=True, verbose_name='Is Active')),
                ('title', models.CharField(max_length=256, unique=True)),
                ('method_title', models.CharField(editable=False, max_length=50)),
                ('model', models.CharField(choices=[('base.models.RotatingWorkType', 'RotatingWorkType'), ('base.models.RotatingWorkTypeAssign', 'RotatingWorkTypeAssign'), ('base.models.RotatingShift', 'RotatingShift'), ('base.models.RotatingShiftAssign', 'RotatingShiftAssign'), ('base.models.WorkTypeRequest', 'WorkTypeRequest'), ('base.models.WorkTypeRequestComment', 'WorkTypeRequestComment'), ('base.models.ShiftRequest', 'ShiftRequest'), ('base.models.ShiftRequest', 'ShiftRequest'), ('base.models.ShiftRequestComment', 'ShiftRequestComment'), ('base.models.Announcement', 'Announcement'), ('base.models.AnnouncementComment', 'AnnouncementComment'), ('base.models.DashboardEmployeeCharts', 'DashboardEmployeeCharts'), ('base.models.PenaltyAccounts', 'PenaltyAccounts'), ('base.models.NotificationSound', 'NotificationSound'), ('employee.models.EmployeeWorkInformation', 'EmployeeWorkInformation'), ('employee.models.EmployeeWorkInformation', 'EmployeeWorkInformation'), ('employee.models.EmployeeBankDetails', 'EmployeeBankDetails'), ('employee.models.EmployeeNote', 'EmployeeNote'), ('employee.models.EmployeeNote', 'EmployeeNote'), ('employee.models.Policy', 'Policy'), ('employee.models.BonusPoint', 'BonusPoint'), ('employee.models.DisciplinaryAction', 'DisciplinaryAction'), ('recruitment.models.Recruitment', 'Recruitment'), ('recruitment.models.Stage', 'Stage'), ('recruitment.models.Candidate', 'Candidate'), ('recruitment.models.Candidate', 'Candidate'), ('recruitment.models.StageNote', 'StageNote'), ('recruitment.models.CandidateRating', 'CandidateRating'), ('recruitment.models.InterviewSchedule', 'InterviewSchedule'), ('leave.models.AvailableLeave', 'AvailableLeave'), ('leave.models.LeaveRequest', 'LeaveRequest'), ('leave.models.LeaveRequest', 'LeaveRequest'), ('leave.models.LeaverequestComment', 'LeaverequestComment'), ('leave.models.LeaveAllocationRequest', 'LeaveAllocationRequest'), ('leave.models.LeaveallocationrequestComment', 'LeaveallocationrequestComment'), ('leave.models.LeaveRequestConditionApproval', 'LeaveRequestConditionApproval'), ('leave.models.CompensatoryLeaveRequest', 'CompensatoryLeaveRequest'), ('leave.models.CompensatoryLeaverequestComment', 'CompensatoryLeaverequestComment'), ('pms.models.Objective', 'Objective'), ('pms.models.Objective', 'Objective'), ('pms.models.EmployeeObjective', 'EmployeeObjective'), ('pms.models.Comment', 'Comment'), ('pms.models.Feedback', 'Feedback'), ('pms.models.Feedback', 'Feedback'), ('pms.models.Feedback', 'Feedback'), ('pms.models.Feedback', 'Feedback'), ('pms.models.AnonymousFeedback', 'AnonymousFeedback'), ('pms.models.Answer', 'Answer'), ('pms.models.KeyResultFeedback', 'KeyResultFeedback'), ('pms.models.Meetings', 'Meetings'), ('pms.models.Meetings', 'Meetings'), ('pms.models.Meetings', 'Meetings'), ('pms.models.MeetingsAnswer', 'MeetingsAnswer'), ('pms.models.EmployeeBonusPoint', 'EmployeeBonusPoint'), ('onboarding.models.OnboardingStage', 'OnboardingStage'), ('onboarding.models.OnboardingTask', 'OnboardingTask'), ('asset.models.Asset', 'Asset'), ('asset.models.AssetAssignment', 'AssetAssignment'), ('asset.models.AssetAssignment', 'AssetAssignment'), ('asset.models.AssetRequest', 'AssetRequest'), ('attendance.models.AttendanceActivity', 'AttendanceActivity'), ('attendance.models.Attendance', 'Attendance'), ('attendance.models.AttendanceRequestComment', 'AttendanceRequestComment'), ('attendance.models.AttendanceOverTime', 'AttendanceOverTime'), ('attendance.models.AttendanceLateComeEarlyOut', 'AttendanceLateComeEarlyOut'), ('attendance.models.PenaltyAccount', 'PenaltyAccount'), ('attendance.models.WorkRecords', 'WorkRecords'), ('payroll.models.models.Contract', 'Contract'), ('payroll.models.models.WorkRecord', 'WorkRecord'), ('payroll.models.models.Allowance', 'Allowance'), ('payroll.models.models.Allowance', 'Allowance'), ('payroll.models.models.Deduction', 'Deduction'), ('payroll.models.models.Deduction', 'Deduction'), ('payroll.models.models.Payslip', 'Payslip'), ('payroll.models.models.LoanAccount', 'LoanAccount'), ('payroll.models.models.Reimbursement', 'Reimbursement'), ('payroll.models.models.Reimbursement', 'Reimbursement'), ('payroll.models.models.ReimbursementrequestComment', 'ReimbursementrequestComment'), ('accessibility.models.DefaultAccessibility', 'DefaultAccessibility'), ('horilla_documents.models.DocumentRequest', 'DocumentRequest'), ('horilla_documents.models.Document', 'Document'), ('horilla_automations.models.MailAutomation', 'MailAutomation'), ('biometric.models.BiometricEmployees', 'BiometricEmployees'), ('helpdesk.models.DepartmentManager', 'DepartmentManager'), ('helpdesk.models.Ticket', 'Ticket'), ('helpdesk.models.Ticket', 'Ticket'), ('helpdesk.models.ClaimRequest', 'ClaimRequest'), ('helpdesk.models.Comment', 'Comment'), ('offboarding.models.Offboarding', 'Offboarding'), ('offboarding.models.OffboardingStage', 'OffboardingStage'), ('offboarding.models.OffboardingEmployee', 'OffboardingEmployee'), ('offboarding.models.ResignationLetter', 'ResignationLetter'), ('offboarding.models.OffboardingTask', 'OffboardingTask'), ('offboarding.models.OffboardingNote', 'OffboardingNote'), ('django.contrib.auth.models.User', 'User'), ('recruitment.models.HistoricalCandidate', 'HistoricalCandidate'), ('recruitment.models.RejectedCandidate', 'RejectedCandidate'), ('recruitment.models.StageNote', 'StageNote'), ('recruitment.models.RecruitmentSurveyAnswer', 'RecruitmentSurveyAnswer'), ('recruitment.models.SkillZoneCandidate', 'SkillZoneCandidate'), ('recruitment.models.CandidateRating', 'CandidateRating'), ('recruitment.models.InterviewSchedule', 'InterviewSchedule'), ('recruitment.models.CandidateDocumentRequest', 'CandidateDocumentRequest'), ('recruitment.models.CandidateDocument', 'CandidateDocument'), ('onboarding.models.OnboardingTask', 'OnboardingTask'), ('onboarding.models.CandidateStage', 'CandidateStage'), ('onboarding.models.CandidateTask', 'CandidateTask'), ('onboarding.models.OnboardingPortal', 'OnboardingPortal'), ('auditlog.models.LogEntry', 'LogEntry'), ('employee.models.Employee', 'Employee')], max_length=100)),
                ('mail_to', models.TextField(verbose_name='Mail to')),
                ('mail_details', models.CharField(help_text='Fill mail template details(reciever/instance, `self` will be the person who trigger the automation)', max_length=250)),
                ('mail_detail_choice', models.TextField(default='', editable=False)),
                ('trigger', models.CharField(choices=[('on_create', 'On Create'), ('on_update', 'On Update'), ('on_delete', 'On Delete')], max_length=10)),
                ('condition_html', models.TextField(editable=False, null=True)),
                ('condition_querystring', models.TextField(editable=False, null=True)),
                ('condition', models.TextField()),
                ('also_sent_to', models.ManyToManyField(blank=True, to='employee.employee', verbose_name='Also Send to')),
                ('created_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Created By')),
                ('mail_template', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='base.horillamailtemplate')),
                ('modified_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_modified_by', to=settings.AUTH_USER_MODEL, verbose_name='Modified By')),
                ('template_attachments', models.ManyToManyField(blank=True, related_name='template_attachment', to='base.horillamailtemplate')),
            ],
            options={
                'abstract': False,
            },
        ),
    ]
