| Server IP : 65.108.144.40 / Your IP : 216.73.217.165 Web Server : Apache/2.4.52 (Ubuntu) System : Linux ubuntu-8gb-hel1-1 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64 User : dev ( 1000) PHP Version : 8.2.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/erp/base/__pycache__/ |
Upload File : |
o
hͦh�4 � @ s� d Z ddlZddlmZmZ ddlmZ ddlmZ ddlm Z m
Z
mZ ddlm
Z
ddlmZ dd lmZmZ dd
lmZ ddlmZ ddlmZmZ dd
lmZmZ ddlmZm Z m!Z!m"Z" ddl#m$Z$ ddl%m&Z&m'Z'm(Z( ddl)m*Z* e'e&dd� ��Z+e'e&dd� ��Z,e'e&dd� ��Z-e'e&dd� ��Z.e'e&dd� ��Z/e'e&dd� ��Z0e'e&dd� ��Z1e'e&d%d d!���Z2e'e&e(d"�d#d$� ���Z3dS )&zV
Module for managing announcements, including creation, updates, comments, and views.
� N)�datetime� timedelta)�messages)�User)� EmptyPage�PageNotAnInteger� Paginator)�Q)�HttpResponse)�redirect�render)�reverse)�gettext_lazy)�AnnouncementCommentForm�AnnouncementForm)�closest_numbers�filter_own_records)�Announcement�AnnouncementComment�AnnouncementExpire�AnnouncementView)�Employee)�hx_request_required�login_required�permission_required)�notifyc C s
t jjddd��� pd}tj�� }g }|jdd�D ]}|jt|d� |_ |�
|� q|r4tj�|dg� |jt�
� �� d�}| j�d �rG|}n|�t| jjd
�tdd�B �}|�d��d
�}|D ]}|jj| jdd��� |_q`t�dd� |D ��}|||d�}t| d|�S )N�daysT)�flat� )�expire_date__isnull)r �expire_date)�expire_date__gte�base.view_announcement)� employees)�employees__isnull�announcementview_set�-created_at)�user�viewedc S s g | ]}|j �qS � ��id)�.0�instancer) r) �!/var/www/erp/base/announcement.py�
<listcomp>@ s z%announcement_list.<locals>.<listcomp>)�
announcements�general_expire_date�instance_idsz$announcement/announcements_list.html)r �objects�values_list�firstr �all�filter�
created_atr r �append�bulk_updater �today�dater'