Revision be7b2729

b/snf-astakos-app/docs/projects_specs.rst
140 140
    *a unique serial number identifying the project*
141 141

  
142 142
``application``
143
    *the last application that was successfully synchronized with Quotaholder.*
144

  
145
``last_application_approved``
143 146
    *the application which has created or modified the project.
144
    An application is approved by setting it to this attribute.*
147
    An application is approved by setting it to this attribute.
145 148

  
146
``last_application_synced``
147
    *the last application that was successfully synchronized with Quotaholder.
148 149
    Normally, this is the same as the ``application`` above.
149
    However, on approval, only ``application`` is set
150
    However, on approval, only ``last_application_approved`` is set
150 151
    so the two attributes differ, marking the project as pending definition
151 152
    synchronization. Upon successful synchronization with Quotaholder,
152
    ``last_application_synced`` is also set,
153
    marking the project definition synchronized.
153
    ``application`` is also set, marking the project definition synchronized.
154 154
    Note that if during the synchronization another approval
155
    updates ``application``, then after synchronization the project
156
    is still out of sync, and needs another loop.*
155
    updates ``last_application_approved``, then after synchronization
156
    the project is still out of sync, and needs another loop.*
157 157

  
158 158
``creation_date``
159 159
    *when the project was created (i.e. was first approved)*
......
244 244
    can be either **synchronized** or **unsyncrhonized**.
245 245

  
246 246
    An alive project is declared synchronized by setting
247
    ``last_application_synced`` to be equal to the ``application``,
247
    ``application`` to be equal to ``last_application_approved``,
248 248
    and setting ``membership_dirty`` to false,
249 249

  
250 250
    Semantically, the project becomes synchronized when its application
......
258 258
    In general, also considering projects under termination,
259 259
    a project is declared synchronized if and only if:
260 260

  
261
    - ``last_application_synced`` equals ``application``
261
    - ``last_application_approved`` equals ``application``
262 262
    - ``membership_dirty`` is false
263 263
    - ``termination_start_date`` is null or ``termination_date`` is set
264 264

  
......
302 302
    via a follow up application.
303 303

  
304 304
    If the precursor of an application is not associated with a project
305
    (i.e. no project references it as its defining ``application``),
305
    (i.e. no project references it as its defining ``last_application_approved``),
306 306
    then a new project entry is created and initialized.
307 307

  
308 308
    If the precursor of an application *is* associated with a valid project,

Also available in: Unified diff