ó
º9—^c           @   s¢   d  d l  m Z d  d l m Z m Z d  d l m Z d d l m	 Z	 d d l
 m Z e j e d j d ƒ Œ  Z d	 e j f d
 „  ƒ  YZ e j j e	 e ƒ d S(   iÿÿÿÿ(   t   apps(   t   admint   messages(   t   ugettext_lazyi   (   t	   FCMDevice(   t   FCM_DJANGO_SETTINGSt
   USER_MODELt   .t   DeviceAdminc           B   sí   e  Z d Z d Z d Z d Z e e d ƒ rF d d d e j f Z	 n d  Z	 e
 e
 d „ Z d „  Z e d ƒ e _ d „  Z e d ƒ e _ d „  Z e d ƒ e _ d „  Z e d ƒ e _ d „  Z e d ƒ e _ d „  Z e d ƒ e _ RS(!   t   __str__t	   device_idt   namet   typet   usert   activet   date_createdt   send_messaget   send_bulk_messaget   send_data_messaget   send_bulk_data_messaget   enablet   disablet   USERNAME_FIELDs   user__%sc         C   se  g  } g  } d } xØ | D]Ð } | rb | rG | j  d i d d 6ƒ }	 qœ | j  d d d d ƒ }	 n: | r„ | j  d i d d 6ƒ }	 n | j  d d d d	 ƒ }	 |	 r² | j |	 ƒ n  t |	 d
 ƒ }
 | |
 7} | j t |	 ƒ ƒ | r Pq q W| r/| rt d | ƒ } n t d | ƒ } |  j | | ƒ n  | d k ra|  j | t d | ƒ d t j ƒn  d S(   sm   
        Provides error handling for DeviceAdmin send_message and
        send_bulk_message methods.
        i    t   datat   Mariot   Nickt   titles   Test notificationt   bodys   Test bulk notifications   Test single notificationt   failures   Some messages were sent: %ss   All messages were sent: %ssA   Some messages failed to send. %d devices were marked as inactive.t   levelN(   R   t   appendt   intt   strt   _t   message_userR   t   WARNING(   t   selft   requestt   querysett   bulkR   t   rett   errorst   total_failuret   devicet   responseR   t   msg(    (    s2   /tmp/pip-unpacked-wheel-zRhu6W/fcm_django/admin.pyt   send_messages   sD    				

c         C   s   |  j  | | ƒ d  S(   N(   R.   (   R$   R%   R&   (    (    s2   /tmp/pip-unpacked-wheel-zRhu6W/fcm_django/admin.pyR   M   s    s   Send test notificationc         C   s   |  j  | | t ƒ d  S(   N(   R.   t   True(   R$   R%   R&   (    (    s2   /tmp/pip-unpacked-wheel-zRhu6W/fcm_django/admin.pyR   R   s    s   Send test notification in bulkc         C   s   |  j  | | t t ƒ d  S(   N(   R.   t   FalseR/   (   R$   R%   R&   (    (    s2   /tmp/pip-unpacked-wheel-zRhu6W/fcm_django/admin.pyR   W   s    s   Send test data messagec         C   s   |  j  | | t t ƒ d  S(   N(   R.   R/   (   R$   R%   R&   (    (    s2   /tmp/pip-unpacked-wheel-zRhu6W/fcm_django/admin.pyR   \   s    s   Send test data message in bulkc         C   s   | j  d t ƒ d  S(   NR   (   t   updateR/   (   R$   R%   R&   (    (    s2   /tmp/pip-unpacked-wheel-zRhu6W/fcm_django/admin.pyR   b   s    s   Enable selected devicesc         C   s   | j  d t ƒ d  S(   NR   (   R1   R0   (   R$   R%   R&   (    (    s2   /tmp/pip-unpacked-wheel-zRhu6W/fcm_django/admin.pyR   g   s    s   Disable selected devices(   R	   R
   R   R   R   R   R   (   R   (   R   R   R   R   R   R   (   R   (   R   R
   (   t   __name__t
   __module__t   list_displayt   list_filtert   actionst   raw_id_fieldst   hasattrt   UserR   t   search_fieldsR0   R.   R   R!   t   short_descriptionR   R   R   R   R   (    (    (    s2   /tmp/pip-unpacked-wheel-zRhu6W/fcm_django/admin.pyR   
   s.     5						N(   t   django.appsR    t   django.contribR   R   t   django.utils.translationR   R!   t   modelsR   t   settingsR   t   SETTINGSt	   get_modelt   splitR9   t
   ModelAdminR   t   sitet   register(    (    (    s2   /tmp/pip-unpacked-wheel-zRhu6W/fcm_django/admin.pyt   <module>   s   c